As of December 1, 2020, Focal Point is retired and repurposed as a reference repository. We value the wealth of knowledge that's been shared here over the years. You'll continue to have access to this treasure trove of knowledge, for search purposes only.
Join the TIBCO Community TIBCO Community is a collaborative space for users to share knowledge and support one another in making the best use of TIBCO products and services. There are several TIBCO WebFOCUS resources in the community.
From the Home page, select Predict: WebFOCUS to view articles, questions, and trending articles.
Select Products from the top navigation bar, scroll, and then select the TIBCO WebFOCUS product page to view product overview, articles, and discussions.
Request access to the private WebFOCUS User Group (login required) to network with fellow members.
Former myibi community members should have received an email on 8/3/22 to activate their user accounts to join the community. Check your Spam folder for the email. Please get in touch with us at community@tibco.com for further assistance. Reference the community FAQ to learn more about the community.
Gud morning. In WebFocus,I have created a Master file in which Fact table FACT1 is joined with a dimension table DIM1 and through this dimension table, I have joined another Fact table FACT2.
Both the fact tables (FACT1 and FACT2) are referencing the same dimension table DIM1 now.
While reporting, in a single report, when I insert any attribute from DIM1 and a value from Fact1 and also a value from FACT2 tables, the values are getting multiplied. Why is it so?
My join conditions are correct and If I take an attribute from DIM1 and a value from any one of the fact table, my values are correct.
You seem to be doing an indirect JOIN from FACT1 to FACT2 via the DIM table, and unless you can guarantee that each record from FACT1 has one and only one matching record in FACT2, having a cartesian product is almost unavoidable and this is not a WebFOCUS issue, is just the natural behaviour of SQL.
As Waz and Tony A have pointed out, you have to be aware of the data you're dealing with.
Can you query the database tables directly via an SQL client? If so, try joining FACT1 to DIM1 to FACT2 directly in SQL and you'll likely see the very same results.
Another approach would be (if suitable to your business requirements) is to structure the joins as multi fact with shared dimensions (via a 2 root cluster master file, supported since 7704 ) so then you can create a report SUM fields from fact1 and fact2 BY+WHERE fields from the shared dimension
or you can create manually 2 queries and then MATCH or Join them: TABLE 1: join fact1+DIM table: SUM fields from fact1, BY+WHERE on Dimension table -> HOLD1
Table 2: join fact2+DIM table: SUM fields from fact2, BY+WHERE on Dimension table -> HOLD2
Join or Match HOLD1 or HOLD2 using the common fields from the Dimension table
If these are SQL database tables, turn SQL traces on - you will most likely get a "multiplicative effect" message which suggests there's something wrong with a JOIN.
Francis
Give me code, or give me retirement. In FOCUS since 1991
Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
I don't know where its documented, however in WF8 (8002+ )you can create sample data and a cluster master with multiple parent segments from the WFRS console->Applications -> new -> samples -> webfocus retail demo