Re-Order the Sparse Dimensions

Hi,
We have a typical scenario where in we need to change the order of sparse dimensions in the outline.The cube is already in use,however,as we got rid of few members in one of the sparse dimension and we want to change the order of sparse dimensions in the outline to enhance the performance.
My question here is,
1.How to change the order of the sparse dimensions in the outline?
2.What would be the impact?
Any quick response on this is highly appreciated !!
Thanks,
RNG

1) We can improve calculation performance by changing the order of standard (not attribute) sparse dimensions in the database outline. We can Order standard sparse dimensions by the number of members they contain, placing the dimension that contains the fewest members first.
This arrangement provides a number of possible improvements, depending on the site:
●The calculator cache functions more effectively, providing approximately a 10% performance improvement if you have a database outline with a very large dimension (for example, a dimension containing 1000 members).
●Parallel calculation, if enabled, is more likely to be used if the standard sparse dimension with the most members is the last standard sparse dimension in the outline.
2) I think there would not be an any impact...
JSA

Similar Messages

  • Sparse Dimension calc order

    Hi,I have some sparse dimension with different number of members.Which is the correct order in the outline to maximize the calc time ?Thank you.

    You may achieve improvement in calculation performance by changing the order of the sparse dimensions in the database outline. Order the sparse dimensions by their number of members, starting with the dimension that contains the fewest members. (Ref :Database Admin guide)

  • Not creating the sparse data block

    I have a database that loads to a small range of members in a sparse dimension (Products in this case is the sparse dimension, and I'm loading Revenue in the Accounts dimension (Dense)..)In my calc script, I'm allocating the revenue to another set of products. The problem is that unless I load zeroes into those datablocks prior to calcing, it doesn't create the datablock, thus no revenue is allocated.How can I fix this? I should also mention that I'm creating members of another sparse dimension (Sales Order # in this case) with each data load, so I can't load zeroes in advance.Thanks!Clark

    In order to calculate a block which does not exist, there are 3 ways:- create block on equation: but this decrases the performance calculation and will create to much blocks.In the past, this was not well working.- instead of using a dense member formula at the left side of the sign '=', use a sparse member.eg:if Actual is a sparse member, you write:ACTUAL (IF (@ismbr(memberdensetobecalculated) ACTUAL= X * X/Y;)Sparse member formula always create block if needed. unfortunately, theses kind of formula may be time consuming depending the size of the fix.- Create the block before your calculation using datacopyI prefer this solution , because this solution is the most powerful. enjoy your script.Franck

  • Outline Ordering of Dense Dimensions

    To optimize your cube I understand that you first have your dense dimensions at the top of the outline then your sparse with few members, then sparse with most members and last your attribute dimension. But didn't find any provision of which order a dense dimension should be? Should the dense dimension with few members be at the top or dense dimension with most members?TIA

    The recommended configuration is the "hourglass" shape - largest dense to smallest, smallest sparse to largest. Personally, I can understand the sparse dimension ordering - it has an impact on the efficiency of the calculator cache, but I have not seen any documentation or experienced significant performance gains by changing the order of dense dimensions.That being said, changing the order of dense dimensions WILL have an impact on the calculation order, which may be important if you have certain types of formulas or dependencies in your dense dimensions.The thing to keep in mind about optimization is that the order of the dimensions in your outline is probably lower on the list of priorities, behind the sparse/dense settings, optimizing scripts, using dynamic calcs, intelligent calc, etc.Regards,Jade---------------------------------Jade ColeSenior Business Intelligence ConsultantClarity [email protected]

  • Setting Evaluation order and Reordering dimension

    hi i was going through the hp admin pdf and i have a few doubts
    what do you mean by setting the evaluation option in planning means and why is it reccomended to select only one dimension(setting evaluation order)
    in "About Reordering Dimensions" topic it was mentioned about the ordering of aggregating sparse dimensions before non aggregatin ones , what are these two types and also it was said to arrange the sparse dimensions in the order of more sparse members to less sparse members but isnt it the opposite way around i mean as per the hour glass model the order should be from least sparse to most sparse dimension and attribute dimension in the end
    what exactly is the diffrence in Setting Evaluation Order and Reordering dimensions ?

    Reording the dimensions sets the order of the dimensions in essbase, reordering the dimensions can be part of optimizing the database.
    Setting the evaluation order is more to do with how the dimensions are evaluated in forms, so if account is set to be first then the properties of the account members data type will be used first, for instance if the account member is set to Percentage then member will be displayed as a percentage.
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • FIX STATEMENT AND LARGE SPARSE DIMENSIONS

    Hello all,
    We have the following Essbase BSO db;
    Account (Dense) (285 Members) (Aggregating Dimension)
    Period (Dense) (65 Members) (Aggregating Dimension)
    D1 (Sparse) (3700 Members)
    (Aggregating Dimension)
    D2 (Sparse) (8900 Members)
    (Aggregating Dimension)
    D3 (Sparse) (15000 Members)
    (Aggregating Dimension)
    Version (Sparse) (3 Members) (NON-Aggregating Dimension)
    Scenario (Sparse) (5 Members) (NON-Aggregating Dimension)
    Year (Sparse) (3 Members) (NON-Aggregating Dimension)
    Currency (Sparse) (11 Members) (NON-Aggregating Dimension)
    D4 (Sparse) (20 Members) (NON-Aggregating Dimension)
    Block Size = ~150KM
    Index Cache = 4GB
    Data Cache = 8GB
    CPUs = 8
    MEMORY FREE = 26GB
    NOTE:
    We are executing the database with data loaded for "JUST" 10 BLOCKS,
    SO
    VERY VERY SMALL VOLUME OF DATA!!!
    We have come across a rather irritating and strange issue while executing
    the following calc;
    CASE 1: With LEVEL-0 OF RELEVANT
    SPARSE DIMENSIONS IN FIX STATEMENT
    //ESS_LOCALE English_UnitedStates.Latin1@Binary
    SET MSG ERROR;
    SET CACHE HIGH;
    SET UPDATECALC OFF;
    SET LOCKBLOCK HIGH;
    SET AGGMISSG OFF;
    SET CALCPARALLEL 4;
    SET CREATENONMISSINGBLK OFF;
    FIX(ACTUAL,"2013",@LEVMBRS(D1,0),@LEVMBRS(D2,0),@LEVMBRS(D3,0),@LEVMBRS(D4,0),
    @RELATIVE("EBITDA",0))
    DATACOPY ARS->CURRENCY_VERSION TO ARS->WORKING;
    DATACOPY CAD->CURRENCY_VERSION TO CAD->WORKING;
    DATACOPY CHF->CURRENCY_VERSION TO CHF->WORKING;
    DATACOPY COP->CURRENCY_VERSION TO COP->WORKING;
    DATACOPY EUR->CURRENCY_VERSION TO EUR->WORKING;
    DATACOPY GBP->CURRENCY_VERSION TO GBP->WORKING;
    DATACOPY MXN->CURRENCY_VERSION TO MXN->WORKING;
    DATACOPY CNY->CURRENCY_VERSION TO CNY->WORKING;
    ENDFIX
    $$$$$$NOTE1: The above FIX STATEMENT
    works just fine and executes in 1 sec as its just a DATACOPY. ESSENTIALLY I
    HAVE CREATED THE BLOCKS I WANT TO PERFORM THE BELOW SPARSE CALCULATION$$$$$$
    FIX(ACTUAL,"2013",@LEVMBRS(D1,0),@LEVMBRS(D2,0),@LEVMBRS(D3,0),@LEVMBRS(D4,0),
    @RELATIVE("EBITDA",0))
    ARS = ARS->CURRENCY_VERSION *
    "ARS_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
    CAD = ARS->CURRENCY_VERSION *
    "CAD_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
    CHF = ARS->CURRENCY_VERSION *
    "CHF_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
    COP = ARS->CURRENCY_VERSION *
    "COP_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
    EUR = ARS->CURRENCY_VERSION *
    "EUR_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
    GBP = ARS->CURRENCY_VERSION *
    "COP_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
    MXN = ARS->CURRENCY_VERSION *
    "MXN_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
    CNY = ARS->CURRENCY_VERSION *
    "CNY_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
    ENDFIX
    $$$$$$NOTE2: The above FIX STATEMENT
    is where we have a problem, THE CALC JUST HANGS AND DOES NOT CALCULATE$$$$$$
    CASE 2: With “specific” members of
    RELEVANT SPARSE DIMENSIONS IN FIX STATEMENT
    //ESS_LOCALE English_UnitedStates.Latin1@Binary
    SET MSG ERROR;
    SET CACHE HIGH;
    SET UPDATECALC OFF;
    SET LOCKBLOCK HIGH;
    SET AGGMISSG OFF;
    SET CALCPARALLEL 4;
    SET CREATENONMISSINGBLK OFF;
    FIX(ACTUAL,"2013",W1,"2251026",MORSCREJWHITE,MORSCREJWHITE_S,KG,TRADESALES)
    DATACOPY ARS->CURRENCY_VERSION TO ARS->WORKING;
    DATACOPY CAD->CURRENCY_VERSION TO CAD->WORKING;
    DATACOPY CHF->CURRENCY_VERSION TO CHF->WORKING;
    DATACOPY COP->CURRENCY_VERSION TO COP->WORKING;
    DATACOPY EUR->CURRENCY_VERSION TO EUR->WORKING;
    DATACOPY GBP->CURRENCY_VERSION TO GBP->WORKING;
    DATACOPY MXN->CURRENCY_VERSION TO MXN->WORKING;
    DATACOPY CNY->CURRENCY_VERSION TO CNY->WORKING;
    ENDFIX
    $$$$$$NOTE3: The above FIX STATEMENT
    works just fine and executes in 1 sec as its just a DATACOPY. ESSENTIALLY I
    HAVE CREATED THE BLOCKS I WANT TO PERFORM THE BELOW SPARSE CALCULATION$$$$$$
    FIX(ACTUAL,"2013","2251026",MORSCREJWHITE,MORSCREJWHITE_S,KG,WORKING)
    ARS = ARS->CURRENCY_VERSION *
    "ARS_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
    CAD = CAD->CURRENCY_VERSION *
    "CAD_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
    CHF = CHF->CURRENCY_VERSION *
    "CHF_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
    COP = COP->CURRENCY_VERSION *
    "COP_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
    EUR = EUR->CURRENCY_VERSION *
    "EUR_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
    GBP = GBP->CURRENCY_VERSION *
    "GBP_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
    MXN = MXN->CURRENCY_VERSION * "MXN_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
    CNY = CNY->CURRENCY_VERSION *
    "CNY_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
    ENDFIX
    $$$$$$NOTE4: The above FIX
    STATEMENT works just fine, as I am fixing on just ONE member from relevant
    dimensions in the FIX STATEMENT$$$$$$
    Please note the only difference between NOTE 2
    and NOTE 4 is the FIX statements. I.e., Fixing all required lev-0 members from
    required dimensions as opposed to Fixing on just single lev-0 members from
    required dimensions.
    Also please note that NOTE 1 FIX statement works
    just fine! So, there is no problem with the FIX statement itself but rather
    with the combination of Sparse Calculations and with Fixing all LEV-0 members
    from required dimension in the FIX. Probably because the Sparse dimensions are
    VERY LARGE.
    Could anyone shed some light on what might be wrong here?
    We are on Essbase standalone V11.1.2.
    Your inputs are very much appreciated!
    Thanks

    Hi,
    One minor thing I notice - your NOTE 2 problem script does not fix on your Working version, whereas the NOTE 4 script does.
    With your small number of blocks, this should not be the problem, but it's probably worth quickly testing and eliminating before delving deeper.
    Your script could be invoking member formulae from the Account dimension - does your outline validate ok..?
    I cannot tell from your NOTE 4 script which member relates to the Account dimension - is it 2251026?
    Whichever it is, it is worth expanding NOTE 4 script up to @RELATIVE("EBITDA",0)....
    - if it runs, you know the problem is with your sparse member selections (ie number of blocks being calculated).
    - If it doesn't run, then you know there is a problem in calculating one or more of the Accounts under EBITDA.  In which case, gradually narrow the range of Accounts to locate the Account or Accounts that trigger the issue.  Chances are there's a problem with the member formula

  • Keep the basemembers order of a dimension when importing it.

    Hi all,
    I am working with Hyperion Planning and I am facing a problem when I try to import a dimension from interface tables to the Shared Library of the workspace. Once I order the basemembers of a dimension in the shared library, I import the dimension again using interface tables (I have the properties of the dimension members in these tables) and I use the merge option, but it gets out of order.
    What can I do if I want to keep the basemembers order of a dimension as it is in the shared library, without losing it every time I import it?
    Thank you!

    In iMovie 10 the select the clip in the Events pane, click Adjust then Info (white circle with "i" in it above the viewer) and the clip name, date and time appears above the viewer.
    Geoff.

  • How to turning the large dimension query in the Analyzer 6.2?

    Dear expert:I need to query a report in the Analyzer 6.2How to turning the performance in the large sparse dimension query in the Analyzer 6.2 and essbase 6.5.1? ---------------------------------------Report is look like: page : order_date sub_code item pur_date currency vendor measure ---------------------------------------dimension order is dimension(member number) Dimension typeOrder_Date(304) densemeasure(6) densecurrency(6) sparsepur_date(138) sparsevendor(135) sparseitem(253) sparsesub_code(151) sparsePlease help to slove the problem, otherwise I will be killed by customer.Thanks your very much.Phoenixsub_code

    Hi All,
    We got another idea to create new template and use it as "Current Default Workbook".
    Then it is showing latest date as we changed one of the Text element from "Display Status of Data" to "Display status of Data To".
    But the this change is showing to my user id only but not to the other users.
    We are selecting the tick mark for "Global Default Workbook", but this tick mark is going away after each refresh. I think if this tick mark is holds permanently, my problem will solve.
    Please suggest me if you have any ideas to resolve this issue....

  • FIX on Sparse Dimensions.

    Hi,
    I know that FIX can be used on both Sparse as well as Dense Dimensions. But its more efficient when used on Sparse Dimensions. Is there any logic behind...? Coz the functionality of FIX is to restrict the dimensions and members, but why is it more effective in Sparse...?
    Please let me know...
    Thanks,

    If you fix on a sparse dimension you restrict the data blocks that must be accessed; thus it is faster.
    If you fix on a dense dimension the calculation must go through every data block.
    Please also refer to http://www.network54.com/Forum/58296/thread/1208974485/Order+of+Fixes+-Doesit+matter-

  • Aggregate only portion of sparse dimension

    System 9 BI+(9.3) - Here's my problem.
    I need to aggregate only a portion of a sparse dimension.
    All members are stored data. Dimension looks like this:
    Total Europe
    -Western Europe
    --France
    --Germany
    --United Kingdom
    --Iberia
    ---Spain
    ---Portugal
    -Central Europe
    -Eastern Europe
    I tried
    FIX(May, 2009, @IDESCENDANT("Iberia"))
    agg(Products,Channel)
    ENDFIX
    but all it does is aggregate Spain and Portugal, but not Iberia.
    I also tried
    FIX(May, 2009, @IDESCENDANT("Western Europe"))
    agg(Products,Channel)
    ENDFIX
    but again all it does is aggregate France, Germany, Spain, Portugal, bit not Iberia or Western Europe.
    Any ideas/assiatnce appreciated.

    The comment on Network54 (sorry, I forgot who posted it) is on the money -- you are not aggregating Region/Geography/whatever your dimension is called.
    Assuming your dimension order is:
    Region
    Products
    Channel
    I would write a script like:
    FIX(@LEVMBRS("Products", 0), @LEVMBRS("Channel", 0))
    @IDESCENDANTS("Iberia") ;
    ENDFIX
    FIX(@IDESCENDANTS("Iberia"))
    AGG("Products", "Channel") ;
    ENDFIX
    You will have to rearrange this a little bit if your dimension order is different. As an example, if your dimension order is Products, Region, Channel, your code might look like:
    FIX(@RELATIVE("Iberia", 0), @LEVMBRS("Channel"))
    AGG("Products") ;
    ENDFIX
    FIX(@IDESCENDANTS("Products"), @LEVMBRS("Channel"))
    @IDESCENDANTS("Iberia") ;
    ENDFIX
    FIX(@IDESCENDANTS("Products"), @IDESCENANTS("Iberia"))
    AGG("Channel") ;
    ENDFIX
    This may look painful, but you may find a significant performance increase.
    Take a look at my blog post, ignore all the Planning stuff, and jump to the bit where I explain how a BSO db consolidates. The concept is identicial to the one I outline above. Here's the link: http://camerons-blog-for-essbase-hackers.blogspot.com/2009/06/why-i-hate-and-love-business-rules-part_17.html
    Regards,
    Cameron Lackpour

  • How to control the measure based on the related dimension.

    Hi Experts,
    In order to improve performance, I have created three kinds of time tables in DB,such as Year .Month, Day.
    Then import them into the physical layer in RPD, and combine them into one dimension in BMM.
    Actually, it has three level fact related with three time tables,so they are also dragged into one fact in BMM,and one column will be corresponding with three column derived from different Fact table in physical layer.
    So I want to know how to control the measure based on the related dimension.
    For example:
    when users drag the Year,Sales column, it will come from Year Dimension and Year Fact Table.
    when users drag the Month,Sales column, it will come from Month Dimension and Month Fact Table.
    when users drag the Day,Sales column, it will come from Day Dimension and Day Fact Table.

    Hi,
    Create a dimension Hierarchy, with Year >> Month >> Day Levels and
    Next Double click on Year Table LTS >> click on Ocntetnt Tab >> set as Year
    same way for Month LTS and Day LTS.
    So now when you select year column then server canknow which LTS to hit and Hits Year LTS.
    Mark If Helpfu/correct
    Thanks.

  • Max. possible no of members in sparse dimension.

    Hi,
    Just wanted to know the maximum no of members in a sparse dimension (BSO cube) that is recommended by Oracle.
    Regards,
    Lijoy

    Hi,
    Have a look at the limits section at :- http://download.oracle.com/docs/cd/E10530_01/doc/epm.931/html_esb_dbag/limits.htm for the official Oracle suggestions.
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • MDX : How to use filter on a dimension without showing it OR merge 2 attributes of the same dimension?

    Hello everyone,
    I'm kind of newbie with MDX language, I'm trying to get filtered measures from a cube with a specific layout.
    Here is my exemple :
    I want to get all the "order numbers" where the "invoice" cost is more than 300.  Each invoice is linked with an ID, one order number can have several invoices.
    So what I do is a select request with 2 dimensions : "order num" and "id_invoice"
    Here is the result : I get all the cost sorted by "order num" and I can easealy identify those who are above 300
    order num
    Id_invoice
    cost
    Total
    Total2
    15450307
    10032013094498
    1671
    1737
    ok
    15450307
    10032013099835
    66
    1737
    KO
    15450596
    10032013094078
    8524
    8524
    ok
    15451214
    10032013094119
    228
    4348
    KO
    15451214
    10032013097069
    978
    4348
    ok
    15451214
    10032013097071
    3142
    4348
    ok
    15542434
    10032013101736
    142
    142
    KO
    15550064
    10032013097016
    1261
    1261
    ok
    15550346
    10032013097586
    2252
    2252
    ok
    15550353
    10032013098446
    2617
    2617
    ok
    What i need : In "cost", I need to have the sum of each cost which are above 300 in one line (without showing the invoice id)
    order num
    cost
    Total
    Total2
    15450307
    1671
    1737
    ok
    15450596
    8524
    8524
    ok
    15451214
    4120
    4348
    ok
    15550064
    1261
    1261
    ok
    15550346
    2252
    2252
    ok
    15550353
    2617
    2617
    ok
    How is it possible to use a filter on a dimension without showing it or merge 2 attributes of the same dimension ?
    The problem is that if I show "id" column, the filter doesn't work properly : it compares 300 with the total cost of the whole order and does not compare with each invoice (which could be under 300 ! - see "KO" in Total2 column)
    Here is the request I use to generate this result :
    with
    member [Measures].[Total]
    as (
    [TP].[ID INVOICE].[All],
    [TP].[ORDER NUM].currentmember,
    [Measures].[COST]
    member [Measures].[Total2]
    as (
    IIF([Measures].[COST] >
    300, "ok",
    "KO")
    select
    {[Measures].[COST],[Measures].[Total],[Measures].[Total2]}
    on
    columns,           
    Filter
                 [TP].[ORDER NUM].[ORDER
    NUM].members *
                 [TP].[ID INVOICE].[ID
    INVOICE].members
                 ,[Measures].[COST]
    > 0
    on
    rows
    FROM [MYCUBE]
    Thank you  for your help !
    Kind regards,
    Olivier.

    Hi Olivier,
    hereunder a similar query against the AW. For all order numbers, we sum all lines above 30 without diplaying the line numbers:
    WITH
    MEMBER [Measures].[lines above 30] AS
    IIF(
    [Measures].[Internet Sales Amount] > 30,
    [Measures].[Internet Sales Amount],
    null
    MEMBER [Measures].[aggr lines above 30] AS
    SUM(
    exists(
    [Internet Sales Order Details].[Sales Order Line].[Sales Order Line],
    [Internet Sales Order Details].[Sales Order Number].currentmember
    [Measures].[lines above 30]
    SELECT
    [Measures].[Internet Sales Amount],
    [Measures].[aggr lines above 30]
    } ON 0,
    [Internet Sales Order Details].[Sales Order Number].[Sales Order Number] ON 1
    FROM ( SELECT
    [Product].[Category].[All Products] ON 0,
    [Internet Sales Order Details].[Sales Order Number].&[SO51177]:
    [Internet Sales Order Details].[Sales Order Number].&[SO51178]
    } ON 1
    FROM [Adventure Works] )
    I reduced the cube with a subselect.
    Philip,

  • Order Menbers in Dimension with Planning v3.3

    Hi all,
    I have a problem with menbers order in a old version of Hyperion Planning v3.3
    I have the dimension Years with this order of menbers:
    FY09
    FY10
    FY08
    when i add another year, i received an error saying that FY09 is already created, in this version of planning don't exist buttons to reorder menbers or cuts and paste options.
    I tried to find the order id in the planning repository but i have only see dimensions with a field for the order of apearence.
    I think that planning uses the Id of creation to order the menbers in planning, then i tried to change the id in the repository to resolve the problem but with no success.
    Anyone can give me any sugestion.

    Hi,
    You could have a similiar post about moving year members :- Re: Non standard Year member in Planning Years dimension
    The post is about moving "No Year" but the logic is the same for other years.
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Illegal cross join within the same dimension caused by incorrect subject ar

    hi!
    Imagine the following BMM:
    There is one Logical Dimension Table "Service Account" with the following LTS:
    - LTS "D_SERVICE"
    - LTS "D_SERVICE_CLASS"
    - LTS "D_SERVICE_STATUS"
    This Logical Tabe "Service Account" joins (One-to-many) with several Fact Tables (other Logical Tables).
    In the Physical Layer the joins for the "Service Account" LTS are:
    - One-to-many between D_SERVICE_CLASS and D_SERVICE
    - One-to-many between D_SERVICE_STATUS and D_SERVICE
    The problem is that when I build a report in Answers using only the following columns of the Logical Table "Service Account":
    - Service Class Desc (which exists in the Logical Table "Service Account" and in the Physical Table D_SERVICE_CLASS)
    - Service Status Desc (which exists in the Logical Table "Service Account" and in the Physical Tabl D_SERVICE_STATUS)
    - MSISDN (which existis in the Logical Table "Service Account" and in the Phsyical Table D_SERVICE)
    the following error appears:
    Estado: HY000. Código: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 14065] Illegal cross join within the same dimension caused by incorrect subject area setup: [ (select * from prd.D_SERVICE where SOURCE_SYS in ('ARBOR','PPB') and DW_SERV_ST_ID in (100000003,100000009)) as T1836, D_SERVICE_CLASS T1916] with [ D_SERVICE_STATUS T1948] (HY000)
    SQL emitido: SELECT "SERVICE ACCOUNT"."TLC MSISDN9" saw_0, "SERVICE ACCOUNT"."IWS Service Class Desc" saw_1, "SERVICE ACCOUNT"."TLC Service Status Desc" saw_2 FROM "VFPT - Upgrade Siebel" WHERE "SERVICE ACCOUNT"."TLC MSISDN9" = '917330340' ORDER BY saw_0, saw_1, saw_2
    Help, please!
    Thanks.

    Physically, only D_SERVICE is joined to the facts. Then D_SERVICE_CLASS is joined to D_SERVICE (one-to-many) and D_SERVICE_STATUS is joined also to D_SERVICE (one-to-many).
    In the BMM, there is only one Logical Dimension Table for those 3 physical tables. This Logical Dimension Table is called "Service Account" and has 3 LTS: D_SERVICE, D_SERVICE_CLASS, D_SERVICE_STATUS. The Logical Dimension Table has several logical columns that are associated to those 3 LTS: SERVICE_KEY, SERVICE_CLASS_KEY, SERVICE_STATUS_KEY, SERVICE_MSISDN, SERVICE_CLASS_DESC, SERVICE_STATUS_DESC.
    The Logical Dimension Table "Service Account" is then joined to a fact table (one-to-many).
    I didn't understand the suggestion about the 3 LTS... Aren't we doing that already? Can you explain it better, please?
    thanks.

Maybe you are looking for

  • Problem with xfce4-session.

    Hello, I'm not sure whether I'm posting in the correct section of the forums but anyway, here's the problem, after upgrading the system xfce started crashing randomly (It definitely crashes when I try to suspend first time, then it does it correctly)

  • Flash compatibility with MAC

    Hello. I am new to the site in Flash, and I´m having problems with Mac browsers. Working on PC, but when I prove the site in a MAC, they do not work properly. If someone can give me a hand I´ll be really grateful. Thanks.

  • Share Mail data with my 10.5.8 install on other hard disk

    Hi all, I'm currently using 10.5.8 as my primary startup disk, I want to set up a second drive with a Snow Leopard install, that's the easy part, I want to be able to check my email when I'm in Snow Leopard mode, but I don't want to have my emails sp

  • SSL Server startup using RSAPrivateKey

    Hi, The CSR for SSL generated the PrivateKey ( xyz-key.der ), no locking password was provided. I used Entrust Toolkit and converted it to an RSAPrivateKey. When I use this file as Server Keyfile and tried starting the server, it gives an EOF Excepti

  • How to find out where all my  itunes music files are stored on my computer?

    I cannot locate the place where all my itunes files/playlists are located on my system. I need to copy this file into my flash drive in order to install into my new systems itunes folder. How do I locate this file? thanks again Karen