OWB Newbie - Joining Dimensions to Fact Tables

Hello Forum,
This may seem like a simple question, but the documentation is so lacking that I can't seem to find the answer to "how does the tool" work.
I am creating a simple data mart starting with a star schema and choosing a deployment option of ROLAP.
When using the OWB Tool to create dimensions and fact tables, do you need to define your primary business key (coming from your source system) in each fact table for each dimension that will join to that fact table? I am assuming yes, at least at the lowest leaf level of the dimension hierarchy in this case Store_ID. How else would you be able to correctly join a particular sales order record to the store that it was sold in? a simple query that we know our users will execute for reporting purposes. To make myself clear here is a simple example:
Dimension = Store
Hierarchy = Store ----> Sales Territory ---->Region ----->Country
Attributes = Store ID (primary business key), Store_Name, Sales_Territory_ID, Sales_Territory_Description, Store_Manager_Name, Store_Location etc.,
Cube or Fact Table = Sales Orders
Measures = sale_price, quantity, drop_ship_cost, sales_tax, etc.,
Do I also need to create an attribute for Store ID so that when I load each sales order record into the fact table along with it comes it's proper Store ID?
I understand how the tool uses the surrogate key and business identifier to create a foreign key look-up from dimension to fact table and pull in the correct store description (i.e. name) but unless you have the Store ID as part of the sales record being loaded into the fact table I don't see how the you can traverse the table and join a sales order to it's proper store?
Can someone who is farther along in the process or has more experience with other components of the tool confirm my assumption or set me straight on how the tool accomplishes this?
thanks
monalisa

Hi Monalisa, I'll reply assuming your using OWB 10gR2.
First off, for each of the dimensions, you'll define a business key (as you noted below). Then, when you define the cube object, you'll tell it which dimensions you are using, along with the measures you will be storing.
When you drop a "cube" object into a map, it will show the measures, but it will replace the dimensions with their natural keys. I.e. in your example below, if your sales order cube had ONLY the store dimension, then the cube object will show up in a mapping with the measures of sales_price, quantity, drop_ship_cost, etc., but instead of showing the dimension for store, it will instead show the natural key Store_ID. When you map your data to load (which should be by store_id), OWB will automagically look up the proper dimension keys and do everything else for you.
Hope this helps!
Scott

Similar Messages

  • How to join Dimensions and Fact Tables in OBIEE

    Hi All,
    I need to create report which need to get the information from two fact tables and 7 dimensions. The granularity is not same in both the fact tables. One fact table is having common keys between all the dimension tables and second fact table have only two dimension keys but with different names. My requirement is to create the report by taking the measures from both the fact tables.
    I have created joins between the second fact table and two dimension tables in physical and BMM layer and also set the highest level for all other dimension tables in the LTS of second fact table. when am creating report by taking the measures from both the fact tables, data is not getting for the measure which taken from the second fact table. Please advice me how to get the data for the measure which taken from the second fact table.
    Thanks in Advancec !!

    You have to use the level-base measure capabilities.
    http://gerardnico.com/wiki/dat/obiee/bi_server/design/fact_table/level_based_measure_calculations
    For all measures of the second fact table with the lowest grain (with two dimension keys), set for all dimension where you don't have any key the logical level to the "All" or "Total".
    And UNSET the highest level of the LTS for the second fact table.
    Success
    Nico

  • Multiple 'logical joins' between a fact table and one dimension table

    It appears that one cannot create multiple ‘logical joins’ between a fact table and one dimension table in OBIEE using the Oracle BI Administration Tool. For example, considering a Business Model with a dimension table TIMES and a fact table FACT containing START_TIME and END_TIME, we would like to create separate logical joins from FACT to TIMES for the START_TIMEs and END_TIMEs? Obviously, the underlying foreign keys can be created, but as far as I can tell the Oracle BI Administration Tool doesn’t support this. The workaround would be to replicate the TIMES table, but that’s ugly.
    I seek an alternative approach.

    Try this. Create an two aliases for the TIMES dimension (Start & End) in the Physical Layer and then remove foreign key to the "Parent" Times dimension. Create the Foreign Key in the Physical Layer to the new aliases and then create the complex joins in the BMM Layer to the new aliases as well. This will allow you to present both dates within the same table in the Presentation Layer. Not the most elegant solution but it works.

  • Partition Pruning - Dimension and FACT tables..

    Hi
    I have a DWH environment where we have partitioned the FACT table by a date column. This is RANGE partition. The TIME dimension table joins to the FACT table based on this date. However the end user queries will typically be fired using a different column in the time dimension that will hold more VIEWABLE date values (e.g.) in format MON-YYYY or YYYY-MM etc..
    The query is autogenerated by the viewer tool. The SQL has something like
    select sum(balance), MONTH from fact a, dim_time b
    where a.date = b.date and <-- this the partitioned key in fact
    b.month_year_col = 'Apr-2006' <-- Dimension filter.
    In the above case, Oracle is not doing PARTITION PRUNING. I have 24 period data and in the explain plan i can see it goes to the entire 24 periods. However if i change the query to
    select sum(balance), MONTH from fact a, dim_time b
    where a.date = b.date and <-- this the partitioned key in fact
    b.date = '31-Apr-2006' <-- Dimension filter.
    it does partition pruning. The explain plan shows that i goes to only one partition.
    Any help on this please. I would need the first query to use PARTITION PRUNING.
    Thanks
    bala

    Hi All
    Got it to work with these 3 parameters
    alter system set "_subquery_pruning_enabled" = true
    alter session set "_subquery_pruning_cost_factor"=1;
    alter session set "_subquery_pruning_reduction"=100;
    Thanks for all those who had a look into my question.
    Regards
    bala

  • Joining bridge ,dim,fact table

    Hi
    I have scenario where I have a bridge table,dimension table,and 2 fact tables.
    The dimension table is a common table for both fact tables.
    The bridge table contains the dimension tables Primary key.
    The bridge is also having an other dimension table PK, but that table is not joined to any fact table.
    Now I have a req where I have to get a column from bridge table and fact2 tables.
    Individually when I pull those columns I am getting data.
    When I pull those 2 columns together , getting " the specified criteria dint result in any data".
    Tried changing joins in RPD nothing worked.please help me , this is very urgent.
    In SQL developer when I joined bridge and fact or dimension and bridge I am able to get expected results.
    Thanks
    Sr

    Hi Suyog,
    Run this Program  in SE38   SAP_INFOCUBE_DESIGNS .
    This gives the Ratio aswell number of records.And also Dimension Mismatch.
    Rgds
    SVU

  • Foreign keys in SCD2 dimensions and fact tables in data warehouse

    Hello.
    I have datawarehouse in snowflake schema. All dimensions are SCD2, the columns are like that:
    ID (PK) SID NAME ... START_DATE END_DATE IS_ACTUAL
    1 1 XXX 01.01.2000 01.01.2002 0
    2 1 YYX 02.01.2002 01.01.2004 1
    3 2 SYX 02.01.2002 1
    4 3 AYX 02.01.2002 01.01.2004 0
    5 3 YYZ 02.01.2004 1
    On this table there are relations from other dimension and fact table.
    Need I create foreign keys for relation?
    And if I do, on what columns? SID (serial ID) is not unique. If I create on ID, I have to get SID and actual row in any query.

    >
    I have datawarehouse in snowflake schema. All dimensions are SCD2, the columns are like that:
    ID (PK) SID NAME ... START_DATE END_DATE IS_ACTUAL
    1 1 XXX 01.01.2000 01.01.2002 0
    2 1 YYX 02.01.2002 01.01.2004 1
    3 2 SYX 02.01.2002 1
    4 3 AYX 02.01.2002 01.01.2004 0
    5 3 YYZ 02.01.2004 1
    On this table there are relations from other dimension and fact table.
    Need I create foreign keys for relation?
    >
    Are you still designing your system? Why did you choose NOT to use a Star schema? Star schema's are simpler and have some performance benefits over snowflakes. Although there may be some data redundancy that is usually not an issue for data warehouse systems since any DML is usually well-managed and normalization is often sacrificed for better performance.
    Only YOU can determine what foreign keys you need. Generally you will create foreign keys between any child table and its parent table and those need to be created on a primary key or unique key value.
    >
    And if I do, on what columns? SID (serial ID) is not unique. If I create on ID, I have to get SID and actual row in any query.
    >
    I have no idea what that means. There isn't any way to tell from just the DDL for one dimension table that you provided.
    It is not clear if you are saying that your fact table will have a direct relationship to the star-flake dimension tables or only link to them through the top-level dimensions.
    Some types of snowflakes do nothing more than normalize a dimension table to eliminate redundancy. For those types the dimension table is, in a sense, a 'mini' fact table and the other normalized tables become its children. The fact table only has a relation to the main dimension table; any data needed from the dimensions 'child' tables is obtained by joining them to their 'parent'.
    Other snowflake types have the main fact table having relations to one or more of the dimensions 'child' tables. That complicates the maintenance of the fact table since any change to the dimension 'child' table impacts the fact table also. It is not recommended to use that type of snowflake.
    See the 'Snowflake Schemas' section of the Data Warehousing Guide
    http://docs.oracle.com/cd/B28359_01/server.111/b28313/schemas.htm
    >
    Snowflake Schemas
    The snowflake schema is a more complex data warehouse model than a star schema, and is a type of star schema. It is called a snowflake schema because the diagram of the schema resembles a snowflake.
    Snowflake schemas normalize dimensions to eliminate redundancy. That is, the dimension data has been grouped into multiple tables instead of one large table. For example, a product dimension table in a star schema might be normalized into a products table, a product_category table, and a product_manufacturer table in a snowflake schema. While this saves space, it increases the number of dimension tables and requires more foreign key joins. The result is more complex queries and reduced query performance. Figure 19-3 presents a graphical representation of a snowflake schema.

  • Why not to Join Fatc to fact tables in OBIEE... What is the Logical Reason

    Why not to Join Fatc to fact tables in OBIEE... What is the Logical Reason
    Thanks in advance
    V

    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

  • Modelling Time Dimension with Fact Table containing Start Date and End Date

    Hi Gurus,
    I have a time dimension with Year till Date. I have a fact table which consists of Start Date, End Date, Person ID, Department ID.
    How do i design Time dimension with fact table the below scenario
    In the dashboard i have start Month and End month as prompts.
    In the report i need to display Count(Person ID) > Start Date and < End Date along the trend.
    For instance, i have selected Jan-2009 as start date and Apr-2009 as End Date, then i need to display Count(Person ID) of Jan-2009, Feb2009, Mar-2009 andApr-2009.
    I Can not connect Time dimension with only Start Date or only with End Date to get the trend along the months.
    Please advice on the issue which i am having.

    Hi,
    Thanks for the response, Infact i tried using Complex join in physical layer. I have considered Time table joined with Fact table, and used >= and took and alias of the Time table and joined fact table using <=. When coming to BMM, i am not knowing how do i design this as if i merge the both the time dimensiona and its alias into single table, values will not be correct and if i make them as seperate columns. i can not show the trend as both are different columns.
    Can you please let know where i am going wrong.
    Thanks

  • Add Audit Columns to the Dimension and Fact tables (Created & modified date Time)

    Hi All,
    I am new to SSIS , I have to Add Audit Columns to the Dimension and Fact tables (Created & modified date Time) of the package.
    Please let me know the best and easy way through which I can implement the same.
    If possible suggest some real time example or link where I can find the same
    Regards,
    Vipin jha
    Thankx & regards, Vipin jha MCP

    You can simply use ALTER TABLE ADD.. syntax to add the columns if the tables already exist.
    You can generate a single script for all tables using INFORMATION_SCHEMA.TABLES view
    You can make then of NOT NULL type and set the default value to GETDATE()
    In addition you can also have a Audit Trail trigger for UPDATE to make sure Modified date gets updated correctly on each update if not passed explicitly.
    Please Mark This As Answer if it solved your issue
    Please Mark This As Helpful if it helps to solve your issue
    Visakh
    My MSDN Page
    My Personal Blog
    My Facebook Page

  • Size of the DImension and Fact table.

    Hi,
    I have an info cube, now to decide weather i need to make use of line item or high cardinality .....i need to check or compare the size of the dimension table along with the size of the fact table.
    Where do i get this information.
    Please help.
    Thanks,
    Jay.

    Hi Friend,
    For each infocube you will see Rows and ratio for all the dimension tables and Fact table.
    Rows indicate the number of rows in that Dimension or Fact table.
    Ratio indicates the number of rows in that table divided by number of rows in the fact table.
    As a standard the ratio of rows in Dimension table to rows in fact table should not be more than 10%.
    If it is more than you will see it in red colour in this report and you can think of redesigning that particular dimension.
    Regards
    Hemant Khemani

  • Improve Performance of Dimension and Fact table

    Hi All,
    Can any one explain me the steps how to improve performance of Dimension and Fact table.
    Thanks in advace....
    redd

    Hi!
    There is much to be said about performance in general, but I will try to answer your specific question regarding fact and dimension tables.
    First of all try to compress as many requests as possible in the fact table and do that regularily.
    Partition your compressed fact table physically based on for example 0CALMONTH. In the infocube maintenance, in the Extras menu, choose partitioning.
    Partition your cube logically into several smaller cubes based on for example 0CALYEAR. Combine the cubes with a multiprovider.
    Use constants on infocube level (Extras->Structure Specific Infoobject properties) and/or restrictions on specific cubes in your multiprovider queries if needed.
    Create aggregates of subsets of your characteristics based on your query design. Use the debug option in RSRT to investigate which objects you need to include.
    To investigate the size of the dimension tables, first use the test in transaction RSRV (Database Information about InfoProvider Tables). It will tell you the relative sizes of your dimensions in comparison to your fact table. Then go to transaction DB02 and conduct a detailed analysis on the large dimension tables. You can choose "table columns" in the detailed analysis screen to see the number of distinct values in each column (characteristic). You also need to understand the "business logic" behind these objects. The ones that have low cardinality, that is relate to each other shoule be located together. With this information at hand you can understand which objects contribute the most to the size of the dimension and separate the dimension.
    Use line item dimension where applicable, but use the "high cardinality" option with extreme care.
    Generate database statistics regularily using process chains or (if you use Oracle) schedule BRCONNECT runs using transaction DB13.
    Good luck!
    Kind Regards
    Andreas

  • Needed - BW data model and list of Dimensions and Fact table from BW

    Dear Friends,
    Can somebody please share SAP BW DATA MODEL (LOGICAL) and share the list of DIMENSION and FACT tables exist in BW?
    I don't have access to SAP or SAP BW and I am building data-mart and SAP FI/CO will be the source.
    Thank you very much in advance.
    Regards,
    Nitin
    Edited by: Nitin Baradia on Apr 5, 2010 9:08 AM

    Let  me rephrase.
    I got an EarlyWatch that said my dimensions on one of cube were too big.  I ran SAP_INFOCUBE_DESIGNS in SE38 in my development box and that confirmed it.
    So, I redesigned the cube, reactivated it and reloaded it.  I then ran SAP_INFOCUBE_DESIGNS again.  The cube doesn't even show up on it.  I suspect I have to trigger something in BW to make it populate for that cube.  How do I make that happen manually?
    Thanks.
    Dave

  • How to load data to dimensions and fact table is it simialr to sql server

    How to load data to dimensions and fact table in a data ware house environment, is it simialr to sql server, oracle?
    Never migrated or loaded data to datawarehouse server.
    I have an interview and am really confused if they ask anything related to the dataware house side elements.
    Coudl you please if you don't mind provide me some steps and dimension and fact table info, an example only.
    Atleast for my knowledge.
    Thank you very much for the helpful info.

    Some discussions in previous forums should help you
    http://forums.sdn.sap.com/thread.jspa?threadID=2019448
    http://forums.sdn.sap.com/thread.jspa?threadID=1908902
    In the SAP tutorial, you can see a sample example of making fact tables.
    http://help.sap.com/businessobject/product_guides/boexir32SP1/en/xi321_ds_tutorial_en.pdf
    Arun

  • Dimension and Fact table have the same grain

    Hi All,
    How can we join a dimension and a fact table if they have the same grain ? In my case it is a contract number.
    Thanks

    Your Impression is right, In terms of Dimensional Modeling. You have to consider this when you are designing your warehouse tables.
    But now if you already have these tables in database, OBIEE does not care how many rows a table have, it just need to know what is fact and what is Dimension and it will generate sql queries based on join conditions.

  • One DIMENSION, Two FACT Tables - One WEEKLY grain, one DAILY grain

    All the OBIEE gurus, thanks for checking out this post.
    Background: We have a common DIMENSION referencing two FACT tables having different granularity.
    DIM = Customer Dim
    FACT = Forecasting (Weekly granularity)
    FACT = Sales (Daily granularity)
    There is a need to report from the Customer Dimension table AND access the Forecasting FACT (weekly grain) & Sales FACT (daily grain).
    Example of query is listed below:
    Give me customer = 'ABC' and the forecast and sales for a specific time period.
    What will be the best way to handle something like this? I have seen examples of handing multi-fact table access in OBIEE but the granularity of both the FACT tables is different (weekly vs. daily).
    Any help with an example is greatly appreciated.
    Thanks,
    Sunshine

    Hi.
    This one:
    Joining different level aggregation measures together into a single logical fact table
    http://108obiee.blogspot.com/2009/07/joining-different-level-aggregation.html
    Regards
    Goran
    http://108obiee.blogspot.com

Maybe you are looking for

  • Trying to pass string OUPATH in my javscript file during OSD MDT deployment. How to do I do this correctly?

    I have an hta and javascript file that requests different pieces of AD info and passes them along to our server during deployment. I have been trying to get the string OU path to pass but am not able to. Each time I get an error that tells me its not

  • Import, edit, and export QuickTime document: wise? how to maintain quality?

    Can iMovie HD 6.0.3 be used to import a reasonably-high-quality QuickTime file (Apple Graphics compression), edit it, and export to Quicktime, all resulting in a QuickTime file with the same clarity as the original? I have a quicktime file that captu

  • Authorization based on AP group

    Hi, I am running WLC 7.4.100 and ISE 1.2. With Flexconnect APs. In ISE I have a condition that say "Radius: Called-Station-ID CONTAINS ssid" in a Policy Set. This works fine and in ISE I can see the attribute on the devices: Called-Station-ID 7c-95-f

  • How can I add a place to a photo in photos?

    I upgraded to photos yesterday.  I have a number of scanned photos I am editing and want to add places to them.  I cannot figure out how to do so in the new Photos app.  Thank you for any assistance. 

  • Cannot print from Iphoto 08

    http://discussions.apple.com/thread.jspa?messageID=5865991 We are a school, various users having the same problem. have tried to print from iPhoto 08, after upgrading from 06, now cannot print to HP color LASERJET 4700 Have downloaded driver from HP,