Textual Data in Fact Table

Hi
I would like to understand what can be the probable issues which I may face in OBIEE 11g if my fact table has non- numeric data (textual data) like type or rejection reason in the fact table.
I am new to the team and the data warehouse consist of textual data in fact table. I am not very much sure whether this approach is correct(unless I am missing latest trend)
Can anybody explain me with example on what can be the issues which we can face with textual data in fact table
Regards
Sameer

You need to explain your requirement a bit more. Why you want to add type or rejection reason in fact table.
In general you should avoid adding textual data in fact.
Fact tables are only supposed to store keys and measures. It can hold textual data in case of degenerate dimension ( i.e if the number of records are same in dimension as well as fact ).
Type or Rejection reason are going to have much less records. You can create a new dimension for them having probably 20 or 30 records.
Disadvantages of adding textual data in fact is, once the fact has millions of records the fact table updates are going to take huge time and also your reports will take long time.
If you have a rejection reason dimension with some 20 records, you can use rejection reason in prompts.
But if the same rejection reason is coming from fact table your prompts performance is going to be very slow since it has to fetch 20 distinct records from millions of records.
Consider these before adding textual data in facts.
Thanks
Edited by: Maqsood Hussain on Dec 5, 2012 9:40 PM

Similar Messages

  • Unexpected transaction data in fact table

    Hi,
    I  have created customized table having field
    SWISSEMPID   SWEMPNAME   SWADDRESS   SWDESIGNATION
    SWHIREDATE   SUPERVISOR    SWISSCOMP    ETHNICITY     LANGUAGE       CURRENCY
    On the basis of table , I have created generic data source for text ( empname ) and attr ( empid)
    dtp excetuded successfully
    but for transaction data , in extract structure I have taken empid and empname for connecting dimension
    table to fact table , compensation also selected ( transaction data)
    after exectuing dtp i am getting 426000 value , it is repeated for each record
    which does not exist in table
    Regards,
    Vivek
    Edited by: Vivek Srivastava on Jan 13, 2010 9:07 AM

    You need to explain your requirement a bit more. Why you want to add type or rejection reason in fact table.
    In general you should avoid adding textual data in fact.
    Fact tables are only supposed to store keys and measures. It can hold textual data in case of degenerate dimension ( i.e if the number of records are same in dimension as well as fact ).
    Type or Rejection reason are going to have much less records. You can create a new dimension for them having probably 20 or 30 records.
    Disadvantages of adding textual data in fact is, once the fact has millions of records the fact table updates are going to take huge time and also your reports will take long time.
    If you have a rejection reason dimension with some 20 records, you can use rejection reason in prompts.
    But if the same rejection reason is coming from fact table your prompts performance is going to be very slow since it has to fetch 20 distinct records from millions of records.
    Consider these before adding textual data in facts.
    Thanks
    Edited by: Maqsood Hussain on Dec 5, 2012 9:40 PM

  • Update DIM data in Fact Table

    All -
    I have a TSR dimension data (1 of 12 dimensional attributes) in our forecast fact table which gets updated monthly in our source system and we have to reflect this in our BPC system. What is the best method of updating this data in BPC?
    1. Can I update the TSR directly in the forecast fact table and reprocess the application to reflect this in the cube?
    2. Do I have to negate that entire fact table row with the old TSR and insert a new row with the new TSR and process the cube?
    3. Any other method?
    Thanks for your help.

    You need to explain your requirement a bit more. Why you want to add type or rejection reason in fact table.
    In general you should avoid adding textual data in fact.
    Fact tables are only supposed to store keys and measures. It can hold textual data in case of degenerate dimension ( i.e if the number of records are same in dimension as well as fact ).
    Type or Rejection reason are going to have much less records. You can create a new dimension for them having probably 20 or 30 records.
    Disadvantages of adding textual data in fact is, once the fact has millions of records the fact table updates are going to take huge time and also your reports will take long time.
    If you have a rejection reason dimension with some 20 records, you can use rejection reason in prompts.
    But if the same rejection reason is coming from fact table your prompts performance is going to be very slow since it has to fetch 20 distinct records from millions of records.
    Consider these before adding textual data in facts.
    Thanks
    Edited by: Maqsood Hussain on Dec 5, 2012 9:40 PM

  • Attribute key not found when there is no data in Fact table

    Hi All,
    I have a Dimension and Fact table,Dimension has data but Fact table is empty. The Dimension is MOLAP & Measure group is ROLAP. the relation is built on Key column and named column is some other attribute.
    When I execute MDX "select { [Measures].[Avg Sales] -- Average type measure} on columns from my_Cube ", this returns a valule with #Error. error message in cell is "The attribute key cannot be found when processing:
    Table: 'FACT, Column: 'ID', Value: '0'. The attribute is 'Name' "
    I have processed the Dimension with Full and then Cube is processed with Full. but still same error. Please suggest .
    Ram MSBI Developer

    Hi Ram ,
    Since you mentioned "Value: '0'. The attribute is 'Name' ""
    I would recommend to have a look at the Key/Name Column's property regarding to the NullProcessing .
    Regards, David .

  • Insert data into fact table from source database tables

    here i try to insert data into fact table from source database tables here is the query 
    ALTER procedure [dbo].[facttable]
    as
    insert into [pp dw].dbo.Dimfact(Prod_ID,Production_ID,Material_ID,Equip_ID,WC_ID,Recipe_ID,Quantity,costprice)
    select Products.[Product ID],[Production ID],Materials.[Material ID],[Equipment ID],[Work Centre ID],[Recipy ID],Quantity,[cost price]
    from
    [PRODUCTION PLANNING 2].dbo.[Products],
    [PRODUCTION PLANNING 2].dbo.[Production Detail],
    [PRODUCTION PLANNING 2].dbo.[Material category],
    [PRODUCTION PLANNING 2].dbo.[Materials],
    [PRODUCTION PLANNING 2].dbo.[Equipment],
    [PRODUCTION PLANNING 2].dbo.[Working Centre] ,
    [PRODUCTION PLANNING 2].dbo.[Recipies]
    where
    Products.[Product ID] in (13, 14, 15, 16, 17) and
    [Production Detail].[Production ID] in (1, 2, 3) and
    [Materials].[Material ID] in (1, 2, 3, 4, 5) and
    [Equipment].[Equipment ID] in (1, 2, 3, 4) and
    [Working Centre].[Work Centre ID] in (1, 2, 3) and
    [Recipies].[Recipy ID] in (1, 2, 3) and
    [Material category].[Category ID] in (8, 9, 10, 11, 12, 13)
    and when i execute query it shows me error 
    The INSERT statement conflicted with the FOREIGN KEY constraint "FK_Dimfact_Dimproduct". The conflict occurred in database "pp dw", table "dbo.Dimproduct", column 'Prod_ID'.
    ERD IS
    HOW TO SOLVE THIS PROBLEM?

    I cant see any join conditions in your query posted. Whats the purpose of the query above. It will just bring you a cartesian product (cross join) of tables involved subjected to filters. Are you sure this is the correct query?
    The error you're getting may be because you've not yet populated DimProduct or may be because of logic you used in popultaing DimProduct causing it to miss some records which is what query is referring to in above case.
    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

  • Restore data in fact table

    Hi All
    Can you please let me know whether the data in the fact table can be moved from Dev to QA?
    If yes, how?
    Many Thanks!
    Regards,
    Afreen

    It's not possible with transport.
    For testing purpose you can add DEV source system in QUA, create datasource for DEV cube in QUA and transformation to cube in QUA (direct map for all fields) and load data with standard BW flow: infopackage and DTP.
    You can generate datasource for cube by right click at infocube->Additional functions->Generate export DataSource. Datasource name will be 8<cube_name>.

  • Multiple Date Fields (Fact Table) - Linking with Time Dimension

    I have a fact table that has multiple date columns.
    I can make a time dimension, but it has to be joined to a particular date column. This becomes difficult because of the limit in having multiple date fields reference one time dimension. I can see possibly
    creating a date table which contains all dates, link to fact as well as time dimension table. I am trying to better visualize the table layout on this one. Or are there possibily better ways of looking at this senerio
    Any idea's

    Figured this one out; going to use one time dimension - what looking too much into the details in regard to this scenerio

  • Unable to view newly added data to fact table

    Hi,
    I have load some data into my fact table and dimensions to test my cube and make sure everything is OK, works fine so far.
    Now I have loaded data for another year 2013 into my fact table, all OK I have re-process the cube , all OK here too.
    When I want to browse the data, I can only see the data for 2014 in the browser but when I look at the totals the amount of rows are OK ( the count of sales transaction 8M for 2014 and 7.5M for 2013), I cannot see any thing under the year 2013,
    I have re-process and reload the cube 2-3 times but still the same results , I have looked under the partition tab and the estimated rows is OK, on the aggregation tab, it shows the original amount (8M) instead of 15.5M ( should this number be the same
    as the partition  estimated rows ?)
    How can the data not showing in 2013  but the totals row being OK ? I will need to add data until 2010 1 year at time ( very slow dev machine).
    Need to understand this
    Thanks
    Al
    FYI I just found out that the info is in the Year unknown instead of being displayed in year 2013

    Hi A,
    This sounds like your date dimension does not have the relevant dates for 2013, so when you process these facts, they go into the unknown members in the date dimension. 
    I suggest that you ensure the dates are available and processed in the date dimension before you process your facts.
    Hope that helps,
    Richard

  • How to load data to fact table for the year 2008 without modifying session sql

    Hi,
    I need to load data to OOTB Financial-General ledger related fact tables using new DAC execution plan for the year 2008 (just for the year 2008 not before or after). without modifying OOTB informataica session SQL. do you know how to do it?
    appreciate you for your help. thank you.

    Do you know why you are going for new Execution plan instead of using existing?
    let me know this will share what I know
    thanks for checking
    PS: JV its you!!
    Message was edited by: SriniVEERAVALLI

  • Can see Data in Fact Table but cannot pull in report

    Hi there.
    I have issues where I am able to load data successfully by using Data Manager.
    After I loaded data I optimized my sales application and checked on database to verify that data was there in the FACSALES table.
    When I go to pull report I cannot see the data. I tried diferent selection criteria, same thing.
    Please help.

    Hi David,
                  As your query dos't explained which version of BPC your using and is the data loaded successfully or not.if so please check your CV is matching with your data and post the exact error.
    Hope it will give some idea.
    All the best.
    Regards,
    Naresh.K

  • Update data automatically in fact table in Data Warehouse

    Hi,
    I'm working on the creation of a data warehouse that include different data source like SQL Server performance (more than one), Active Directory users, Server performance (more than one), Exchange server mailboxes. The problem is that performance data change
    frequently (like CPU and Memory), so my question is how to update data in fact table every 5 seconds automatically with SSIS.
    Thank you for any advice  

    I'm assuming you have already figured out how to capture the data e.g. Powershell, extended events, MDW etc. and just need to know what dimensions or fact tables do you need.
    You need to decide how often you are going to capture this data and based on that you will have dimensions with appropriate grain. Don't try to cram everything in the same fact table if it not of the same granularity. Also, separate process usually
    have separate fact tables.
    In addition to the Date dimension, you will need a Time dimension with a grain of 1 second (or maybe 5 seconds if that is when you get your data) then run the SSIS every 5 seconds to capture and append that data in the fact table.
    - Aalamjeet Rangi | (Blog)

  • Two Fact tables with Different set of Dimension Tables

    Here is my scenario:
    I got two fact tables: X and Y (actually, they are the same tables, but with different level of data)
    and four dimension tables: A, B, C, D
    X joins relationship to all dimensions (A, B, C, D).
    Y joins relationship to only A, B, C, but no D.
    When I select dimension A, B and C together with fact tables X and Y in BI Answer, result is displayed and compared.
    However, if I select dimension D together with fact tables X and Y, only data from fact table X is displayed. There is no result displayed for fact table Y. I know that this is because fact table Y does not join to dimension D.
    If the above relationship unchanged, how can I display both X and Y's result in BI Answer when dimension D is selected?

    Thanks for all your replies.
    Actually, I've tried the solutions you guys mentioned. Generally speaking, the result should be displayed. However, my scenario is a little bit tricky.
    table Y's figures are not the aggregation of table X for D dimension. Instead, table Y's figures include not only D dimension total, but also others (others do not mean A, B, C dimension). For example, table Y stores all food's figure, while table X stores only drink's figure. D dimension is only about drink's detail. In my scenario, other foods' figure is not provided.
    So, even if I set D dimension to all/total for table X, table X's result is still not the same as table Y.
    Indeed, table Y does not have a column key to join to D dimension's key. So, if I select D dimension and table Y's measures at the same time in BI Answer, result returns no data. Hence, I can't compare table X and table Y's results with selection of D dimension.
    Is there any solution to solve this problem?
    Edited by: TomChan on Jun 3, 2009 9:36 AM

  • How to empty Fact tables ???

    Hi everybody,
    How to supress data in fact table(but without delete data in dimension tables) before data loading ?
    I use a process chain to load the data.
    I know that manualy it is easy to do that, but with an automatic process how to do that ?
    Thanks
    Christophe

    Hi,
    just want to share my idea,instead of deleting the data,you can suppress the data to save memory by a process called " compression"
    check this link for more input
    http://www.sap-img.com/business/infocube-compression.htm
    Part of process chain,use process type "Compression of the InfoCube "
    Regards,
    Swapna.G

  • Dimension and Fact Table

    Hi Experts
    I am working on OBIEE 11g
    I have 3 tables
    1 table is fact[counting of fault process] and 2 is dimension [date and fault process]
    I have several data in fact table from JAN to SEP
    When I join the date dimension table to fact table , it shows me correct result according to join
    I want to show all month value from JAN to DEC [ either fact table have records exist or not]
    then I use left outer join to date table .
    Now it shows my all month values from JAN to DEC [ last three months showing zero value] which is acceptable
    but when I join fault process dimension table to fact table then it shows me only JAN TO SEP records ,
    The SQL issues by OBIEE Answer put LOOKUP TYPE ='FAULT' bydefault , dat is why it restrict the rows and doesnot shows OCT to DEC records
    Please help me in this regards,
    Regards,
    Zafar Habib

    Hi, this looks a many to many relationship scenario, follow these steps:
    - drag extractid from cube_applicability onto measures area, so this table becomes a fact
    - you will have count of Extractid measure after you perform above step
    - Assuming Variant is already a dimension, go into dimension usage tab, link variant dimension with cube_requirement fact using many to many relationship and selecting cube_applicability
    process cube, you should be able to get count of id by dragging and dropiping id from variant dimension..
    Regards
    Rakesh

  • Populate Fact Table

    Hi all,
    Can you please assist, am currently working a dataware housing project. I need to produce a report but due to the fact that the data I need to use is not available in the existing data
    warehouse I need to add the additional tables to do so, and also ensure that the additional table will provide thourough details for future reporting.
    The scope of the additional details on the datawarehouse, is to ensure at the end of the day I have a report that is going to show details of attendance.'
    There is already dimensions namely([dimSite- with information site, name and locations], [dimMember with member details, [dimNonMember with guest details], [dimReaccess with details of who accessed
    without a ticket and the reason the were allowed in], and dimDate with date details, )
    now all this dimensions are already added to the data warehouse, all I need to do is to load the data to the fact.
    The fact has the following fields
    [ReAccesKey],[SiteKey],[DateKey],[MemberKey], [NonMemberKey][TotalAccess] ,[AvgAccess]    ,[MemberAccess] ,[NonMemberAcces][MemberVisitorsAccess],[MemberOverrides],[NonMemberOverrides],[AccessPastWeek],[AccessPast10Days],[AccessPast30Days],[AccessPast60Days],[AccessPast90DaysUP])     
    May you please assist me as to how to go about in loading data to the fact table using TSQL, I would gladly appreciate that.
    Kind Regards

    You can create a SSIS package for that.
    It will have a data flow task as the main step
    Inside that you'll have a OLEDB source which will connect to your source server where fact data is present. You can write a query as per your logic to extract the data. 
    Following OLEDB source you'll have a set of Lookup tasks to lookup the Site,Member, etc details against each of dimensional tables and get the keya corresponding to that.
    Then you will have a oledb destination where you will select table to which you want to dump the data ie fact table. If it doesnt exist you can create it from within the package itself and map the columns
    There will also be a incremental logic implemented inside package to make sure you take only the new data each time. FOr this purpose you will have a sql task to get maximum date value captured in the fact table prior to data flow task and store it inside
    a variable. Then inside your source query you will use this date as reference and take all data which have a date value > this max value in your source.
    In case your  table can have modifications then you also need to have a intermediate step to load to staging table inside data flow task instead of actual table and then have a further logic to delete all records from fact which matched the incoming
    source rows based on your primary key. Then you'll have the final step to insert all data from stage to your actual fact table.
    So your final package will have below steps
    1. Execute sql task - to get max date from the destination ad store it in a variable (@[user::MaxDate])
    2. data flow task 
        a. OLEDB Source - connect to source
       uses a query like
    SELECT columns...
    FROM table1
    WHERE AuditDateField > ?
    and map parameter to @MaxDate variable created above
    b. Lookup tasks to lookup to each of dimensions and get keys based on reference values
    c. OLEDB destination - dump data to fact table (if no further modifications at source) or stage table (in case of modifications)
    3. Execute SQL task * - Delete all  records from fact matching records in stage table based on key fields and do a final insert into fact with all data from stage
    3 is required only if modifications are involved
    Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs

Maybe you are looking for

  • Example for Using WDR_SELECT_OPTIONS and SALV_WD_TABLE in one View

    Hello, I need an Example for Using the WD-Components WDR_SELECT_OPTIONS and SALV_WD_TABLE in one view. Can anybody help me? Thanks Toto

  • Enter scheduling Key - BAPI_MATERIAL_SAVEREPLICA

    I am using BAPI_MATERIAL_SAVEREPLICA to create new Material Header in a reference plant. The reference plant does not have a scheduling margin key. I am getting error 'Enter the scheduling margin key'. The BAPI is expecting the plantdata-sm_key. I ha

  • Im trying to update db table in  user exit, with the internal table

    Im trying to update db table in user exit, with the internal table my scenario: loop at itekpo. updating itekpo - > at the end of user exit the db table ekpo have to be updated endloop. Im updating internal table, using  MODIFY itekpo TRANSPORTING IN

  • Adobe PDF Creator (standard)

    hi, I have builed a MS Access 2003 database and would like to know if we buy Adobe PDF Creator (the standard version), will it be possible to make PDF document from severals computer wich is operate by co-workers.  In other words, do we have to by as

  • Can Quicktime Pro 6 be used with Quicktime 7 basic?

    If I install Quicktime 7, will I retain Quicktime 6 Pro video export abilities if I open a Quicktime 6 Pro Movie Player app? Will a Quicktime 6 application even open under Quicktime 7. Will Quicktime 7 basic hijack my Quicktime 6 Pro app and force it