Aggregation rule ignored for Logical sources
Hi,
We are using materialized views as logical sources for our logical tables. These logical sources contain aggregated data at higher level for dimensions. However, we have a logical source at the most detailed level for the dimensions.
Problem: We OBIEE hits the correct logical source based on dimensions selected in answers, it does not apply the default aggregation rule.
For instance, if a measure has aggregation as AVG, then when the logical sources corresponding to aggregated tables are queried, OBIEE does not apply AVG function. However, it does apply the aggregation rule when it uses the logical source at the most detailed level.
I have specified the aggregation content properly for every dimension.
Any pointers to debug the issue will be helpful.
Thanks,
Click on LTS of Table - Column Mapping - Select the logical column - click on expression - Put your logic here. You will get Aggregation rule is enalbed for the column.
Why ? -- Reason could be nested aggregation is not allowed. Aggregation on the normal column applied during query generation at run time. If you use that Agg.Measure to derive another Agg.measure server could not recognize it during runtime.
Similar Messages
-
10G aggregation rule confusion
I am confusing aggregation rule in pivot table view. What dose it control? Grand total or all the columns value?
For example:
When I drag Year, Month, Sales columns into the criteria area and make use of pivot table to generate report , I use aggregation rule "Count" for sales, then click Grand total button to see the result ,the result will be correct. However, when I create new pivot view named pivot 2 based on these columns and drag "Month" into the exclude area, then select "Count" rule to view the data, you can find all the columns that be counted. Why?
Pivot 1:
Year ----Month ----Sales
2011-----201101---100
2011-----201102---200
2012----201201-----300
2012----201202-----400
Grand total-----------4
Pivot2:
Year----Sales
2011-----2
2012-----2
Grand------4Hi Kobe,
check this for purpose of Aggregation rule in the Pivot table.
http://obiee101.blogspot.com/2009/01/obiee-creating-yamazumi-graph.html -
Aggregation rule in Logical table source
hi all,
please help me about aggregation rule in logical table source. why,when and how they are used.
thank you.
Regards,
Imtiaz
BI Trainee.Check page no 115, for explanation
http://download.oracle.com/docs/cd/E10415_01/doc/bi.1013/b31770.pdf
save this PDF file, as it helps you in understanding every thing related to RPD developement. -
Model uses wrong logical source for aggregation
Hi all,
i faced with problem when my model uses the wrong logical source to display pre-aggregated data. I have 5 logical sources with pre-aggregtaed data for my fact table and use two dimensions for mapping these sources:
Dimension "Geography": Country->State
Dimension "Periods": Year->Quarter->Month->Day
source 1 (most derailed) - mapped to levels: DAY, STATE
source 2 - mapped to DAY, COUNTRY
source 3 - mapped to MONTH, STATE
source 4 - mapped to MONTH (only this level)
source 5 - mapped to MONTH, COUNTRY
When i run my request - measure by DAY - it uses source 2, instead of using source 1 as i supposed. Can anybody explain me why?
BR,
AlexWhat am i understanding from here is BI server decided on the best way to get the job done. You are having day at source 1 and source 2. But source 2 is aggregated at higher level than the source 1 with respect to region dimension. So as a matter of fact the best source for day is source 2.
-
Aggregation tab disabled for fx logical columns
Hello, I am new to OBIEE. Can somebody please help me understand the folowing -
Query - While defining formula column in BMM whenver we use logical column as source why Aggregation Rule tab gets disable?
How can i apply aggregation rule for such columns at RPD. These columns are recognised by icon fx.
Please find attached screenshot to help understand my question.
[https://picasaweb.google.com/105903262683032369187/OBIEE?authkey=Gv1sRgCPW2qu2x8eKdjgE]
Any help is greatly appreciated.
Thanks
Edited by: 930542 on Jun 22, 2012 10:03 PMClick on LTS of Table - Column Mapping - Select the logical column - click on expression - Put your logic here. You will get Aggregation rule is enalbed for the column.
Why ? -- Reason could be nested aggregation is not allowed. Aggregation on the normal column applied during query generation at run time. If you use that Agg.Measure to derive another Agg.measure server could not recognize it during runtime. -
Aggregation rules for calculations
Hi
I have a calculation (logical column) Z as X*Y and I want Z to be an average at different levels in hierachy. How do I do it in OBIEE?Hi Siddharth,
Specifying Aggregation rule for a column in Admin Tool and applying Formula for a column in Answers work differently.
We usually specify Aggregation rule in Admin tool to implement the calculation measures. So, it will be used along with the logical levels.
Where as specifying Formula for a column in Answers works for that particular Request only..
Comes to its Significance...
Take the general example... Sales by Country, Region, District and City
To calculate the total sales Country, Region, District and City wise we specify aggregation rule as SUM for the Amount column..
In order to calculate the logical level wise details we use Aggregations..i.e., Measures..
For last question, is your saying the use of 'Use Existing Logical columns as the Source'..
In this case, I think it is not possible to specify the Aggregation rule in Admin tool.
-Vency -
How to set Grand Total of a Measure when its aggregation rule is Max in Logical Layer
Hi
I have a Measure Column (Budget) and in Logical layer the aggregation rule is set as (Max) which looks like Max(Budget). But now it is included in the report and when my client is trying to see its grand total, it is giving the Max Budget figure of the report rather than giving the total sum(grand total).
Kindly share some ideas in achieving the grand total without disturbing the actual aggregation of the measure.Thank You for your reply.
In my case i don't have a problem with aggregation for Budget Measure(max(Fact_XXKC_SHIP_TO_BUDGET_CAT_F.SALESREP_BUDGET_YTD)). This is the aggregation rule applied on the Salesrep Budget YTD.
Now i created a report with columns
Salesrepresntative(Dimension),, Sales Invoices(Measure1),, SALESREP_BUDGET_YTD(Measure 2).
In the above report the values are perfect, but when we used Grand total option at ROW level in table view, the grand total of Measure1 is cumulative of all the rows, but the Grand total of SALESREP_BUDGET_YTD (measure2) is the max of all the columns.
What i require is the Grand total of SALESREP_BUDGET_YTD (measure 2) should be cumulative of all the columns.
I have shared my SQL query, kindly verify it and share any idea.
select sum(case when T97600.W_XACT_TYPE_CODE = 'Chargeback' then T93664.NET_AMT * T93664.GLOBAL1_EXCHANGE_RATE end ) as c1,
sum(case when T97600.W_XACT_TYPE_CODE = 'Credit Memo' then T93664.NET_AMT * T93664.GLOBAL1_EXCHANGE_RATE end ) as c2,
sum(case when T97600.W_XACT_TYPE_CODE = 'Debit Memo' then T93664.NET_AMT * T93664.GLOBAL1_EXCHANGE_RATE end ) as c3,
sum(case when T97600.W_XACT_TYPE_CODE = 'Standard Invoice' then T93664.NET_AMT * T93664.GLOBAL1_EXCHANGE_RATE when T97600.W_XACT_TYPE_CODE = 'Invoice Cancellation' then T93664.NET_AMT * -1 * T93664.GLOBAL1_EXCHANGE_RATE end ) as c4,
T315597.XXKC_RESOURCE_NAME as c5
from
W_CUSTOMER_LOC_USE_D T315597 /* Dim_W_CUSTOMER_LOC_USE_D_Status */ ,
W_SALES_INVOICE_LINE_F T93664 /* Fact_W_SALES_INVOICE_LINE_F */ ,
W_XACT_TYPE_D T97600 /* Dim_W_XACT_TYPE_D_Sales_Ivclns */
where ( T93664.XACT_TYPE_WID = T97600.ROW_WID and T93664.DELETE_FLG = 'N' and T93664.XX_SHIP_TO_LOC_USE_WID = T315597.ROW_WID )
group by T315597.XXKC_RESOURCE_NAME
) D1 full outer join (select max(T313184.SALESREP_BUDGET_YTD) as c1,
T315597.XXKC_RESOURCE_NAME as c2
from
W_CUSTOMER_LOC_USE_D T315597 /* Dim_W_CUSTOMER_LOC_USE_D_Status */ ,
XXKC_SHIP_TO_BUDGET_CAT_F T313184 /* Fact_XXKC_SHIP_TO_BUDGET_CAT_F */
where ( T313184.SITE_USE_WID = T315597.ROW_WID )
group by T315597.XXKC_RESOURCE_NAME -
How to define an aggregation rule for a dimension based on bridge table?
Hello,
I need a solution for aggregating data correctly when using a dimension based on a set of dimensione tables containing a bridge table. Please find below a description of my business case and the OBIEE model which I’ve created thus far.
Business Case
The company involved wants to report on the number of support cases, the different types of actions that were taken and the people involved in those actions. One support case will undergo a number of actions (called ‘handelingen’) until it is closed. For each action at least one person is involved performing a specific role, but there can also be multiple persons involved with 1 action, each performing a different role for that action. This is the N : N part of the model.
The problem that I face is visible in the two pictures below:
http://i84.photobucket.com/albums/k24/The_Dutchman_2006/OBIEE/sample.png
As long as I don’t include anything from the Dimension Meelezer in my report, I get the correct number of handelingen (7). When I include the person (called ‘Meelezer’), the measuere per action is multiplied by the number of persons/roles involved with that action.
When I changed the Aggregation rule in the report column #Handelingen to ‘Server Complex Aggregate’ I do get the correct endtotal:
http://i84.photobucket.com/albums/k24/The_Dutchman_2006/OBIEE/sample2.png
I believe it should be possible to define in the repository a different aggregation rule for individual dimensions, but I’ve not been able to achieve this.
Explained below is what I have created in my Physical and Business Model & Mapping layers:
The Physical Model is built like this:
(This is just a small part of a much larger physical model, but I’ve only included the most relevant tables)
http://i84.photobucket.com/albums/k24/The_Dutchman_2006/OBIEE/PhysicalDiagram-1.png
The Fact table (ALS Feit Zaakverloop) contains FK’s for the action (FK_HANDELING, joined to ALS Dim Handeling), the date the action took place (FK_DATUM_ZAAKVERLOOP, joined to ALS Dim Datum Zaakverloop) and the uniqe group of people involved (FK_MEELEZERS, joined to ALS Groep Meelezers) and a measure column (SUM_HANDELINGEN) populated with the value ‘1’ for each row.
The Bridge table (ALS Brug Meelezer/Reden Meelezen) contains three FK’s: FK_GR_MEELEZERS (joined to ALS Groep Meelezers), FK_MEELEZER (joined to ALS Dim Functionaris) and FK_REDEN_MEELEZEN (joined to ALS Dim Reden Meelezen).
The Business Model
In the business model, the four physical tables for the N:N relation have been combined into one logical dimension table.
http://i84.photobucket.com/albums/k24/The_Dutchman_2006/OBIEE/BusinessModel-1.png
DIM Meelezer contains one LTS in which the four physical tables have been combined:
http://i84.photobucket.com/albums/k24/The_Dutchman_2006/OBIEE/LTS1.png
And all the required locical columns have been created:
http://i84.photobucket.com/albums/k24/The_Dutchman_2006/OBIEE/LTS2.png
DIM Meelezer has also been identified as a bridge table and a Business Key has been defined on a combination of the FK’s in the bridge table and business codes of the two dimension tables.
http://i84.photobucket.com/albums/k24/The_Dutchman_2006/OBIEE/BMDIM.png
Next a hierachy was created for Dim Meelezer:
http://i84.photobucket.com/albums/k24/The_Dutchman_2006/OBIEE/Hier.png
In Feit Zaakverloop, a measurement called ‘# Handelingen’ was created using SUM_HANDELINGEN, with an aggregation rule of SUM.
In the LTS of both the DIM Meelezer and Feit Zaakverloop, the Logical Content Levels have both been set to: LVL Detail – Meelezer.
Please provide suggestions that will NOT require changes to the physical datamodel as they would require too much time to achieve (or at leats would not be ready before my deadline.
Thanks!
Edited by: The_Dutchman on Dec 13, 2011 11:43 AMHmm, no replies yet...
Am I in 'uncharted territory' with this issue? -
Two physical logical source formulas for on logical column
I have two fact tables :
1. W_SERVICE_REQ_F(opened_dt_wid, assigned_dt_wid, closed_dt_wid, QUEUE_WID, SERVICE_REQ_WID): grain is one row per service request
2. W_SERVICE_REQ_DAY_A(DATE_WID, QUEUE_WID, NUM_OPENED, NUM_CLOSED, num_assigned)
The goal is to answer NUM_OPENED, NUM_CLOSED per queue in a day and be able to drill-down to those service requests.
Physical model:
Common_Date.row_wid = W_SERVICE_REQ_F (Opened_Dt).opened_dt_wid
Common_Date.row_wid = W_SERVICE_REQ_F (Closed_Dt).closed_dt_wid
Common_Date.row_wid = W_SERVICE_REQ_DAY_A.DATE_WID
Queue_d.row_wid = W_SERVICE_REQ_F.QUEUE_WID
Queue._drow_wid = W_SERVICE_REQ_DAY_A.QUEUE_WID
Service_req_d.row_wid = W_SERVICE_REQ_F.SERVICE_REQ_WID. (there is no join between Queue_d and Service_req_d)
BMM Fact and LTSs:
I have W_SERVICE_REQ_DAY_A, W_SERVICE_REQ_F (Opened_Dt), W_SERVICE_REQ_F (Closed_Dt) as LTSs of "Fact - Service Request" in that order.
BMM Fact logical columns (measures):
# Closed
# Opened
Question:
I want to configure each of the above logical column with two physical columns of different aggregate forumlas. (to ensure queries that dont need service req number hit a table) (similar to http://www.gerardnico.com/wiki/dat/obiee/fragmentationlevel_based).
SUM(W_SERVICE_REQ_DAY_A.NUM_CLOSED)
COUNT("W_SERVICE_REQ_F (Closed_Dt)".SERVICE_REQ_WID)
Can someone help in configuring one logical column with two physical column sources with different aggregate formulas?
This is what I tried:
In # Opened Properites->Data Type, mapped it to both W_SERVICE_REQ_F (Closed_Dt).ROW_WID and W_SERVICE_REQ_DAY_A.NUM_CLOSED
In # Opened Properties->Aggregation tab, selected 'Default aggregation rule' as Count Distinct. In the bottom, Logical table sources override as follows:
W_SERVICE_REQ_DAY_A : SUM("Fact - Service Request"."# Closed")
W_SERVICE_REQ_F : COUNT("Fact - Service Request"."# Closed")
Should it be done in a different way?
PS: OBIEE 10.1.3.4.
added OBIEE version: Feb 3, 2012 4:40 PMI have two fact tables :
1. W_SERVICE_REQ_F(opened_dt_wid, assigned_dt_wid, closed_dt_wid, QUEUE_WID, SERVICE_REQ_WID): grain is one row per service request
2. W_SERVICE_REQ_DAY_A(DATE_WID, QUEUE_WID, NUM_OPENED, NUM_CLOSED, num_assigned)
The goal is to answer NUM_OPENED, NUM_CLOSED per queue in a day and be able to drill-down to those service requests.
Physical model:
Common_Date.row_wid = W_SERVICE_REQ_F (Opened_Dt).opened_dt_wid
Common_Date.row_wid = W_SERVICE_REQ_F (Closed_Dt).closed_dt_wid
Common_Date.row_wid = W_SERVICE_REQ_DAY_A.DATE_WID
Queue_d.row_wid = W_SERVICE_REQ_F.QUEUE_WID
Queue._drow_wid = W_SERVICE_REQ_DAY_A.QUEUE_WID
Service_req_d.row_wid = W_SERVICE_REQ_F.SERVICE_REQ_WID. (there is no join between Queue_d and Service_req_d)
BMM Fact and LTSs:
I have W_SERVICE_REQ_DAY_A, W_SERVICE_REQ_F (Opened_Dt), W_SERVICE_REQ_F (Closed_Dt) as LTSs of "Fact - Service Request" in that order.
BMM Fact logical columns (measures):
# Closed
# Opened
Question:
I want to configure each of the above logical column with two physical columns of different aggregate forumlas. (to ensure queries that dont need service req number hit a table) (similar to http://www.gerardnico.com/wiki/dat/obiee/fragmentationlevel_based).
SUM(W_SERVICE_REQ_DAY_A.NUM_CLOSED)
COUNT("W_SERVICE_REQ_F (Closed_Dt)".SERVICE_REQ_WID)
Can someone help in configuring one logical column with two physical column sources with different aggregate formulas?
This is what I tried:
In # Opened Properites->Data Type, mapped it to both W_SERVICE_REQ_F (Closed_Dt).ROW_WID and W_SERVICE_REQ_DAY_A.NUM_CLOSED
In # Opened Properties->Aggregation tab, selected 'Default aggregation rule' as Count Distinct. In the bottom, Logical table sources override as follows:
W_SERVICE_REQ_DAY_A : SUM("Fact - Service Request"."# Closed")
W_SERVICE_REQ_F : COUNT("Fact - Service Request"."# Closed")
Should it be done in a different way?
PS: OBIEE 10.1.3.4.
added OBIEE version: Feb 3, 2012 4:40 PM -
Logical level for logical fact table sources
it is clear that for fact aggregates, we should use the Content tab of the Logical Table Source dialog to assign the correct logical level to each dimension.
question is : is it mandatory to assign even for non-aggregates fact tables the logical level for each dimension (which normally should be set to the most detailed level of each dimension) ? is it any known issue if "logical levels"in content tab are not set ?
the reason I'm asking this is a strange bug I have (I'm not going to discuss it here) and then only workaround seems to be NOT setting the logical levels (on content tab) for logical fact table sources.
thank you !If levels are not set: By default levels are considered as lowest level
It should not matter if you set or not
Generally we set for facts explicitly when we are using Aggregate tables.
Your current issue might be a case by case; I would suggest to check implicit fact, any table mapped to the source to force a join etc
Mark if helps
Let me know how it helps
Edited by: Srini VEERAVALLI on Feb 5, 2013 8:33 AM
Any updates on this?+_
Edited by: Srini VEERAVALLI on Feb 14, 2013 9:09 AM -
Table for Data source and Transfer rule mapping
Hi all,
Do we have any table where in we can know the different transfer rules(for different source systems) assigned to the same Data source.
thanks and regards,
Rk.thank you all,
the table RSDS does not have 3.x data sources, it has only 7.0 Data sources also it does not have the field mapping.
RSOSFIELDMAP and RSTSRULES have the field mapping of the datasources, do we have any similiar tables for 7.0 Datasources.
regards,
RK -
Substract as an aggregation rule for different level in a DIM ?!
Hi there..
I'm building a BI model based on financial transactions (incomes, expenses, etc..)
and my main problem is how to substract a measure, where the aggregation rule is set to SUM, for different levels in the "Account" dimension?
Example:
I have the "Account" dimension with the following hierarchy:
Account_ID / Account_name / Account_type / Account_total
And, lets say, 2 rows in it:
1.row in the "Account" dimension:
account_ID : 100
account_name : "Marketing expense"
account_type : "Variable expenses"
account_total : "Total profit" (total income - total Expenses)
2. row in the "Account" dimension:
account_ID : 200
account_name : "Financial incomes"
account_type : "Total incomes"
account_total : "Total profit" (total income - total Expenses)
"Total profit"
"Tot. incomes" "Tot. Expenses"
"Finan. incomes" "Market. expenses"
The fact table has just one measure: "Amount" and, of course, some foreign keys:
Account_ID -> "Account" dim
Organization_ID -> "Organization" dim
Date -> "Date" dim
Amount
The measure "Amount" in the fact table is positive both for expenses and incomes.
Now, what I'm trying to do is to sum up that measure on my top level in the "Account" dim.
At that level my report in Answers should substract "Total expenses" from "Total incomes"!
How can I do that?
thanks..
IvanSorry to pop the obvious question, but can't you model that nicely and put it into distinct columns?
If not, you can create derived measures on you fact using "case when" statements. One for the incomes with amount > 0 (or >=0 ...depends on where you want to have the 0's) and one for the expenses with amount < 0.
HTH,
Chris -
Transfer rules are missing for selected source system in BI content
Hi All!
The problem is: in BI content (Release 704, level 0003, SP SAPK-70403INBICONT) when I select needed source system (for example, A) only I can not find any transfer rules (0RPM area, 3.X transfer rules). When I select more than 1 source system (B, C..), I can see lot of different transfer rules for 0RPM area, but with assignment to another systems (B, C..). How can I get in Business Content transfer rules for data sources from needed source system (A)? Any help appreciated!
Regards, Iryna.Hi Rathy!
Thank you very much for your quick help! Usually I do the same. Now I faced with BI system, where data source were already activated in system A and replicated. I can see all needed active sata source un BI already. But I can not see transfer rules in content!
What you can advise?
Reagrds, Iryna. -
Transfer Rules for two Source System in Production
Hi All,
I have a question.
I have source system ECDCLNT230 (ECC Devlopment) which is connected to BIDCLNT200(BID Devlopment) I have two production source system ECPCLNT410 (ECP Pre Production Client) & ECPCLNT400 (ECP Production Client) which i want to connect with BIPCLNT400. when i transport my content from ECDCLNT230 to ECPCLNT410 and ECPCLNT400 , it works fine. i created 2 source system in BIPCLNT400 and replicated data source in to BIPCLNT400 so all data source has replicated.
Now when i transport the request from BIDCLNT200 to BIPCLNT400, i need two transfer rules, two transformation one for each source system. for that what kind of settings are required.
Thanks is advance.
Regards,
Komik ShahHi,
If I understand correctly, in your BW Production system, you want to connect / load data from your ECC Pre Production and Production system.
In this case, to automate the transport needed for changes of transfer rules for both source system, you will need to have two tranfer rules in your BW Dev. You can either create two source system in Dev pointing to the same ECC Dev system, or one to ECC Dev and the second to ECC QA. Use different name for this two source system.
In BW Production, you then then maintain the source system conversion of both source system.
Thanks. -
To refer logical source in update rules
Hi,
I wanted to find the logical source system using abap into my update rule, is it possible.
Help would be appreciated.
Thanks,
SDHi,
you have only to write something like this:
case sy-sysid.
* development system
when 'dev1'.
result = 'r3_dev'.
* test system
when 'test1'
result = 'r3_test'.
endcase.
dev1 and test 1 are your bi systems. When data comming from one source system you can use this code in each transformation.
Regards
Andreas
Maybe you are looking for
-
I want to add another ipod under my exticting I tunes. But want to set it up as a different account and user. Is this possible and how?
-
Problem with a variable in SQL Statement variable
Hello I am trying the following query. hstmt = DBActivateSQL(hdbc, "SELECT UserLevel FROM ClassUsers WHERE Password = "+ cadena +""); At this point I recieve this error: Operands of + have illegal types 'pointer to char' and 'pointer to char'. I have
-
Can't get "Edit Colors" to work in Illustrator CC
Hi. My boss just added Illustrator CC to my mac. I'm not sure why, but I can't get "Edit Colors" to work in Illustrator CC. When I select an object and try to reassign colors in the "Edit Colors" menu, the submenus are greyed out. It works fine on Il
-
How do I insert a logo in ALV using Function Modules?
hai ! i want to display the logo on the grid . can any one suggest me which function i should use? any help will be appreciated.
-
Hi. I need to change my Itunes country from Singapore to India. Can anyone suggest me how to do that?