Follow-up on u0093Fact Table VS. Dimension relative sizeu0094

You don’t have to read the background info. below, it is only for reference. I have already gone though several links as such your touch in your own words will be much appreciated.
Can you help me understand these which came from the many links the Experts referred me .
1. For better performance: “Use line item dimension where applicable, but use the "high cardinality" option with extreme care.”  Any clarification on “high cardinality”? And why with “extreme care”?
2.  For better performance:  “1. Make the Index perfect and create secondary index based on requirement..”  I don’t seem to follow this index issue being raised here.
Thanks.
--Background: References from these past postings ---
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
There are some simple things by which we can maintain the performance.
1> Make the Index perfect and create secondary index based on requirement.
2> Make statistics perfect.
3> Based on data size in dimenssion table use lineitem dimenssion.
HOpe this will help you.
Suneel

Hi Caud..
1] High Cardinality..
High Cardinality means that this dimension contains a large number of characteristic values. This information is used in accordance with the individual database platform in order to optimize performance. For example, an index type other than the standard may be used. Generally a dimension is perceived to have high cardinality when the dimension is at least 20% the size of the fact tables in terms of the number of entries each contain. Avoid marking a dimension as having high cardinality if you are in any doubt.
Cardinality creates indexes on the Dimension table entries and there by you would see an improvement in performance.
With Oracle DB, setting the Cardinality option causes a b-tree index to be built instead of a bitmap index even if it is not a line item dim.
Setting it as a Line Item dim also causes a b-tree index to be built instead of a bitmap index, but also embeds SID directly in the fact table, eliminating the dimension table.
As it changes from bit map to B-tree, u have to be careful as the SAP recommends the Bit map.
2]As indices increased the performance tremendously, u have to consider when ever the performance is main factor. it is very easy for query to access the data in the data target if it already indexed.
Refer this link..
http://help.sap.com/saphelp_nw04/helpdata/en/a7/d50f395fc8cb7fe10000000a11402f/frameset.htm
Hope it helps-
Regards-
MM
Assign points if it is useful, it is right way to say thanks.
Message was edited by: vishnuC

Similar Messages

  • Slice measure group by dimension related to another measure group

    Hello everyone,
    My users are wanting to slice one measure group via a dimension related to a different measure group.  I have regular relationships here: Dim_SalesStatus <- Fact_Sales -> DD_Link <- Fact_Mfg, and Fact_Mfg has a many-to-many relationship
    to Dim_SalesStatus  (through intermediate measure group, Fact_Sales). The DD_Link is a degenerate dimension that I created with the LinkId's that exist in the Fact_Sales table.  The Fact_Mfg records may or may not have a LinkId. Processed great,
    no problem. I was testing the configuration by finding multiple LinkId's that *are* in both fact tables in the data warehouse, then seeing if I can slice. If I slice by only the LinkId, they show the correct counts on both sides as 1.  In my following
    example, I have two LinkId's (12345 and 67890).
    DD_LinkId, Fact Sales count, Fact Mfg count, MfgQuantity
    12345, 1, 1, 387
    67890, 1, 1, 50
    As soon as I try to slice by the SalesStatus, the Fact_Mfg count goes to null on some (not all). It seems like it can’t find the data through the relationship.
    Sales Status, DD_LinkId, Fact Sales count, Fact Mfg count, MfgQuantity
    Incomplete, 12345, 1, (null), (null)
    Incomplete, 67890, 1, 1, 50
    I'm not sure what could be the issue, it looks to be all setup correctly to me.  LinkId 12345 is not behaving the way I would expect, but 67890 is, and I'm not seeing any differences in the way the data is setup in the DW.  What can I check/verify?
    Thanks in advance for your help!
    Jarret

    Hello Bill,
    Neither of those are true.  The FactMfgCount is the default measure added when creating a measure group, and the quantity is a simple column based summed measure.
    If I drop the DateEntered dimension altogether, the results returned are shown as expected.  When I then recreate it, with a regular relationship to both measure groups, it stops working.  If I remove the relationship from DateEntered to Sales,
    the expected results are presented.  Or, if I remove the relationship from DateEntered to Manufacturing, the expected results are presented.
    From what I can tell, as long as a dimension is not related to the fact on both sides of the many to many, the expected results are presented.  As soon as I relate a single dimension to both sides of a many-to-many, the data in the data warehouse must
    be the same in the related columns, or the results are "(null)".
    Is this supposed to be true?  If you look at my cube structure image above, that's my setup.
    Here is the MDX that I was running, which does not reference a date dimension.
    //Without Status, expected results.
    SELECT NON EMPTY { [Measures].[Fact Sales Count], [Measures].[Fact Manufacturing Count] } ON COLUMNS,
    NON EMPTY { ([DD_Link].[Order Link Id].[Order Link Id].ALLMEMBERS ) } ON ROWS
    FROM ( SELECT ( {[DD_Link].[Order Link Id].&[18440402] , [DD_Link].[Order Link Id].&[18446846]} ) ON COLUMNS
    FROM [TestCube]
    go
    //With Status, unexpected results.
    SELECT NON EMPTY { [Measures].[Fact Sales Count], [Measures].[Fact Manufacturing Count] } ON COLUMNS,
    NON EMPTY { ([DD_Link].[Order Link Id].[Order Link Id].ALLMEMBERS * [Sales Status].[On Time Delivery Status Description].[On Time Delivery Status Description].ALLMEMBERS ) } ON ROWS
    FROM (
    SELECT ( {[DD_Link].[Order Link Id].&[18440402] , [DD_Link].[Order Link Id].&[18446846]} ) ON COLUMNS
    FROM [TestCube]
    go

  • How to find the level of each child table in a relational model?

    Earthlings,
    I need your help and I know that, 'yes, we can change'. Change this thread to a answered question.
    So: How to find the level of each child table in a relational model?
    I have a relacional database (9.2), all right?!
         O /* This is a child who makes N references to each of the follow N parent tables (here: three), and so on. */
        /↑\ Fks
       O"O O" <-- level 2 for first table (circle)
      /↑\ Fks
    "o"o"o" <-- level 1 for middle table (circle)
       ↑ Fk
      "º"Tips:
    - each circle represents a table;
    - red tables no have foreign key
    - the table in first line of tree, for example, has level 3, but when 3 becomes N? How much is N? This's the question.
    I started thinking about the following:
    First I have to know how to take the children:
    select distinct child.table_name child
      from all_cons_columns father
      join all_cons_columns child
    using (owner, position)
      join (select child.owner,
                   child.constraint_name fk,
                   child.table_name child,
                   child.r_constraint_name pk,
                   father.table_name father
              from all_constraints father, all_constraints child
             where child.r_owner = father.owner
               and child.r_constraint_name = father.constraint_name
               and father.constraint_type in ('P', 'U')
               and child.constraint_type = 'R'
               and child.owner = 'OWNER') aux
    using (owner)
    where child.constraint_name = aux.fk
       and child.table_name = aux.child
       and father.constraint_name = aux.pk
       and father.table_name = aux.father;Thinking...
    Let's Share!
    My thanks in advance,
    Philips
    Edited by: BluShadow on 01-Apr-2011 15:08
    formatted the code and the hierarchy for readbility

    Justin,
    Understood.
    Nocycle not work in 9.2 and, even that would work, would not be appropriate.
    With your help, I decided a much simpler way (but there is still a small problem, <font color=red>IN RED</font>):
    -- 1
    declare
      type udt_roles is table of varchar2(30) index by pls_integer;
      cRoles udt_roles;
    begin
      execute immediate 'create user philips
        identified by philips';
      select granted_role bulk collect
        into cRoles
        from user_role_privs
       where username = user;
      for i in cRoles.first .. cRoles.count loop
        execute immediate 'grant ' || cRoles(i) || ' to philips';
      end loop;
    end;
    -- 2
    create table philips.root1(root1_id number,
                               constraint root1_id_pk primary key(root1_id)
                               enable);
    grant all on philips.root1 to philips;
    create or replace trigger philips.tgr_root1
       before delete or insert or update on philips.root1
       begin
         null;
       end;
    create table philips.root2(root2_id number,
                               constraint root2_id_pk primary key(root2_id)
                               enable);
    grant all on philips.root2 to philips;
    create or replace trigger philips.tgr_root2
       before delete or insert or update on philips.root2
       begin
         null;
       end;
    create table philips.node1(node1_id number,
                               root1_id number,
                               node2_id number,
                               node4_id number,
                               constraint node1_id_pk primary key(node1_id)
                               enable,
                               constraint n1_r1_id_fk foreign key(root1_id)
                               references philips.root1(root1_id) enable,
                               constraint n1_n2_id_fk foreign key(node2_id)
                               references philips.node2(node2_id) enable,
                               constraint n1_n4_id_fk foreign key(node4_id)
                               references philips.node4(node4_id) enable);
    grant all on philips.node1 to philips;
    create or replace trigger philips.tgr_node1
       before delete or insert or update on philips.node1
       begin
         null;
       end;
    create table philips.node2(node2_id number,
                               root1_id number,
                               node3_id number,
                               constraint node2_id_pk primary key(node2_id)
                               enable,
                               constraint n2_r1_id_fk foreign key(root1_id)
                               references philips.root1(root1_id) enable,
                               constraint n2_n3_id_fk foreign key(node3_id)
                               references philips.node3(node3_id) enable);
    grant all on philips.node2 to philips;
    create or replace trigger philips.tgr_node2
       before delete or insert or update on philips.node2
       begin
         null;
       end;                          
    create table philips.node3(node3_id number,
                               root2_id number,
                               constraint node3_id_pk primary key(node3_id)
                               enable,
                               constraint n3_r2_id_fk foreign key(root2_id)
                               references philips.root2(root2_id) enable);
    grant all on philips.node3 to philips;
    create or replace trigger philips.tgr_node3
       before delete or insert or update on philips.node3
       begin
         null;
       end;                          
    create table philips.node4(node4_id number,
                               node2_id number,
                               constraint node4_id_pk primary key(node4_id)
                               enable,
                               constraint n4_n2_id_fk foreign key(node2_id)
                               references philips.node2(node2_id) enable);
    grant all on philips.node4 to philips;
    create or replace trigger philips.tgr_node4
       before delete or insert or update on philips.node4
       begin
         null;
       end;                          
    -- out of the relational model
    create table philips.node5(node5_id number,
                               constraint node5_id_pk primary key(node5_id)
                               enable);
    grant all on philips.node5 to philips;
    create or replace trigger philips.tgr_node5
       before delete or insert or update on philips.node5
       begin
         null;
       end;
    -- 3
    create table philips.dictionary(table_name varchar2(30));
    insert into philips.dictionary values ('ROOT1');
    insert into philips.dictionary values ('ROOT2');
    insert into philips.dictionary values ('NODE1');
    insert into philips.dictionary values ('NODE2');
    insert into philips.dictionary values ('NODE3');
    insert into philips.dictionary values ('NODE4');
    insert into philips.dictionary values ('NODE5');
    --4
    create or replace package body philips.pck_restore_philips as
      procedure sp_select_tables is
        aExportTablesPhilips     utl_file.file_type := null; -- file to write DDL of tables   
        aExportReferencesPhilips utl_file.file_type := null; -- file to write DDL of references
        aExportIndexesPhilips    utl_file.file_type := null; -- file to write DDL of indexes
        aExportGrantsPhilips     utl_file.file_type := null; -- file to write DDL of grants
        aExportTriggersPhilips   utl_file.file_type := null; -- file to write DDL of triggers
        sDirectory               varchar2(100) := '/app/oracle/admin/tace/utlfile'; -- directory \\bmduhom01or02 
        cTables                  udt_tables; -- collection to store table names for the relational depth
      begin
        -- omits all referential constraints:
        dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'REF_CONSTRAINTS', false);
        -- omits segment attributes (physical attributes, storage attributes, tablespace, logging):
        dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'SEGMENT_ATTRIBUTES', false);
        -- append a SQL terminator (; or /) to each DDL statement:
        dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'SQLTERMINATOR', true);
        -- create/open files for export DDL:
        aExportTablesPhilips := utl_file.fopen(sDirectory, 'DDLTablesPhilips.pdc', 'w', 32767);
        aExportReferencesPhilips := utl_file.fopen(sDirectory, 'DDLReferencesPhilips.pdc', 'w', 32767);
        aExportIndexesPhilips := utl_file.fopen(sDirectory, 'DDLIndexesPhilips.pdc', 'w', 32767);
        aExportGrantsPhilips := utl_file.fopen(sDirectory, 'DDLGrantsPhilips.pdc', 'w', 32767);
        aExportTriggersPhilips := utl_file.fopen(sDirectory, 'DDLTriggersPhilips.pdc', 'w', 32767);
        select d.table_name bulk collect
          into cTables -- collection with the names of tables in the schema philips
          from all_tables t, philips.dictionary d
         where owner = 'PHILIPS'
           and t.table_name = d.table_name;
        -- execution
        sp_seeks_ddl(aExportTablesPhilips,
                     aExportReferencesPhilips,
                     aExportIndexesPhilips,
                     aExportGrantsPhilips,
                     aExportTriggersPhilips,
                     cTables);
        -- closes all files
        utl_file.fclose_all;
      end sp_select_tables;
      procedure sp_seeks_ddl(aExportTablesPhilips     in utl_file.file_type,
                             aExportReferencesPhilips in utl_file.file_type,
                             aExportIndexesPhilips    in utl_file.file_type,
                             aExportGrantsPhilips     in utl_file.file_type,
                             aExportTriggersPhilips   in utl_file.file_type,
                             cTables                  in out nocopy udt_tables) is
        cDDL       clob := null; -- colletion to save DDL
        plIndex    pls_integer := null;
        sTableName varchar(30) := null;
      begin
        for i in cTables.first .. cTables.count loop
          plIndex    := i;
          sTableName := cTables(plIndex);
           * Retrieves the DDL and the dependent DDL into cDDL clob       *      
          * for the selected table in the collection, and writes to file.*
          begin
            cDDL := dbms_metadata.get_ddl('TABLE', sTableName, 'PHILIPS');
            sp_writes_ddl(aExportTablesPHILIPS, cDDL);
          exception
            when dbms_metadata.object_not_found then
              null;
          end;
          begin
            cDDL := dbms_metadata.get_dependent_ddl('REF_CONSTRAINT', sTableName, 'PHILIPS');
            sp_writes_ddl(aExportReferencesPhilips, cDDL);
          exception
            when dbms_metadata.object_not_found2 then
              null;
          end;
          begin
            cDDL := dbms_metadata.get_dependent_ddl('INDEX', sTableName, 'PHILIPS');
            sp_writes_ddl(aExportIndexesPhilips, cDDL);
          exception
            when dbms_metadata.object_not_found2 then
              null;
          end;
          begin
            cDDL := dbms_metadata.get_dependent_ddl('OBJECT_GRANT', sTableName, 'PHILIPS');
            sp_writes_ddl(aExportGrantsPhilips, cDDL);
          exception
            when dbms_metadata.object_not_found2 then
              null;
          end;
          begin
            cDDL := dbms_metadata.get_dependent_ddl('TRIGGER', sTableName, 'PHILIPS');
            sp_writes_ddl(aExportTriggersPhilips, cDDL);
          exception
            when dbms_metadata.object_not_found2 then
              null;
          end;
        end loop;
      end sp_seeks_ddl;
      procedure sp_writes_ddl(aExport in utl_file.file_type,
                              cDDL    in out nocopy clob) is
        pLengthDDL  pls_integer := length(cDDL);
        plQuotient  pls_integer := null;
        plRemainder pls_integer := null;
      begin
          * Register variables to control the amount of lines needed   *
         * for each DDL and the remaining characters to the last row. *
        select trunc(pLengthDDL / 32766), mod(pLengthDDL, 32766)
          into plQuotient, plRemainder
          from dual;
          * Join DDL in the export file.                            *
         * ps. 32766 characters + 1 character for each line break. *
        -- if the size of the DDL is greater than or equal to limit the line ...
        if plQuotient >= 1 then
          -- loops for substring (lines of 32766 characters + 1 break character):
          for i in 1 .. plQuotient loop
            utl_file.put_line(aExport, substr(cDDL, 1, 32766));
            -- removes the last line, of clob, recorded in the buffer:
            cDDL := substr(cDDL, 32767, length(cDDL) - 32766);
          end loop;
        end if;
          * If any remains or the number of characters is less than the threshold (quotient = 0), *
         * no need to substring.                                                                 *
        if plRemainder > 0 then
          utl_file.put_line(aExport, cDDL);
        end if;
        -- record DDL buffered in the export file:
        utl_file.fflush(aExport);
      end sp_writes_ddl;
    begin
      -- executes main procedure:
      sp_select_tables;
    end pck_restore_philips;<font color="red">The problem is that I still have ...
    When creating the primary key index is created and this is repeated in the file indexes.
    How to avoid?</font>

  • Fact Table and Dimension Tables

    Hi Experts, I'm creating custom InfoCubes for data coming from non-SAP source systems. I have two InfoCubes. Tha data is coming from like 10 tables. I have 10 DataSources created fo this and the data will be consolidated in Standard DSO before it will flow into 2 InfoCubes.
    Now client wants to know before how much data will be there in InfoCubes in Fact table nad Dimension tables in both the InfoCubes. I have the total size of all the 10 tables from the sources given to me by the DBA. I wan not sure how I can convert that info for Fact table and Dimension table as I have not yet created these Infocubes.
    Please help me with this on how I should address this.

    hi,
    The exact data will be hard to give however you can reach at a round figure in your case.
    You are consolidating the data from the tables that means that there is relation between the tables. Arrive at a rough figure based on the relation and the activity you are performing while consolidating the data of the tables.
    For example, let us say we want to combine data for sales order and deliveries in a DSO.
    Let Sales order has 1000 records and Delivery has 2000 records. Both the tables have a common link (Sales Order).In DSO you are combining the data that means the data will be at the most granular level consist of Delivery data, so the maximum no of records which the consolidated DSO can have is 2000.
    regards,
    Arvind.

  • Reg: Fact table and Dimension table in Data Warehousing -

    Hi Experts,
    I'm not exactly getting the difference between the criteria which decide how to create a Fact table and Dimension table.
    This link http://stackoverflow.com/questions/9362854/database-fact-table-and-dimension-table states :
    Fact table contains data that can be aggregate.
    Measures are aggregated data expressions (e. Sum of costs, Count of calls, ...)
    Dimension contains data that is use to generate groups and filters.
    This's fine but how does one decide which columns to consider for Fact table and which columns for Dimension table?
    Any help is much appreciated.
    Pardon me if this's not the correct place for this question. My first question in the new forum.
    Thanks and Regards,
    Ranit Biswas

    ranitB wrote:
    But my main doubt was - what is the criteria to differentiate between columns for Fact tables and Dimension tables? How can one decide upon the design?
    Columns of a fact table will often be 'scalar' attributes of the 'fact' data item. A dimension table will often be 'compound' attributes of a 'fact'.
    Consider employee information. The EMPLOYEE table can be a fact table. It might have scalar attribute columns such as: DATE_HIRED, STATUS, EMPLOYEE_ID, and so on.
    Other related information that can't be specified as a single attribute value would often be stored in a 'dimension' table: ADDRESS, PHONE_NUMBER.
    Each address requires several columns to define it: ADDRESS1, ADDRESS2, CITY, STATE, ZIP, COUNTRY. And an employee might have several addresses: WORK_ADDRESS, HOME_ADDRESS. That address info would be stored in a 'dimension' table and only the primary key value of the address record would be stored in the EMPLOYEE 'fact' table.
    Same with PHONE_NUMBER. Several columns are required to define a phone number and each employee might have several of them. The dimension tables are used to help 'normalize' the data in the employee 'fact' table.
    And that EMPLOYEE table might also be a DIMENSION table for other FACT tables. A DEVELOPER table might have an EMPLOYEE_ID column with a value that points to a 'dimension' row in the EMPLOYEE dimension table.

  • Missing most detailed table for dimension tables

    Hi ,
    I am getting this following error
    Business Model Core:
    [nQSError: 15003] Missing most detailed table for dimension tables: [Dim - Customer,Dim - Account Hierarchy,Dim - Account Region Hierarchy,Fact - Fins - Period Days Count].
    [nQSError: 15001] Could not load navigation space for subject area Core.
    I got this error when I tried to configure # of Elapsed Days and # of Cumulative Elapsed Days by following way-
    1. Using the Administration Tool, open OracleBIAnalyticsApps.rpd.
    Configuration Steps for Controlling Your Data Set
    Configuring Oracle Financial Analytics 5-51
    The OracleBIAnalyticsApps.rpd file is located at:
    ORACLE_INSTANCE\bifoundation\OracleBIServerComponent\coreapplication_
    obisn\repository
    2. In the Business Model and Mapping layer, go the logical table Fact - Fins - Period
    Days Count.
    3. Under Sources, select the Fact_W_DAY_D_PSFT logical table source.
    4. Clear the Disabled option in the General tab and click OK.
    5. Open the other two logical table sources, Fact_W_DAY_D_ORA and Fact_W_
    DAY_D_PSFT, and select the Disabled option.
    6. Add the "Fact - Fins - Period Days Count" and "Dim - Company" logical tables to
    the Business Model Diagram. To do so, right-click the objects and select Business
    Model Diagram, Selected Tables Only.
    7. In the Business Model Diagram, create a new logical join from "Dim - Company"
    to "Fact - Fins - Period Days Count." The direction of the foreign key should be
    from the "Dim - Company" logical table to the "Fact - Fins - Period Days Count"
    table. For example, on a (0,1):N cardinality join, "Dim - Company" will be on the
    (0/1) side and "Fact - Fins - Period Days Count" will be on the N side.
    8. Under the Fact - Fins - Period Days Count logical table, open the "# of Elapsed
    Days" and "# of Cumulative Elapsed Days" metrics, one at a time.
    9. Go to the Levels tab. For the Company dimension, the Logical Level is set to All.
    Click the X button to remove it. Repeat until the Company dimension does not
    have a Logical Level setting.
    10. Make sure to check Global Consistency to ensure there are no errors, and then
    save the RPD file.
    Please help me to resolve.
    Thanks,
    Soumitro

    Could you let me know how you resolved this. I am facing the same.

  • "Missing most detailed table for dimension tables" eror when I run the Global Consistency check

    ERRORS:
    Business Model DAC Measures:
    [nQSError: 15003] Missing most detailed table for dimension tables: [D_DETAILS,D_EXECUTION_PLAN,D_TASK].
    [nQSError: 15001] Could not load navigation space for subject area DAC Measures.
    I am also attaching my Business Model layer for easy understanding. I have a fact table and several Dimension table. I got this error only after creating the following hierarchies:
    Execution Plan -> Tasks -> Details
    Start Date Time Hierarchy
    End Date Time Hierarchy
    Is there a solution for this problem? Thanks in advance!

    Yes ! My Task Hierarchy has 3 dimension tables that form a hierarchy :Execution Plan -> Tasks -> Detail
    All the 3 levels in the hierarchy are 3 different dimension tables.

  • [nQSError: 15003] Missing most detailed table for dimension tables:

    Hi,
    I am new to BI. I created fresh respository from the scratch.
    When run the consistency check I get the following messages.
    [nQSError: 15001] Could not load navigation space for subject area SALES.
    [nQSError: 15003] Missing most detailed table for dimension tables: [Products,Customers].
    Can anyone help me on this.
    Thank you
    subra.

    Got rid of the problem by deleting and recreating the dimension tables.
    Subra.

  • Sub-tables/Flow dimension - NETVAR

    Hi all
    Does anybody know what it means if a particular value in the  the Sub-tables/Flow dimension has a FLOW_TYPE of  NETVAR ?
    Regards
    Byron

    Hi pmyahoo,
    According to your description, you want to use T-SQL to create a relational view contains fact table with dimension tables. Right?
    In Analysis Services, a data source view (DSV) is an abstraction of a relational data source that becomes the basis of the cubes and dimensions you create in a multidimensional project. It contains the logical model of the schema used by Analysis Services
    multidimensional database objects—namely cubes, dimensions, and mining structures. It is the metadata definition, stored in an XML format, of these schema elements used by the Unified Dimensional Model (UDM) and by the mining structures. So it's a virtual
    table like the View we create via T-SQL. Please refer to links below:
    Data Source Views (Analysis Services - Multidimensional Data) 
    Defining a Data Source View (Analysis Services)
    When designing data source views, to determine if using a bridge table depends on the relation ship between dimension table and fact table. If it's a many-to-many relationship, it's better to use a bridge. Please refer to an article below:
    SSAS/KIMBALL: modeling a N:M relation between dimensions (part I)
    If you have any question, please feel free to ask.
    Best Regards,
    Simon Hou
    TechNet Community Support

  • Steps to follow while creating Database table in notes or paperwork

    what are the steps to follow while creating Database table in notes or paperwork
    Thank you,
    Regards,
    Jagrut Bharatkumar Shukla

    hi,
    1. Goto Transaction SE11.
    2. Enter the table name to be created. It should start with a Y or Z.
    3. Press Create
    4. Enter the Short description for the table
    5. Enter the Delivery class for the table. It can be 'A', 'C' or other.
    6. In the Fields tab, specify the table fields and the corresponding data elements or the built-in data types.
    7. If the table needs to be made a client-depenedent table, the first field should be MANDT.
    8. Goto Technical settings of the table and sepcify the Data Class and Size for the table. Also, there u can specify if buffering for the table should be allowed or not.
    9. Now, activate the table.
    if helpful reward some points.
    with regards,
    Suresh Aluri.

  • Join multiple fact tables and dimensions and use all tables in report issue

    Hi,
    I have a report requirements and need to use multiple fact tables and unconformed dimensions as described below
    Fact table: F1,F2,F3
    Dimensions tables: D1.....D9
    F1:(joined to) D1,D2,D3,D4
    F2::(joined to)D1,D2,D5,D6
    F3::(joined to)D1,D2,D7,D8
    D7::(joined to)D9,D8 (dimension D7 joined to two other dimensions D9 and D8
    I'm trying to use columns from almost all the fact and dimension tables but getting "Unable to navigate requested expression. Please fix the metadata consistency warnings."
    Repository is consistent and no errors and warnings.
    How can I configure the repository to develop reports using all fact tables and dimensions?
    Appreciate for your help.
    Thanks
    Jay.
    Edited by: Jay on Feb 9, 2012 4:14 PM

    So you want me to convert snowflake schema to star. does it solve my problem? individual star queries are working find but when I query multiple stars together getting inconsistency errors. I removed content tables dim level totals for unconformed dimensions in logical fact LTS and set level for measures at total level for unconformed dimensions. it is still in progress and need to test.
    Thanks
    Jay.

  • Linking multiple tables in numbers, how can I sort one table and this follow through on subsequent tables in the document?

    I am a teacher setting up a tracking system using Numbers for the first time. I have set up a summary sheet with puil information, some of which is "looked up" from other tables within the document. It is working brilliantly until we regrouped the pupils.
    When i reorganise the students on the summary page I want the same order to follow on all subsequent tables.
    However the pupil lists on all subsequent pages stay in the original order!
    Hope this makes some kind of sense as I am about to throw macbook out of the window!
    DAve

    davidmilce wrote:
    I want all of the tick boxes in each row to move with the pupil name when they are reorganised (ie the unique data in each row stays with the pupi no matter where they go when sorted.
    Thanks again
    Dave
    Dave,
    I might use Match, Offset and Column in my expressions. There are many approaches to this
    Match will tell you which row your person's data is in, and OFFSET will then take you to the row indicated by Match and the column indicated by COLUMN().
    Let's say you want to access the data for Pupil A. Further assume that the string "Pupil A" is the content of Column A, essentially the title of the record.
    MATCH(A, AF1 :: Table 1 :: A) will return the number of the Row in the source table where Pupil A is found.
    INDEX(Main, MATCH($A, Main :: $A), COLUMN())  will get the content, in your case the checkbox status.
    You are done if you are happy with displaying "TRUE" or "FALSE"
    But if you want, you can substitute graphics, like this:
    =IF(INDEX(Main, MATCH($A, Main :: $A), COLUMN()), "☑", "☐")
    Regards,
    Jerry

  • How to create a table which contains relational data and Document data

    hai all
    i need to create a table which contains relational data(i mean coulumns whose data types are type NUMBER,VARCHAR) and documents(like xml file/html file/image)using iFS.
    when i store the document data(xml data/html data) in the iFS ,it will be stored as Document Object.so how do i relate this document object belongs to a particular row in a table.
    do guide me
    thanks

    Please see reply at http://technet.oracle.com:89/ubb/Forum36/HTML/000778.html

  • Fact table and dimension table

    what is the difference b/w fact table and dimension table

    A fact table contains numeric values and also contain composite key(i.e collection of foreign key) e.g.. sales and profit. Typically has two types of columns: those that contain facts and those that are foreign keys to dimension  tables.
    Dimension tables, also known as lookup or reference tables, contain the relatively static data in the warehouse. It contains character values E.g Customer_name,Customer_city.
    Dimension tables store the information you normally use to contain queries. Dimension tables are usually textual and descriptive and you can use them as the row headers of the result set.
    Rachna

  • Sizeof fact table and dimension table

    Hi Experts ,
    Can you tell me how to measure the size of dimension table and fact tables and how to find the ratio of size of dimension table to the size of fact table.
    Thanks in advance,
    Thanks and Regards
    Ram Kommineni

    Hi,
    The ratio of size of fact table to dimension table is ideally should be 10:1. That means the size of the dimension tables should be 10% of the size of the fact table. This serves better in terms of performance.
    Whenever you load any cube, you can easily find out the number of records in fact table (E and F table) and the dimension tables. Based on that statistics you can determine the ratio of size in fact and dimension tables.
    Hope this info helps you.
    Regards,
    Yogesh.

Maybe you are looking for

  • Will only print to Microsoft Document Writer

    When I try to print a page in Firefox Microsoft Document Writer comes up as the default printer. Goes back to that selection even when the network printer is selected from the list box. How do I stop this to I can print from Firefox?

  • Spotlight search in Actionscipt files / Lion

    I'm using the latest version of Coda (1.7.4) as my default text editor and Coda is using Spotlight to search in the content of text files. I'm developing a flash project and it has a lot of .as files which are linked to the Archive Utility by default

  • Does iTunes back up everything including photos, contacts, messages and music etc? I have an iPod touch (4th gen).

    Does iTunes back up everything including photos, contacts, messages and music etc? I have an iPod touch (4th gen).

  • Error in binding the context

    Hi, I have created a table in a view, and i have bound the text property of columns. Now when i want to delete the binding and try to bind with some other attribute its not allowing me to do that. It says..'Error in binding the context' Pls suggest..

  • IWeb08 "Add Comments" and Format Problems

    Morning! I've been having problems with getting "Add Comments" to appear when publishing my site. I've read that iWeb08 folks get problems when publishing a non-Mobile Me site. All of the solutions I've googled seem to be outdated, such as signing up