RPD: Wrong Fact join when utilizing Level Based Measures (TOTAL Level)

I have 2 Facts and 3 Dimensions (Customer, Customer Emails, Time) being used in the RPD. The Dimensions are all set with TOTAL and DETAIL hierarchies.
Physical Layer:
Fact 1 joined to all 3 Dimensions
Fact 2 joined to all 3 Dimensions
Business Layer:
Fact 1 joined to all 3 Dimensions and Content Level set to DETAIL for all 3 Dimensions
Fact 2 joined to all 3 Dimensions and Content Level set to DETAIL for all 3 Dimensions
Metrics:
Fact 1 Metric: SUM set to TOTAL Level for Customer Emails Dimension
Fact 2 Metric: SUM set to TOTAL Level for Customer Emails Dimension
Issue:
I run a query pulling the metric from Fact 1 along with Dimension columns Email Address and Customer Name (2 Dimension Tables).
2 Physical queries are generated one against Fact 1 to get the Metric total by Customer. The 2nd query to get the Customer and Email Address that hits the Fact 2 table.
Expectation:
I would expect both queries from above to hit the SAME fact table (Fact 1). I understand the 2nd query would NOT contain the metric (Due to it set to TOTAL), but a relationship exists between the Fact 1 table and the Email Dimension, since the metric is pulled from this table I'd expect the Dimension value to be pulled from this table as well.
I look forward to any thoughts.

Merging Customer and Customer Email will not work as a Customer can have multiple Email Addresses and changes the grain of that Dimension (Customer Level).
Implicit fact would make no sense here, since each Fact has different sets of data.
The basic issue here is that we have a Customer Email table that is NOT at the grain of the Fact or even the Customer Dimension. I would have loved to snowflake off the Customer Email from the Customer Dim but then the metrics get inflated when returned and total on.
Hence we built the Email dimensions to join off the Fact and set all the metrics in each Fact (That joins to Customer) to TOTAL. So the metrics do not get inflated, the metrics repeat (Customer request) for each email per Customer.
I hope that clarifies.

Similar Messages

  • Level Based Measure and a column based on that

    Hello All,
    I need suggestions to implement the following requirement.
    1. No of orders stored in a fact table at day level
    2. No. of orders at month level should be calculated
    3. Depending on the count, each month would be assigned to a bucket.
    0-10 orders -> B1
    11-100 orders -> B2
    > 100 orders -> B3
    What I did in RPD
    1. fact joined to time dimension
    2. created a logical column: ORDER_COUNT: count(distinct order_number) iand set the level = month
    3. created a logical column: BUCKET: using the output of above logical column and CASE statement to implement the bucket rule.
    Now, when I run a report like this:
    Year; ORDER_COUNT; BUCKET
    Returns me 12 rows. Understood because ORDER_COUNT is a month level measure
    E.g.
    2011 5 B1
    2011 5 B1
    2011 15 B2
    2011 15 B2
    2011 5 B1
    2011 5 B1
    2011 15 B2
    2011 15 B2
    2011 5 B1
    2011 5 B1
    2011 15 B2
    2011 15 B2
    But as soon as I pull the BUCKET column as column heading in pivot table, it returns me only the 1st month row and changes the "BUCKET" value to B3.
    Looks like, it recalculates the bucket and sums up all 12 months orders and then applies the bucket rule.
    Like this -
    B3
    2011 5
    My expectation was something like this
    B1 B2 B3
    2011 30 90 0
    where 30 is the sum of the order_counts of all B1 months, <m>
    Ques:
    1. Is there a way I can avoid the recalculation of bucket information when the granularity/dimensionality changes in the report
    2. I read in the below link that if the grain of the report > grain of the level-based-measure then the output of the report is "not-deterministic"
    Am I hitting that scenario?
    [http://gerardnico.com/wiki/dat/obiee/measure_level_based]
    Any suggestion would be highly appreciated.
    I am using 11.1.1.6.2 version.
    Thanks & Regards
    Monika

    Hi ,
    If I understand your requirement  correctly , then you need currency Conversion.
    you can refer this links.
    http://consultingblogs.emc.com/christianwade/archive/2006/08/24/Currency-Conversion-in-Analysis-Services-2005.aspx
    http://www.ssas-info.com/analysis-services-faq/27-mdx/244-how-change-currency-symbol-based-on-selected-currency-dimension-member
    http://social.technet.microsoft.com/wiki/contents/articles/18672.currency-conversion-in-ssas-2012-multidimensional-tabular.aspx
    May I know , You Require all this using MDX and SSRS Parameter ?
    Thanks

  • OBIEE Multiple Facts With Level Based Measures

    Gurus,
    We have a requirement which we think complex to achieve at OBIEE level. Please help if anyone knows a solid solution for this problem.
    Orders, Shipments and Revenue are the fact tables and we have common dimensions like customer, product, time and others. For each fact table there is a corresponding dimension to store the non metric columns like Order Number and Shipment Number.
    Now the requirement from the customer is
    1. Need to see the Order Information completely even though he is looking at Shipment or Revenue data. Ideally, it is not mandatory for each order to have Shipment or Revenue. This is applicable for Shipment too, if the customer is looking at revenue and shipment data he needs see all the shipments including those that doesn't have any revenue.
    2. Non Confirming dimensions should not throw errors. This could be possible by using Level based measures.
    Please help with your thoughts here. Thanks in advance.
    Siva

    Hi,
    Create left outer join from Order Number to Revenue Fact and from Shipment Number to Revenue Fact.
    Now when you create a report you will get all Orders and Shipments.
    It will impact the performance of the reports though.
    or you can try creating a union report as
    Customer Order Number Shipment Number Revenue Quantity >>>>>>>> This will give you orders which have Revenue
    Union
    Customer Order Number Shipment Number 0 >>>>>>>> This will give all orders and shipments
    Hope this helps.
    Thanks

  • Comparing facts of different dimension levels - drilldown problem.

    With our customer, we do a lot of comparisons of sales budgets vs. actual sales. The sales budgets are given per month, like this:
    Sales budgets: Jan 09: 40,000 EUR, Feb 09: 45,000 EUR, Mar 09: 20,000 EUR... and so on.
    There is a time dimension (year -> quarter -> month -> day). Since BI does not seem to allow binding facts to other dimension levels than the lowest one (day in my example), I used a trick and modelled these sales budgets as a fact table: (expected sales, last_day_of_month)
    So I have this:
    Sales budgets: 01/31/09: 40,000 EUR, 02/28/09: 45,000 EUR... and so on.
    This way, I can connect both actual sales and sales budgets to the same time dimension. With this, I can create an answers report that compares the two facts easily.
    The problem is now that the customer wants to drill down. This is no problem with year->quarter->month. But then, BI naturally allows to drill further to day, and in this case, BI compares the sales budget of 01/31/09 with the sales on 01/31/09, producing wrong values.
    I either need a solution to prevent BI from drilling down from the month level in this special answer report, or maybe I am making an error with my modelling. Are there any ideas on how to do this better?

    Hi,
    I'd model the repository differently, by modeling the actual sales fact on the lowest day level, and sales budget fact on monthly level. That's how I've understood the data really is defined, right? (Lowest level physical time table you already have but for sales budget you need to create also a physical time table which is on the month level. First define the correct physical joins. Then define the logical table sources in the BM layer accordingly.) In order to be able show the sales budget together with lowest level you can create the sales budget measure as a level based measure (fix the measure to the level month in the column properties-->Level in the Administration tool).
    If you just want to prevent users from drilling-down on a specific dashboard report you can go to properties of the column(s) in that report and set the interaction type for both title and values to "No interaction" in the second tab of the properties menu in the front-end.
    Hope this helps!
    Cheers,
    Ilmari

  • Level based measure and AGO function

    Hi,
    I've a TIME fact table with a single dimension (TIME_DIM) and a single measure (WORK_DAY).
    WORK_DAY is 1 if the day is a working day, otherwise it is 0.
    This way I can get the number of working days by month, quarter and year.
    (TIME is a logical fact table. WORK_DAY is phsical stored inside the physical TIME_DIM).
    To have WORK_DAY work correctly when used with others fact tables, I've defined it as a level based measure, where all the dimensions are set to the "total" level, apart TIME_DIM.
    So far so good.
    Then I created a new calculated measure WORK_DAY_PREVIOUS_YEAR.
    I used the AGO function this way: AGO (TIME.WORK_DAY, TIME_HIERARCHY.YEAR, 1)
    No complains by OBIEE, but this column always returns 1...
    I've no trouble using level based measures.
    I've no trouble using AGO.
    But if I mix them together they no longer work.
    Do you experience this issue? Any workaround?
    I'm using OBIEE 11.1.1.5
    Regards,
    Corraod

    What is the month level key column functionality in your time dimension?
    it should be in format of yyyymm but not in just mm ..

  • My request shows a diff Fact table when new Dim columns added to OOB report

    Hi,
    I am facing this strange problem with the out-of-box BMM metadata mapping and report:
    The "Dim_W_GL_ACCOUNT_D" is joined to "Fact_W_GL_OTHER_F" and "Fact_W_GL_BALANCE_F" facts. Both these fact tables have a inner join to "Dim_W_GL_ACCOUNT_D". The change I have made in th BMM is - I added 2 new logical dimensions DimA and DimB and joined these to the above 2 fact tables.
    The O-O-Box "GL Account Balance" Report works fine which has 3 logical columns (GL Account Number, Financial Statement Item, GL Account Category) from the "Dim_W_GL_ACCOUNT_D" and 1 Fact column "Closing Amount" which points to the "Fact_W_GL_BALANCE_F"."BALANCE_GLOBAL1_AMT" fact.
    When I add 1 logical column each from my 2 new Dims I created, the report output shows the Fact column "Closing Amount" as $0.0. Upon investigating the log, the query shows it is using the "Fact_W_GL_OTHER_F" instead of "Fact_W_GL_BALANCE_F" fact which has the "Closing Amount" column. I am not sure how. When I drop the logical column "GL Account Number" and keep my 2 new logical columns in the request, the "Closing Amount" is shown correctly. I also saw there is a Dim Hierarchy for "GL Accounts" --- the "GL Account Number" is on a lower level than the "Financial Statement Item" and "GL Account Category" columns from the same logical dimension table which are 1 level higher.
    How do I make the request pull data at the "GL Account Number" level and still have the query fetch data from "Fact_W_GL_BALANCE_F"."BALANCE_GLOBAL1_AMT" (Closing Amount) with my 2 new logical columns included?
    Any help is appreciated. Thanks a bunch.

    I was able to fix the problem.

  • Question in Calclating Level based measure

    Hi all:
    I have a requirement, where I need to calculate a level based measure. Here is a thing though.
    Let me give you sample data.This is what the data in the table in database looks like
    company ||||account||||| product|||||subproduct||||||quantity||||||| amount
    http://i.imgur.com/1CfXd.png
    Amount column is at company-account-product combination level.. (It is loaded in the database table as same for each company-account-product combination. If you see the First image, amount is 100 for that company-accont- product combination level..
    Quantity is at sub product level...
    I need to display a report with these columns:
    Company||||| account|||||| product||||||||| subproduct||||||||| quantity||||||| amount|||||total quantity
    http://i.imgur.com/KLgBg.png
    The last column Total quantity should be at company-account-product combination level. Not at sub product level.
    see the above picture for detailed idea. Total quantity for first company-account-product combination is 5 and for the below one, its 10
    One thing is that I donot have Dimension tables for Account, product, company. They come from the fact itself.
    I guess level based measure will solve the problem. If so, how do I create a level based measure for Total Quantity column when there are no dimension tables?

    We got two types of grouping Logical level and column level
    We go for Logical level in most cases since we are going with default or defined dimension hierarchy for each logical table, we go with column level when you dont have hierarchy.
    See that can you go with column level using properties of measure
    General->Content-> choose column for 'Aggregate content, gorup by'
    Edited by: Srini VEERAVALLI on Dec 16, 2012 1:47 PM

  • Level Based Measure

    Hi,
    I have a situation, where I need to Push a metric in answers/ dashboard to RPD ( sum ( Dollars )/sum of ( Dollars by Month))
    My Fact table grain is Per month per account. I have a descreptive Field in fact table, ( Varchar(10) field) On which i need to get month level total, and %total for each description on in the RPD.
    I tried Creating degenerated Dim with fact table column, But i have lot of Cost on sql query. ( it is been running I did not see result so far :( (>5min ) I do not know even if I did in correct way.
    please help with any possible / easy way to handle this situation.
    and Please ask me if you need to know more on the issue. please help me.
    Thanks !!

    Hi Theleo,
    If I understand correctly, what you need here is a level based measure. My take on your requirement is as follows.
    1. Sum (Dollars) : This can be arrived at by simply using your measure. You might already have "Dollars" and the aggregation rule of "Sum" on it would do.
    2. Sum (Dollars by Month) :
         As per your description, the fact's grain is Month*Account. So, if you create a level based measure at [Month,Account] level, you would get sum[Dollars] for each account like "Account1"."Dollars", "Account2"."Dollars". However, you would like a sum of all these dollars for a particular month.
         So, instead go ahead and create a level based measure at the [parent to Account,Month] level.
         Say if your account hierarchy is like     Account Total-> Account, then level based measure at [Account Total, Month] is nothing but sum["Dollars"] by [Account1]+[Account2]+.... for a particular Month.
         You might have had no hierarchy in the Account dimension here, but still go ahead and create a logical hierarchy for the same in BMM(It helps and a best practice too ;))
    3. Sum(Dollars)/Sum(Dollars by Month) : Once you have a measure at step2, you can create another logical column for this calculation.
    I might not be pretty clear with the solution, but I hope you get it. Please do not hesitate to come back if you need any clarification.
    Hope this helps.
    Thank you,
    Dhar

  • Mixing level based measures issue

    Hi experts
    I have a geography dimension with the following hierarchy WW/Country/store.
    I created 2 level based measures using as source a measure called 'sales':
    level based measure 1: store sales share of WW (it shows for every store his contribution in the World Wide)
    level based measure 2: store sales share of country(it shows for every store his contribution in the country he belongs to)
    when I test the measures separately they are working perfectly:
    report 1: at country level
    country------------store name--------------level based measure 1
    country1----------store 1-------------------------------30%--------------/
    country1----------store 2-------------------------------30%--------------/
    country1----------store 3-------------------------------40%--------------/
    report 2: at WW level
    country------------store name--------------level based measure 2
    country1----------store 1-------------------------------2%--------------/
    country1----------store 2-------------------------------3%--------------/
    country1----------store 3-------------------------------4%--------------/
    country2----------store 1-------------------------------1%--------------/
    country2----------store 2-------------------------------2%--------------/
    country2----------store 3-------------------------------2%--------------/
    |
    |
    |
    |
    country10-------store5----------------------------------1%--------------/
    and the issue I have is when create the following report for a specific store
    country------------store name--------------level based measure 1--------------level based measure 2
    country1----------store 1-------------------------------30%---------------------------2%
    NULL----------------NULL---------------------------------NULL-------------------------NULL
    NULL----------------NULL---------------------------------NULL-------------------------NULL
    NULL----------------NULL---------------------------------NULL-------------------------NULL
    NULL----------------NULL---------------------------------NULL-------------------------NULL
    NULL----------------NULL---------------------------------NULL-------------------------NULL
    NULL----------------NULL---------------------------------NULL-------------------------NULL
    NULL----------------NULL---------------------------------NULL-------------------------NULL
    NULL----------------NULL---------------------------------NULL-------------------------NULL
    NULL----------------NULL---------------------------------NULL-------------------------NULL
    NULL----------------NULL---------------------------------NULL-------------------------NULL
    I have a set of empty rows :the number of the null lines is 10 which is the number of all the countries.
    Any one knows why he is adding those line and how can I avoid that.??
    Regards

    1) you have mixed the definitions of levelbasedmeasure1 and levelbasedmeasure1.
    2) make sure all the columns (other than measures) are from dimension tables. i.e. country, store ...etc should not be fact columns
    3) make sure you have the level based measures at proper level in the dimension heirarchy

  • Fact to Fact join in Obiee

    Hi
    I am new in OBIEE, I have an scenario where in we need to join two fact tables and the condition is F1.date is between F2.valid from date & F2.valid To date
    I have tried using confirm dimension. Is it possible to map such scenario in OBIEE 11g
    Thanks
    Sameer

    Hi Venkat,
    I am coming from the basics of a star schema here, so hope it helps
    What is a fact?
    A fact is something that has all measures which can be aggregated (Units, Dollars, # of Orders) etc with keys to different dimensions.
    What is a dimension?
    It is the context with which we understand/record/retrieve the measures in the fact. We understand "# of Orders" for a product/By a customer etc.
    So joining a dimension and a fact helps to answer the Who/What/When kind of business questions. Ex : Who bought these products? What was the product type? When these products were sold kind of...
    Now just imagine tying up fact to another fact. With this kind of model, you can never answer any business question.
    I have never tried joining a fact with another fact in OBI (But do not think it will allow it though :) )
    Hope I am clear.
    Thank you,
    Dhar

  • Level Based Measures

    Hi Experts,
    please clarify my doubts .
    1. I created 3 level based measures. Year level Revenue, Quarter level Revenue and Month level revenue. And I do have Revenue column which is not at any level.
    Report:
    I put "Date" , "Year based Revenue" , "Quarter based Revenue" and "Month based Revenue" in a report.
    Everything works fine.
    But when i add ' Revenue' Column (not specific to any level) to this report, all values of level based measures changes. Why does this happen. And how to overcome this?
    2. Also when i add columns from other dimensions(Like ProductName) , values of all these level based measures in previous report changes.
    My questioin is why do these fields change their values when someone else comes into picture.(Though they are called level based measures !)
    Is there any way to hold a particular value in a field no matter which ever field comes in a report?
    Thanks in Advance
    Jaan

    Hi Pramod,
    It's customary to award points to Nico for helping you with your question. Could you also set the thread to Answered so other users can take advantage of your work in case they have the same problem?
    Thanks!
    -Joe

  • Issue with Level-based measure at Year level

    Hello everyone,
    I am facing weird issue while using OBIEE 11g level-based measure at the Year level. I am creating a trend analysis report that are displaying Expense Accounts dimension with 6 levels and 2 measures: Expense YTD, and Expense Full Year measures
    The report has multiple rows with value "Others" in the 3rd level of the account dimension (Account Level 3) yet, they all have different IDs and associated with different parents (different Account Level 2 values)...
    When i displaying the Expense YTD measure only results are fine and everything is perfect, when selecting Expense Full Year measure, only the first occurrence of the value "Others" in 3rd level column is displayed and non of the remaining records appears...
    What makes my life worse is that i can't even see the log file of this query because an error occurs when trying to view the session log i.e. "No log file found"
    Please help, i am about to start the UAT phase of the current project and i am running out of time..
    Thanks
    Mohamed Adel

    Hi,
    Are you using presentation hierarchy?
    Refer below if same is followed-
    http://gerardnico.com/wiki/dat/obiee/hierarchy_level_based
    Hope this helped/ answered.
    Regards
    MuRam

  • How to include non-joining records from level one in the lowest level?

    As an example the dimension has three levels with data coming from three source tables. The relationships between these tables are zero to many. As a result of this e.g. there are records at the first level that do not join to the second table for level two, i.e. there is a customer entry but the customer has not acquired any products. However, we would like to see in the query for the lowest level also the customers that didn't acquire any products. They are there when there is no filter for the lowest level, but that returns duplicate data. I was hoping I could accomplish this by using outer joins when loading the dimension, but it loads the same as without the outer joins. Hopefully, this trivalized example describes what I am trying to accomplish.

    You won't be able to have a true "default" value in the various cascading levels, since there aren't default values in a dynamic cascading parameter.  That being said, I've created a sample report in Crystal Reports 2008 that has a Command-driven DCP with '*' values for the 2nd and 3rd levels of my 3-tier DCP and have accounted for them in the record selection criteria.  You can find the sample here at https://www.box.net/shared/mav5qp337j

  • Query regarding Level Based Measure on Reports

    Hi All,
    I am facing an issue in OBIEE while using aggregate measures.
    Scenario
    My Report has the following columns. There is security applied on the report ie an Employee who logs in gets to see only his/her data.
    1) Employee
    2) Month
    3) Monthly Sales
    4) Org Sales(Aggregate Sales at Organization Level)
    My Issue is that even when an Employee does not have any Monthly Sales for a Month (no entry for the employee in the dimension table)  it displays results for Org Sales. So I have a report that looks like given below.
    Please note - There is no entry for this employee in the Dimension table for this month.
    Employee
    Month 
    Monthly Sales 
    Org Sales
    12000
    I do not want the report to display any value when there is no monthly Sales for the Employee. From the back end, I can see that there are 2 separate queries generated for this report. 1 for the fetching the Monthly Sales for the Employee and 1 for fetching the Org Sales. If I apply a condition saying Employee IS NOT NULL, it gets applied on the first query.
    Is there some workaround to make sure that the report does not come up or show some message when Employee data is not returned by the first query
    Thanks
    X

    hi Devarasu,
    Thanks mate.
    I know how level based measure works.
    But in my case The Hierarchy is bit different The UDA is part of Product hierarchy but its not the Child of Subdivision,
    I think problem is occurring because of that only but i am not sure
    anyone have any idea about this kind of hierarchy and level based measures?
    Thanks

  • Howto create special level based measure

    Hi all
    I have a geography dimension :
    All
    -Region
    --coutry
    ---store
    I'm reporting the sales per year:
    I need to create a measure that able the user to display 'shareof sales' for every level in the hierarchy.
    In other words In need a logical column that allows the user to see :
    store sales /total of 'country sales '
    country sales /total of 'Region sales'
    Region sales/total of 'All sales'
    I created 3 level based measure with different levels for every one and calculate the 3 'shareof sales'.I had a correct result But the user wants to have only one logical column representing all the combinations and using different levels of the hierarchy as lowest level .
    Is it possible to create this kind of calculation?

    Thanks stijn
    Yes he wants "sales by store"/"total country sales" when a store is in the report and "sales by country"/"total region sales" when country is in the report, but he also wants to "sales by lowest level of detail" / "sales by lowest + 2 level of detail" when store is in the report and this using the same logical column.
    But how do you create a measure which is aggregated by the lowest +1 level of detail?
    No i didn't create this aggregation and I don't know if it's possible.so I don't realy have "sales by country"/"total region sales" when country is in the report.
    Do you know what I mean? So actually you want the BI Server to find out what the higher level in the hierarchy is. I'm not aware of a function which could do this.
    Actually as you said is their any way to make the server aware of this or every thing need to be decided in the repository before??
    Regards
    Edited by: aharrab_be on Jan 28, 2009 6:55 AM

Maybe you are looking for

  • Move a digital signature

    I have signed a document, in 3 locations and would need to move the signature. How can I select and move the signatures to the correct field? Most helpful thing I found was that I can clear them. Mac  Adobe Acobat X

  • Oracle repository in application server

    how to create the oracle repository in application server.

  • In SAP,  withholding  part of the tax amount can we retain 1%

    Is it possible in SAP to withhold part of the tax amount? Example An invoice of $100 + 13% tax = 113 Total before TAX  $100 Tax                          $ 13 Total after tax      $113 Is it possible to retain a 1% of the $13 ($0.13)?  if its possible

  • Context with counter mapping issue

    I need help with a mapping issue. I have a source document that has multiple line items which in turn contains multiple item texts.  This structure has been simplified below. Source Sample <DOCUMENT> ---<LINEITEM> <ITEMFIELD>itemfield</ITEMFIELD> <IT

  • Hyperlinks Don't Open New Window

    I've noticed that when someone includes a hyperlink in their post, clicking on it opens the link in the active window rather than launching a new window as in the past. Twas better, (IMMHO) the "old" way....