Loading  facts at multiple levels

Hi
I have a cube with six dimensions. For one of those six dimensions I get data at all levels so what I want to do is load data at all levels and choose no aggregation for that particular dimension. I need levels in that dimension because I have other cubes in same AW for which I get only leaf level data for all dimensions. How can I load data at all levels for a given dimension?
olap version: 11.2.0.3
Thanks
Dileep.

In AWM you should be able to drag the dimension key column from the fact table to multiple levels of the hierarchy.
At the XML level you should see elements in the cube map like this:
<CubeDimensionalityMap
  Name="MY_DIM"
  Dimensionality="MY_DIM"
  MappedDimension="MY_DIM.MY_HIER.LEAF_LEVEL"
  Expression="MY_FACT.MY_DIM_COLUMN">
</CubeDimensionalityMap>The MappedDimension attribute instructs the server to load data at the LEAF_LEVEL only. To get it to load at all levels you can simply delete the MappedDimension line and recreate the cube. If you then look in the AWM mapping screen you should see MY_FACT.MY_DIM_COLUMN mapped to all levels within MY_DIM.MY_HIER.
There are a few cases where this will not work, so be warned! Here are some that I can think of.
(1) If you have an MV on the cube
(2) You are partitioning by the dimension
(3) The expression for the CubeDimensionalityMap comes from the dimension table.
Case (3) sometimes happens because users map to a dimension table column instead of to a fact table column wwhen they are different sides of the table join. For example if the table join condition is "MY_FACT.MY_DIM_COLUMN = MY_DIM_TABLE.KEY_COLUMN" then some people map to the expression MY_DIM_TABLE.KEY_COLUMN instead of to MY_FACT.MY_DIM_COLUMN. If this is true, then you can just change the expression to point to the fact column. A legitimate case of (3) happens where the fact table contains data at a lower level (e.g. DAY) than what is loaded into the AW (e.g. MONTH). A solution there is to create a VIEW that does the correct join and then map the cube to the VIEW.

Similar Messages

  • Load cube data at multiple levels

    Hi All,
    I have a time dimension with following hierarchies.
    all_time --> Year --> Quarter -->Month
    all_time -->Week
    My fact table contains data at week and month level. I mapped my fact table time_key to both levels(Week and month) in AWM but when I load data into cube AWM loading data only at week level and ignoring all moths facts rows in facts table. How can I load data at both levels?
    Olap Version: 10.2.0.4
    Thanks
    Dileep.

    I am trying to wrap my mind around your design. It appears that you have a fact table with two levels of granularity. Why not just have one hierarchy with a granularity at the week level?
    All Time --> Year --> Quarter --> Month --> Week
    Do you have some facts that relate only to a month level? If so, can you just relate the month total to one of the weeks in the month? Or is it acceptable to just have data at the month level and eliminate the week level?
    If your week and month data are mutually exclusive, you could run into problems. When you look at data rolled up to the year level, for example, it would exclude the data that was inserted at the week level.
    When I think of multiple hierarchies of time, I first think of calendar years versus fiscal years. The two hierarchies are completely unique due to a business requirement, yet they are clearly related as measures of time (years, months, etc.). But a fiscal month never rolls up into a calendar quarter, or a calendar day into a fiscal week or year, because the hierarchies are distinct. But the fact table is at only one level of granularity (day or week or month), no matter how it rolls up into the separate hierarchies.
    At first glance, your two hierarchies look like they should be one.

  • Aggregating data loaded into different hierarchy levels

    I have some problems when i try to aggregate a variable called PRUEBA2_IMPORTE dimensinated by time dimension (parent-child type).
    I read the help in DML Reference of the OLAP Worksheet and it said the follow:
    When data is loaded into dimension values that are at different levels of a hierarchy, then you need to be careful in how you set status in the PRECOMPUTE clause in a RELATION statement in your aggregation specification. Suppose that a time dimension has a hierarchy with three levels: months aggregate into quarters, and quarters aggregate into years. Some data is loaded into month dimension values, while other data is loaded into quarter dimension values. For example, Q1 is the parent of January, February, and March. Data for March is loaded into the March dimension value. But the sum of data for January and February is loaded directly into the Q1 dimension value. In fact, the January and February dimension values contain NA values instead of data. Your goal is to add the data in March to the data in Q1. When you attempt to aggregate January, February, and March into Q1, the data in March will simply replace the data in Q1. When this happens, Q1 will only contain the March data instead of the sum of January, February, and March. To aggregate data that is loaded into different levels of a hierarchy, create a valueset for only those dimension values that contain data. DEFINE all_but_q4 VALUESET time
    LIMIT all_but_q4 TO ALL
    LIMIT all_but_q4 REMOVE 'Q4'
    Within the aggregation specification, use that valueset to specify that the detail-level data should be added to the data that already exists in its parent, Q1, as shown in the following statement. RELATION time.r PRECOMPUTE (all_but_q4)
    How to do it this for more than one dimension?
    Above i wrote my case of study:
    DEFINE T_TIME DIMENSION TEXT
    T_TIME
    200401
    200402
    200403
    200404
    200405
    200406
    200407
    200408
    200409
    200410
    200411
    2004
    200412
    200501
    200502
    200503
    200504
    200505
    200506
    200507
    200508
    200509
    200510
    200511
    2005
    200512
    DEFINE T_TIME_PARENTREL RELATION T_TIME <T_TIME T_TIME_HIERLIST>
    -----------T_TIME_HIERLIST-------------
    T_TIME H_TIME
    200401 2004
    200402 2004
    200403 2004
    200404 2004
    200405 2004
    200406 2004
    200407 2004
    200408 2004
    200409 2004
    200410 2004
    200411 2004
    2004 NA
    200412 2004
    200501 2005
    200502 2005
    200503 2005
    200504 2005
    200505 2005
    200506 2005
    200507 2005
    200508 2005
    200509 2005
    200510 2005
    200511 2005
    2005     NA
    200512 2005
    DEFINE PRUEBA2_IMPORTE FORMULA DECIMAL <T_TIME>
    EQ -
    aggregate(this_aw!PRUEBA2_IMPORTE_STORED using this_aw!OBJ262568349 -
    COUNTVAR this_aw!PRUEBA2_IMPORTE_COUNTVAR)
    T_TIME PRUEBA2_IMPORTE
    200401 NA
    200402 NA
    200403 2,00
    200404 2,00
    200405 NA
    200406 NA
    200407 NA
    200408 NA
    200409 NA
    200410 NA
    200411 NA
    2004 4,00 ---> here its right!! but...
    200412 NA
    200501 5,00
    200502 15,00
    200503 NA
    200504 NA
    200505 NA
    200506 NA
    200507 NA
    200508 NA
    200509 NA
    200510 NA
    200511 NA
    2005 10,00 ---> here must be 30,00 not 10,00
    200512 NA
    DEFINE PRUEBA2_IMPORTE_STORED VARIABLE DECIMAL <T_TIME>
    T_TIME PRUEBA2_IMPORTE_STORED
    200401 NA
    200402 NA
    200403 NA
    200404 NA
    200405 NA
    200406 NA
    200407 NA
    200408 NA
    200409 NA
    200410 NA
    200411 NA
    2004 NA
    200412 NA
    200501 5,00
    200502 15,00
    200503 NA
    200504 NA
    200505 NA
    200506 NA
    200507 NA
    200508 NA
    200509 NA
    200510 NA
    200511 NA
    2005 10,00
    200512 NA
    DEFINE OBJ262568349 AGGMAP
    AGGMAP
    RELATION this_aw!T_TIME_PARENTREL(this_aw!T_TIME_AGGRHIER_VSET1) PRECOMPUTE(this_aw!T_TIME_AGGRDIM_VSET1) OPERATOR SUM -
    args DIVIDEBYZERO YES DECIMALOVERFLOW YES NASKIP YES
    AGGINDEX NO
    CACHE NONE
    END
    DEFINE T_TIME_AGGRHIER_VSET1 VALUESET T_TIME_HIERLIST
    T_TIME_AGGRHIER_VSET1 = (H_TIME)
    DEFINE T_TIME_AGGRDIM_VSET1 VALUESET T_TIME
    T_TIME_AGGRDIM_VSET1 = (2005)
    Regards,
    Mel.

    Mel,
    There are several different types of "data loaded into different hierarchy levels" and the aproach to solving the issue is different depending on the needs of the application.
    1. Data is loaded symmetrically at uniform mixed levels. Example would include loading data at "quarter" in historical years, but at "month" in the current year, it does /not/ include data loaded at both quarter and month within the same calendar period.
    = solved by the setting of status, or in 10.2 or later with the load_status clause of the aggmap.
    2. Data is loaded at both a detail level and it's ancestor, as in your example case.
    = the aggregate command overwrites aggregate values based on the values of the children, this is the only repeatable thing that it can do. The recomended way to solve this problem is to create 'self' nodes in the hierarchy representing the data loaded at the aggregate level, which is then added as one of the children of the aggregate node. This enables repeatable calculation as well as auditability of the resultant value.
    Also note the difference in behavior between the aggregate command and the aggregate function. In your example the aggregate function looks at '2005', finds a value and returns it for a result of 10, the aggregate command would recalculate based on january and february for a result of 20.
    To solve your usage case I would suggest a hierarchy that looks more like this:
    DEFINE T_TIME_PARENTREL RELATION T_TIME <T_TIME T_TIME_HIERLIST>
    -----------T_TIME_HIERLIST-------------
    T_TIME H_TIME
    200401 2004
    200402 2004
    200403 2004
    200404 2004
    200405 2004
    200406 2004
    200407 2004
    200408 2004
    200409 2004
    200410 2004
    200411 2004
    200412 2004
    2004_SELF 2004
    2004 NA
    200501 2005
    200502 2005
    200503 2005
    200504 2005
    200505 2005
    200506 2005
    200507 2005
    200508 2005
    200509 2005
    200510 2005
    200511 2005
    200512 2005
    2005_SELF 2005
    2005 NA
    Resulting in the following cube:
    T_TIME PRUEBA2_IMPORTE
    200401 NA
    200402 NA
    200403 2,00
    200404 2,00
    200405 NA
    200406 NA
    200407 NA
    200408 NA
    200409 NA
    200410 NA
    200411 NA
    200412 NA
    2004_SELF NA
    2004 4,00
    200501 5,00
    200502 15,00
    200503 NA
    200504 NA
    200505 NA
    200506 NA
    200507 NA
    200508 NA
    200509 NA
    200510 NA
    200511 NA
    200512 NA
    2005_SELF 10,00
    2005 30,00
    3. Data is loaded at a level based upon another dimension; for example product being loaded at 'UPC' in EMEA, but at 'BRAND' in APAC.
    = this can currently only be solved by issuing multiple aggregate commands to aggregate the different regions with different input status, which unfortunately means that it is not compatable with compressed composites. We will likely add better support for this case in future releases.
    4. Data is loaded at both an aggregate level and a detail level, but the calculation is more complicated than a simple SUM operator.
    = often requires the use of ALLOCATE in order to push the data to the leaves in order to correctly calculate the aggregate values during aggregation.

  • Problem in Aggregate with Multiple level of dimension

    Hi,
    I have a BI repository with a snowflake schema. I have also designed the business model with snowflake, It works with drilling and all but I am facing problem when I am
    creating  a logical column aggregating with a higher level of dimentation. Let me illustrate that :
      I have the Following Hierarchy :
    Tournament(id, Name) ---- > Round (id, name, tournament_id) -------> Match (id, Name, RoundId ) |  Match is fact table and other 2 dimension.
      I also created a logical dimension called tournament with 3 levels.
      Now say I want to create a logical column Total Number of Matches , aggregating  to the dimension level of Tournament. The result gives counts a 0 for every tournament. However
      it is working perfectly when the dimension level is Round (which is the immediate next level after fact).
      The Logical request generated (in case of Tournament level) :
       MatchId:[DAggr(Measure1.MATCHID by [ Matches$.TournamentId]  SB Tournament)] as c1 GB.   
        There is no such column as TournamentId in Matches$ table. How does the BI server got this ?
       The execution plan  evaluate this:
         cast(NULL as  INTEGER )  as c1 GB [for database 0:0,1]
       Can someone please explain why is this happening, is it because of the snowflake schema, but I guess if BI server can handle a snowflake schema it should work the Aggregate
       properly in multiple levels of dimensions, or it is something I am doing wrong.
       Execution Environment:
         Windows XP ,  OBI 10g on OC4J.  Data source : MS Excel (ODBC 3.5)
      Regards,
      Ru

    Hi,
    With reference to your question.
    Can any operator perform this task..I don't think any single operator will help you.
    I suggest using an intermediate (staging) table by using a PL SQL procedure with output port to store the values of account number provided the number of accounts are limited. Else use an array variable for account of an employee.
    In short no simple solution because of the bad source design else the pivot/unpivot operator would have helped you.
    Cheers
    - Mohammed

  • Multiple levels in a mobile game

    Hi
    Im a little confused on multiple levels in a j2me game with respects to re-initialising the level, once level 1 is complete.
    How, and what would be the best code practise, once level1=true(complete) to load level 2. Where do i actually send my code back too, to start the next level. Do i do some kind of garbage collection/reset, then simply load all the graphics in for level 2?.
    Also, some games feature levels like in an RPG, where each room is loaded when the character reaches the exit - how is this being called from the j2me code?
    Thanks
    Steve

    Would you be able to explain it to me?  Here is a picture of what i'm trying to do..
    When 'player_mc' touches' hitbox_mc', the movieclip 'bat_mc' plays once and erases itself.
    And for the level change its the same concept... Player touches box and gets sent to second frame on timeline which is t he next level...
    Been trying to figure this out all weekend and just turned to pros for help now..

  • Is it possible to load data at aggregated level directly

    Hi All,
    My question may sound vague but still would like to clarify this.
    Is it possible to load data at some higher level than the leaf level? The reason for asking this question is that we are facing severe performance issues while loading the cube.
    We are trying to reduce the number of members which inturn can reduce the loading time. On this attempt to reduce the number of members client said that there are 3 million leaf members(out of 4.3 million total members) for which they do not bother if they appear on report or not but they want to see the total value correct. i.e. the dimension will be only loaded with 1.3 million(4.3 - 3) members but the total can still be correct(including the 3 million leaf members).
    Is it possible to have two loads one at leaf level only and other at parents and above levels.
    DB - 10.2.0.4
    Also I want to know when do we use allocmap? how does this work?
    Regards,
    Brijesh
    Edited by: BGaur on Feb 13, 2009 3:33 PM

    Hi Carey,
    Thanks for your response.
    I worked on your suggestion and I could able to load data at higher level for a value based hierarchy. But I met with a other problem while doing this.
    I am describing this as a level based but while loading we are converting to value based hierarchy.
    we have following levels in the customer dimension having two hierarchy
    hier1
    lvl1
    lvl2
    lvl3
    lvl4
    lvl5
    prnt
    leaf
    hier2
    level1
    level2
    level3
    level4
    prnt
    leaf
    so prnt and leaf is common levels are common in both the hierarchies but we were facing multipath issues in second hierarchy and we work around it by concatenating the level name.
    In attemp to decrease the number of this dimension member(currrently 4.3 million) business suggested that there are some kind of customer for which they dont want to see the data at leaf and prnt level instead the level4 or lvl5 should have the total consisting of those members. So by this way we need not to load those members and they were making up 2.4 million out of 4.3
    To implement above I did following.
    1. Created six hierarchies.
    one to have members from level4 till level1
    second to have members from lvl5 till lvl1
    third to have all members of hier1
    fourth to have all members of hier2
    fifth will have leaf and prnt of hier1
    sixth will have leaf and prnt of hier2
    In fifth and sixth hierarchy leaf is common but prnt is different due to the concatenation.
    In the cube I am selecting the aggregation hierarhies as first,second,fifth and sixth. hierarchies third and fourth will be used for viewing the data.
    Fact will have data corresponding for leaf level data,level4 and lvl5.
    The challenge I am facing is that if there is some fact value for leaf level loaded through relational fact but no value being loaded through fact for lvl5 or level4 I am not seeing the total value as leaf value is aggregating till prnt level and no value at level4 or lvl5 so same is propagated till lvl1 and level1.
    I tried to be as clear as possible but still if there is any confussion pls update the thread. I understand that the approach is vague but I am not seeing any other way.
    Thanks
    Brijesh

  • Using SUM BY or MAX BY for multiple levels

    I was wondering if anyone knows if you can use the SUM BY for multiple levels e.g.
    I am using the following at the moment: SUM("Fact.Value" BY Dimension.Level1), but I also want to sum the value by a different level, so adding a second 'BY' level.
    I can't seem to figure if its possible. Any help would be appreciated.

    Hi,
    If I understood you correctly, yes, you can use for example: SUM(saw_4 by saw_1, saw_2, saw_3)
    I hope this helps.

  • Can we load data for all levels in ASO?

    Hi All,
    Im creating cube in ASO
    can i load data for all levels in ASO
    we can load data for all Levels In BSO but in ASO i need confirmation????
    and one more
    wat is the consider all levels option in ASO is used for ? wat is the purpose?
    Can any one help ,it would be appriciate.
    Thanks

    In an ASO cube you can only load to level zero
    The consider all levels if used for aggregation hints. It allows you to tell the aggregation optimizer to look at all levels when deciding if aggregation needs to be done on the dimension

  • Can we load data for all levels in ASO cube

    Hi All,
    Can we load data for all levels of members in ASO cube in 9.3.1.
    Regards

    Yes you can load data for all levels in an ASO cube in any version HOWEVER, none of the upper level data in any cube will be there when you look for it. You will get a warning message in the load because ASO cubes don't store data at upper levels. It is the same as loading data into dynamic calc members in BSO cube. It will do the load without compalints, but there will be no data there (At least you get the warning in ASO)

  • Load fact table with null dimension keys

    Dear All,
    We have OWB 10g R2 and ROLAP star schema. In our source system some rows don’t have all attributes populated with values (null value), and this empty attributes are dimension (business) keys in star schema. Is it possible to load fact table with such rows (some dimension keys are null) in the OWB mappings? We use cube operator in mappings.
    Thanks And Regards
    Miran

    The dimension should have a row indicating UNKNOWN, this will have a business key outside of the normal range e.g. -999999.
    In the mapping the missing business keys can then be NVL'd to -999999.
    Cheers
    Si

  • Load software on multiple devices?

    Does my license allow me to load Elements on multiple devices?  If so, is there an iPad version?

    Elements does not work on tablet devices. You are permitted two activations; either on two desktop machines or one desktop plus one laptop.

  • CL_SALV_HIERSEQ_TABLE - Multiple level heirachial sequential list

    Class CL_SALV_HIERSEQ_TABLE  -  Can this class be used for multiple level heirarchial sequential list ?
    It works perfect for 2 level heirarchial list u2013 Thanks to Rich Heilman. Say for Eg, SCARR and SFLIGHT.
    My requirement has more levels. I looked into all the methods of the class, but none of them seems to help to append more levels.
    Here is my requirement.
    Selection screen had date range,  partner functions etc ..
    -->Select all Inquiries for given date range or (TABLE u2013 VBAK) given sold to party/ship to party etcu2026
    -->Get all statuses (system status /user status etc (TABLE u2013 JCDS and TJ30T ).
    -->Select all Quotations for given inquiry, if any
    -->Select all Orders for the selected quotations, if any
    -->Select all deliveries for selected orders, if any and read status, whether shipped or not (VBFA/LIKP/ VBUK )
    And list these in a multilevel heirarchial mode
    Inquiry1/created by/created on/ sold to party/ Application engineer/inside sales Rep
         Status1 / description/ active /  changed by / date      
         Status2/ description/ active /  changed by / date
         u2026..
         u2026..
         Status 5u2026..
              Quotation1 / Created on /created by/quantityu2026
                   Order1/created on/created by/
                        Delivery1 /created on / created by/ not shipped
                        Delivery2/ created on / created by / partially shipped
                   Order2/created on/created by
    Inquiry2/created by/created on/ sold to party/ Application engineer/inside sales Rep
         Status1 / description/ active /  changed by / date      
         Status2/ description/ active /  changed by / date
         u2026..
         u2026..
         Status 5u2026..
              Quotation1 / Created on /created by/quantityu2026
    I need atleast 3 internal tables, 1 for Inquiry, another for status data, another for Quotation/order/delivery.
    Anyone has any clue, how to achieve this ? cl_salv_tree also doesnu2019t seems to helpu2026
    As per my understanding, we could pass only 1 single structure to a tree output.
    For eg, all lines of the tree output should be of the same structure. (please correct me if I am wrong )..
    But In my case, the fields on each level are different, and I need to pass different structures to the tree.
    Please let me know, if anyone have a clue..
    Thanks much

    Sujamol (or anyone),
    did you ever manage to do this? I would like to do the same.
    Report SALV_DEMO_HIERSEQ_COLUMN does it for two levels. What about 3, 4.....?
    Thanks.

  • ARRAY and records at multiple level ? please help

    Hi experts!!
    I am struck up with a problem. If u can please help me.
    I need a structure of this type.
    create type GRADE as object(
    grade varchar2(30)
    / -- works fine , creates
    create type GRADE_ARRAY as VARRAY(10) of GRADE;
    / -- works fine and creates
    create type SPECIES as object
    Species_number number,
    array_of_grade GRADE_ARRAY
    / works fine
    create type SPECIES_ARRAY as VARRAY(20) of SPECIES;
    -- error comes here.. Can not have multiple level..type error
    and so can not go ahead. In fect I wanted to use next level also. like this.
    The next command remains my dream only then because I could not create the SPECIES ARRAY it self..
    create type TIMBER as object
    timber_mark varchar2(6),
    no_species number,
    array_of_species(20) SPECIES_ARRAY
    the problem is for multiple level ARRAY AND RECORD/object combination..
    I tried with OBJECT AND VARRAY it does only for one level.. not even two level.
    my Mail ID:
    [email protected]
    Thanks and Regards..
    Virendra chauhan

    I think multi-level collections was first implemented in 9.2. You failed to mention what version of the DB you are using.

  • Multiple level bursting in OBIEE

    I am creating a report in OBIEE, which needs to be bursted.
    the bursting should be done at multiple levels
    For ex:
    take a sample report of employees table, dept table.
    I want to burst by dept-wise , Job-wise and manager-wise.
    i mean, 10 dept PDF , 7 position PDF and X manager PDF.
    Will i be able to do this by using bursting query ??

    I was at a conference and heard that someone actually uses OBIEE. Is that you? Or is it two people now?

  • Why doesn't the back button have a dropdown to jump back multiple levels in Firefox 4? Is there an option to re-enable that?

    Before I upgraded to Firefox 4, the back button (as it is in every other browser under the sun,) had a dropdown so you could skip one tier of going back and drop back multiple levels. This is especially important when there is a site redirecting you and you can't rewind past it with single Back clicks. However, FF4 doesn't have this -- at least not by default -- and I don't see it anywhere in the options to add it. Is it hiding somewhere I haven't found, or was that removed?

    You have to either click and hold the back button or right click to access the drop down selection.

Maybe you are looking for

  • Opacity problems with exported movie

    Hi all I'm having an issue with Motion 5. My project is 3046x1080 @ 30fps with a transparent canvas as a background and I have my timeline with about 5 clips all placed in seperate layers. All I'm trying to do is fade from one clip to the next so I f

  • How to create an ODBC entry from Java

    From Java application, how can I create an ODBC entry in Ms Windows client?

  • How to read Chinese Characters in iTunes?

    Hi all, Is there anyone who can enlighten me on how I can read chinese characters in iTunes? I have quite a number of Chinese songs that I wish to be played in iTunes, but I noticed that it does not read the chinese song titles and had small rectangl

  • Timesheet App in Sharepoint 2013

    How to add timesheet app in sharepoint 2013.i tried but cant get the result.Please suggest me the correct way to  add timesheet App in sp 2013.Using that i want to create Dashboard for displaying the Project details. Want immediate solution for this.

  • Service Entry sheet process

    Hi , could you please help on this scenario. We had implemented Service based IV recently, but business people want to add -ve qty during SES , before implementing this Service based IV check users can enter -ve qty in SES, because of this implementa