Few dimension values used in FACT tables.

Hello all,
We are trying to know if somebody faced this issue earlier. We have dimension tables containing 5 million records, but the fact table uses hardly 30k of these dimension values. The fact table contains 350 million records, so is there any way to improve the performance of the query in such a scenario, where hardly 20% of dimension values are actually used by the FACT tables.
Thanks and Regards,
Upendra

nilanjan chatterjee wrote:
Hi,
>
> The data for the parent members should be available in the SQL tables.
> For example, 2011.TOTAL is parent member. You should not have any data for this member in your database. If it is there, it might have come somehow (may be an import). But this is not right. You might want to remove these records. But be sure that you dont delete the records for the base level members.
>
> Hope this helps.
I guess you meant should not, right ?

Similar Messages

  • Same dimension in two different fact tables

    Hi,
    I have one same dimension in two different fact tables. I would like to know how BI server choose the fact table when I do a request in this dimension.
    I know that is always using the same fact table, but I would like to know why choose this table and not the other.
    Thanks

    Sorry,
    But it doesn't seem to me.
    I reorded the tables in the BMM layer and it continues to use the same table, regardless this table is in last.
    After, I droped that table in the BMM layer and it continued to use the same.
    Thanks for your reply

  • Conformed dimension and query multiple fact tables

    Hello,
    Please if someone can guide me on this requirement.
    Requirement - I have a conformed dimension D1 and two fact tables F1 and F2. Both fact tables have many columns so I cannot merge
    the two fact tables into one logical table. Currently both these fact tables have logical tables F1 and F2 respectively.
    As per design the conformed dimension is a simple logical table in the rpd and not a dimension.
    Can someone guide me how should i proceed so that i'll be able to fetch information from both the fact tables?
    Edited by: 930542 on Apr 26, 2012 12:28 PM

    Hi,
    Currently the dimension table is taken as a simple logical table in rpd as it does not have have any levels or hierarchy.
    Its a flat dimension. Can you guide me how can I implement a flat dimension in OBIEE? Because this dimension is taken as simple logical table
    I am not able to set appropriate level for fac tables. This dimension does not appear in the list of dimensions.

  • How can we know that size of dimension is more than fact table?

    how can we know that size of dimension is more than fact table?
    this was the question asked for me in interview

    Hi Reddy,
      This is common way finding the size of cube or dimensions or KF.
    Each keyfiure occupies 10 Bytes of memory
    Each Char occupies 6 Bytes of memory
    So in an Infocube the maximum number of fields are 256 out of which 233 keyfigure, 16 Dimesions and 6 special char.
    So The maximum capacity of a cube
    = 233(Key figure)10 + 16(Characteristics)6 + 6(Sp.Char)*6
    In general InfoCube size should not exceed 100 GB of data
    Hope it answer your question.
    Regards,
    Varun

  • Is that possible to build cube using STAGING FACT TABLE on Essbase ?????

    Is that possible to build cube using STAGING FACT TABLE on Essbase ?????
    If yes, kindly guide me to do ....
    Thanks in advance,
    Mehar

    I'm not sure what you are asking. IF you are asking if you can use a fact table as the source for buildnig an Essbase database, the answer is yes, from either SQL interface or Essbase Studio (or ODI or EIS). IF you are asking if you can use as relational staging table as an Essbase cube then no. If you can phrase the question differently or give an example of that you are trying to do, it might clarify what you are trying to do

  • Using 2 fact tables with different granularity against calendar dimension

    Hello gurus,
    I have a requirement to provide a report to show the consumption of available capacity per month and also YTD.
    I have two fact tables:
    Fact table ‘Capacity’ with columns:
    - Site_id
    - Month_id
    - Capacity
    Ie.
    001, 2010M01, 50
    001, 2010M02, 50
    001, 2010M12, 75
    002, 2010M01, 60
    002, 2010M02, 65
    002, 2010M12, 80
    Etc
    Fact table ‘Consumption’ with columns
    - Site_id
    - Day_id
    - Consumption
    Ie
    001, 20100101, 2
    001, 20100102, 3
    001, 20100131, 1
    001, 20100201, 5
    001, 20100212, 6
    001, 20100228, 4
    Etc
    As can be see above, my ‘Capacity’ table contains monthly volumes, and the ‘Cunsumption’ table contains daily volumes.
    My Calendar dimension is straightforward:
    Year
    Quarter_id
    Month_id
    Day_id
    Ie
    2010, 2010Q1, 2010M01, 20100101
    2010, 2010Q1, 2010M01, 20100102
    2010, 2010Q1, 2010M01, 20100103
    2010, 2010Q1, 2010M01, 20100104
    Etc
    The MfgSite dimension is also simple:
    Site_id
    Site_name
    Group
    These are the steps I have taken sofar:
    - Imported the four tables
    - Created following joins:
         MfgSite.Site_id = Capacity.Site_id
         MfgSite.Site_id = Consumption.Site_id
         Calendar.Month_id = Capacity.Month_id
         Calendar.Day_id = Consumption.Day_id
    - Created Business Model Diagram in BMM
    - Created Calendar hierachy:
         Year, Quarter, Month, Day
    - Created MfgSite hierarchy:
         Group, SiteName
    - Setup Logical Table Source / Content settings as follows:
         Fact table Capacity:
              Dimension MfgSite: Logical Level = Site
              Dimension Calendar: Logical Level = Month
         Fact table Consumption:
              Dimension MfgSite: Logical Level = Site
              Dimension Calendar: Logical Level = Day
    - Set Default Aggregation Rule to Sum on Logical Columns:
    Capacity.Capacity
    Consumption.Consumption
    - Created following YTD Logical Columns:
         YTDCapacity = TODATE(Capacity.Capacity, Calendar.Year)
         YTDConsumption = TODATE(Consumption.Consumption, Calendar.Year)
    - Created Presentaion layer
    I then built a few reports to test it out and found that I have an issue with the Capacity object: When I build a simple report to show capacity per month:
    SiteName, Month, Capacity
    the capacity for each month is multiplied by the number of calendardays in that months, so I get
    Site      Month      Capacity
    001      2010M01      1550 (= 31 x 50)
    001      2010M02     1400 (= 28 x 50)
    Etc
    In addition, when I add YTDCapacity to my report, the report fails with the following message:
    Unable to navigate requested expression: ToDate(Capacity:[DAggr(Capacity.Capacity by [ Calendar.Year, Calendar.Month_id, MfgSite.Site_id, MfgSite.SiteName] )], [Level Year]). Please fix the metadata consistency warnings. (HY000)
    Did I miss any steps? Any help is greatly appreciated!
    Thanks!
    Randall

    hi in the capacity fact table remove the level set for the calendar dim and see.

  • Problem using 2 Fact tables with the same dimension

    Hi,
    I have noticed a very strange behaviour in Presentation Services / BI Administrator. I have 2 cubes (created in OWB) which are in the same business model, they are set up with foreign keys etc. and works as they should using them separately. Problem is (sometimes!) when I want to use the common dimension (Project) against both of the fact tables (Sales Order and Purchase Order).
    Scenario 1:
    If I use Project Id, Purchase Amount, Sales Amount I get either an amount in Sales Amount or in Purchase Amount, BUT if the Project Id starts with a letter (not starting with a number) it will show the correct amount for both Sales- and Purchase Amount.
    Scenario 2:
    I use Project Description (even followed by Project Id or not), Sales Amount, Purchase Amount I get the correct numbers for all projects. Project Description must come before Project Id or else it will not work.
    I only noticed this problem when using both of the Fact tables since I want to compare Sales Amount and Purchase Amount in each Project. The Dimension for Project consist of Project, Sub Project and Activity and works fine. If I only use Sales Amount or Purchase Amount with Project Id I don't get this error. Only when both numbers are used.
    I would be very happy if anyone have a good solution/explanation to this problem! Seems like could be something in the BI Server memory that goes wrong somewhere.

    The strange thing is that the results from the queries are correct running them in SQL Developer. This is one that works:
    SELECT Project.Project saw_0, "- SalesOrderFact"."Sales Amount" saw_1, "- PurchaseOrderFact"."Purchase Amount" saw_2, REPORT_SUM(saw_1 BY ), REPORT_SUM(saw_2 BY ) FROM SalesOrder ORDER BY saw_0
    SALES ORDER:
    select T3032.PROJECT_DESCRIPTION as c1,
    sum(T161.SALES_AMOUNT_LOCAL) as c2
    from
    DIM_PROJECT_V T3032,
    CUBE_SALES_ORDER T161
    where ( T161.DIM_PROJECT = T3032.DIMENSION_KEY )
    group by T3032.PROJECT_DESCRIPTION
    order by c1
    PURCHASE_ORDER:
    select T3032.PROJECT_DESCRIPTION as c1,
    sum(T3020.TOTAL_BUY_AMOUNT) as c2
    from
    DIM_PROJECT_V T3032,
    CUBE_PURCH_ORDER T3020
    where ( T3020.DIM_PROJECT = T3032.DIMENSION_KEY )
    group by T3032.PROJECT_DESCRIPTION
    order by c1
    And this will give the wrong result in Answers (correct in SQL..):
    SELECT Project."Project Id" saw_0, "- SalesOrderFact"."Sales Amount" saw_1, "- PurchaseOrderFact"."Purchase Amount" saw_2, REPORT_SUM(saw_1 BY ), REPORT_SUM(saw_2 BY ) FROM SalesOrder ORDER BY saw_0
    SALES_ORDER:
    select T3032.PROJECT_KEY_NAME_ID as c1,
    sum(T161.SALES_AMOUNT_LOCAL) as c2
    from
    DIM_PROJECT_V T3032,
    CUBE_SALES_ORDER T161
    where ( T161.DIM_PROJECT = T3032.DIMENSION_KEY )
    group by T3032.PROJECT_KEY_NAME_ID
    order by c1
    PURCHASE_ORDER:
    select T3032.PROJECT_KEY_NAME_ID as c1,
    sum(T3020.TOTAL_BUY_AMOUNT) as c2
    from
    DIM_PROJECT_V T3032,
    CUBE_PURCH_ORDER T3020
    where ( T3020.DIM_PROJECT = T3032.DIMENSION_KEY )
    group by T3032.PROJECT_KEY_NAME_ID
    order by c1
    As you can see the SQL look very familiar, and I cannot see anything in SQL that should be the cause of this error. I think the error must be in the BI Memory or something.
    Any ideas?

  • Restricting the Prompt Values based on Fact table data

    Hi,
    We need dashboard prompts in OBIEE reports that will fetch data from dimension tables. Our all dimensions are conformed dimension having joined with multiple fact tables.
    Because prompts are showing data from dimension table, it is showing all dimension data and few data might not present in the particular fact table that we have used in the report.
    For Example:
    We have one Calendar dimension table that has 20 years data that means all dates. Now we have two fact tables Fact1 and Fact2.
    In Fact1 we have records related to only 2007 Years data. And In Fact2 We have 2008 years data.
    Now We are creating two separate reports in two separate page in one dashboard where the prompt is same. That is Calendar date prompt.
    So In report1, The prompt will be Calendare and Result will be from Fact1. But as the calendar prompt from Calendar dimension, it showing all 20 years data though only 2007 years data is valie.
    Similarly for Report2, It is showing all calendar dates in the prompt where Fact2 is having 2008 year data.
    I want to show only 2007 years dates in the prompt for Report1 and 2008 years dates for Report2. That means I want to restrict prompt values based on the fact.
    It will be great if someone can suggest on this.
    Regards,
    SS

    Hi, I have a similar problem.
    I have two dimensions: time and customer.
    The two dimensions are joined into two Fact Table (Order, Forecast).
    I created a dashboard prompt with two selections: the first is the Year (time dimension) and the second is the Region (customer dimension) with the option "cosntraint."
    When I select a Year, not all Regions are shown, but only those that are present in one of two fact table for the year chosen. Which fact table?
    What criteria will limit the values of the Region?
    Thanks

  • Distinct count of dimension business key in fact table

    In my cube I have a fact table which joins to a patient dimension.  The patient dimension is a type 2.  What I would like to do is get a distinct count of patients who have records in the fact table.   The business key in the patient dimension
    is the PrimaryMrn.  So a SQL query would look like this.
    SELECT count(distinct PrimaryMrn)
    FROM EncounterFact e
    INNER JOIN PatientDim p
    on e.PatientKey = p.PatientKey
    Is it possible to do this via MDX?
    Thanks for the help.

    If you have to distinct count an attribute in a SCD 2, you might choose between:
    Denormalizing that attribute in the fact table, and the create a classical DISTINCT COUNT measure
    Use a many-to-many approach - see the "Distinct Count" scenario in the Many-to-Many White paper here:
    http://www.sqlbi.com/articles/many2many (for both Multidimensional and Tabular
    If you use Tabular, you might want to read also this pattern:
    http://www.daxpatterns.com/distinct-count/
    Marco Russo http://www.sqlbi.com http://www.powerpivotworkshop.com http://sqlblog.com/blogs/marco_russo

  • How to use 2 Fact Tables

    Hello All,
    I have two fact tables in my data model but when I'm joining them using confirmed Dimension(Bridge Table) I'm finding error msg. Could you guide me the steps I should follow to implement more than one fact tables.
    -Rahul

    What error message(s) are you receiving?
    Also, are the 2 fact tables at the same grain?

  • Limiting Dimension Values to Dimension Values used on Specfic Day

    If I have a dimension with thousands of values. And within my cube, on a given day only a few of those dimension values are actually used. How can I limit the scope of my dimension values to be only the values that exist on that given day?

    You can check OLAP DML Programs chapter (chapter 4 in 11g doc set) in Oracle OLAP DML Reference document. It's part of the standard olap documentation.
    Also regd the parameterization question:
    The code as pasted below is already parameterized. By parameterization, do you mean something other than passing value from front-end to the back-end (database)?
    Typically the front end report/query will refer to a series of time dimension values -- say, 16-Jul-2012 to 22-Jul-2012 for time. The report would reference a measure with a formula referring to an olap dml program. This program is called repeatedly for each cell and the appropriate dimension member values are passed as input to the program.
    argument _tm time  <-- implies that the program accepts time dimension value (corresponding to a single cell) as input and works off the same in its calculation.
    limit time to _tm   <-- usually this is done within a tempstat context to make such changes temporary for calculation w/o affecting external time dimension status. This allows the program to set the context of calculation to current cell (say 18-Jul-2012)
    "hence what follows for the rest of the program acts on the restricted status in order to calculate the current cell's value corresponding to time dimension value = 18-Jul-2012.
    That's also why the same program can return a different value for each cell (different return value for 18-Jul-2012 compared to return value for 21-Jul-2012) although it's being looped over dimension status implicitly.
    HTH
    Shankar

  • Two Filter on Two dimensions without constraining the fact table

    Hi All,
    does anybody know how to avoid the fact constraint when creating a report with two filters on different dimensions?
    I have a big fact table with more than 10 Million rows. In the starmodel the is the dimension customer and products. I create a filter on the customer atrribute "Status" and choose the value "Active". Now I add the column "Product Type" from the dimension "Product" to the filter section. When I want to choose a value OBIEE executes a select statement within the fact table. So I have to wait very long to select a value. Is there any way to say OBIEE only to select the dimension table without joining the fact table?
    Thank you very much in Advance.
    Regards,
    Stefan

    Hi Stefan,
    Generally queries on the dimensions (across dimesions also) always go through a fact. In case, you would like the queries not be through fact table, but just the dimension tables right away, you can set up a separate subject area for them.
    You can create a separate subject area based on a dummy fact table to get these prompt values.
    Please refer to http://gerardnico.com/wiki/dat/obiee/presentation_service/obiee_parameter_prompt_subject_area for more details on this setup.
    Hope this helps.
    Thank you,
    Dhar

  • Measure value in intermediate fact table

    Hi I have a schenario where i have a measure in intermediate fact table ( in a many to many relation ship ) and i am not able to handle this.
    I have file summary fact that has file details - names , spaceGB , share details , cost per GB, Total cost of file ( SpaceGB * Cost per GB)
    Share dim that has regular relationship. 
    We have another mapping table (fact) that gives many to many relationship between Shares and Cost Center and there is a allocation percentage associates with a share across different costcenters
    Share        Costcenter          Allocation%
    Share 1     CostCeneter1      50%
    Share 1     CostCeneter2     50%
    everything works fine as long as i dont show allocation % how do i handle allocation % to get cost center cost.

    Hi Vin444,
    According to your description, there is a measure in intermediate fact table which you are not able to handle this in database level, now what you want is showing intermediate fact table measure value, rithg?
    As pey my understanding, you can join the tables based on the intermediate fact table on datasource view. A named query is a SQL expression represented as a table. In a named query, you can specify an SQL expression to select rows and columns returned from
    one or more tables in one or more data sources. So in your scenario, you can join the tables using named query instead of database level.
    http://msdn.microsoft.com/en-IN/library/ms175683.aspx
    http://msdn.microsoft.com/en-IN/library/ms174778.aspx
    If I have anything misunderstood, please point it out.
    Regards,
    Charlie Liao
    TechNet Community Support

  • Reg: Using Multiple fact tables in the RPD!

    Hello everyone,
    Can I get some help with the following scenario?
    We use OBIEE 11g.
    We have a report that uses only 1 fact table to retrieve the data and it takes hell lot of time to bring up the data in the report.
    My question here is is there a way to bring up the performance of the report if we split the data in 1 fact table to 2 fact tables and make the report use the 2 fact tables.
    Are there any other ways of tuning the report for better performance.
    Thanks for the help in advance!
    Ajay.

    Hi Ajay,
    Follow the following steps for the tuning;
    1. Try to tune the SQL query first generated by the report, and make necessary changes. (Put indexes on required column so that your query is scanning the index instead of entire table)
    2. You can try to create agg fact table and use the agg navigation for improving the performance. (Idea is to reduce the data set on which sql is fired)
    3. You can try to create partitions on the FACT table in the DB and so that required partitions are queried as per filters.
    4. In the Last if all the above doesn't tune your query you can try splitting the FACT table in to TWO or More as per your decision and then use fragmentation content in the BMM layer of the RPD so it will hit appropriate tables as per you report.
    Mark Correct/Helpful if it helps.
    Best of Luck,
    Kashi

  • Adding Dimension field ($) in measures (fact) table in logical layer

    Hi,
    I have a field (amount) in the dimension table. I would like to add this field in the fact table at the logical layer. Dimension table and fact table had physical joins. Can I add into fact table and still do aggregation on that field based on the other dimensions linked to fact table. I working on Siebel Analytics version 7.8. Any help would be greatly appreciated.
    Thanks in advance,
    RK

    Check here : How to create a measure from data that is stored in a dimension table
    http://gerardnico.com/wiki/dat/obiee/bi_server/design/fact_table/obiee_measures_dimension
    Cheers
    Nico

Maybe you are looking for