Skip to Content
avatar image
Former Member

Want to understand SID concept...

Hello experts,

why not using the value like e. g. customer number directly in the dimension table instead of a SID? So I also could save one table (SID table) and with this on JOIN by linking directly to the master data tables (text, attributes, hierarchies) using customer no. as key.

Am I wrong? Is it only because of this INT4 thing with the SIDs whitch maybe results in better performance?

What I maybe understand is compounding, it seems to be hard to make here a connection to the right master data table. But if I wouldn't have this case, why else could be this SID useful?

Best regards,

Peter

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

5 Answers

  • avatar image
    Former Member
    Nov 16, 2010 at 10:19 AM

    Hi Peter,

    I guess I understand your question and I think this is a pure performance thing as it is much easier to go thru numeric values instead of character information, specially if you have long character fields for your characteristics.

    Maybe [this|http://en.wikipedia.org/wiki/Star_schema] is of some help.

    regards

    Siggi

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member Witalij Rudnicki

      Hello Vitaly,

      thank you for your answer! I assume my question won't be answered finaly. Maybe on day I have the chance to speak with the SAP developer who first have this Idea to say "let's make this SID thing'. 😉

      Sorry, I'm just such a person who want to know it exactly...

      You are right, my link is about extended star schema. But very often in such discussions I found as a explanation for the advantages that it is because of SID's like -> 'It is happen because of the excavation of master data from the dimension tables using the SID technique.'

      Best regards,

      Peter

  • avatar image
    Former Member
    Jan 21, 2014 at 12:20 PM

    Greetings,


    As per my understanding, there are 2 purpose served by SIDs:


    1. First we should see the SQL code which is triggered when you execute a query.
    Here's what happens:

    Whenever you trigger a query like give me all sales for Bangalore in the first quarter of current year. Now system cannot go to the fact table since it contains all numerics. SO it needs to know which numbers in fact table corresponds to Bangalore (Location) and First quarter (0CALQUARTER) and current year (0CALYEAR). Now alphabets are 26 and numbers are 10 (0-9) so the permutation for alphabets are much more than numbers so having numbers is nothing but creating an index for that column. So first the query reads SIDs, then goes to DIM IDs and gets DIM numbers and then searches those in F table. Now if you store alphabets then fields like 0Employee address will have so many chars and finding amongst that will be a colossal task!

    2. Second use of SIDs are reusability. Master data tables are used in many cubes. But if you store values directly in dimension tables, then for each cube the dimension table values will be stored redundantly so loosing reusability feature !

    Reg

    Deb

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Nov 15, 2010 at 08:24 AM
    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Nov 15, 2010 at 11:42 PM

    In the link below pl chk path

    Business Intelligence --> Data Warehousing --> Modeling --> InfoProviders --> InfoCubes --> Dimension

    http://help.sap.com/saphelp_nw04s/helpdata/en/b2/e50138fede083de10000009b38f8cf/frameset.htm

    Hope this helps you,

    Regards,

    Vinay

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Nov 16, 2010 at 10:02 AM

    Hello Alexander, hello Vinay,

    thank you for your input. The MDM document is very interesting. Haven't read it for a long time 😉

    But I think it doesn't contain what I want. This is just what SID's do and how they are part of the BW data model.

    This link about Dimension also doesn't help me. Sorry. I think I searched the whole SAP Help BI part about SIDs.

    To repeat my fist question: why not using the value like e. g. customer number directly in the dimension table instead of a SID?

    The only advantages I see are as follows:

    -> Using INT4-Values makes faster DB access, but to do this I need an additional join over maybe some large tables (like for example 0MATERIAL: /BIC/SMATERIAL->/BIC/PMATERIAL )

    -> modelling compounds. If you have a compound key (for example 0MAT_PLANT with compounded key 0MATERIAL and 0PLANT) it could easier using a surrogate ID.

    But despite of this points, why using SIDs everywhere, ever in enhanced BW star schema. Why not if SID's realy make sense like having compounds or large alphanumeric fields?

    What I also read as an advantage was that master data is separated from transactional data. I understand this concept which is similar or equal to a snowflake schema. But why should I need SID's for this?

    regards,

    Peter

    Add comment
    10|10000 characters needed characters exceeded