Aggregation at the lowest level in the cube

Hi guys
I designed very simple test cube with one dimension (both MOLAP driven).
The dimension PRODUCT consists of three levels:
- Group
- Category
- Product_detail
PRODUCT_SRC table to load PRODUCT dimension:
PR_GROUP_NAME PR_GROUP_ID PR_CATEGORY_NAME PR_CATEGORY_ID PR_DETAIL_NAME PRODUCT_DETAIL_ID
dairy 1000 yoghurts 1000000 yoghurt_1 1000000000
dairy 1000 yoghurts 1000000 yoghurt_2 1000000001
dairy 1000 yoghurts 1000000 yoghurt_3 1000000002
candy 1001 cookies 1000001 cookies_1 1000000003
candy 1001 cookies 1000001 cookies_2 1000000004
candy 1001 cookies 1000001 cookies_3 1000000005
beverages 1002 juices 1000002 juice_1 1000000006
beverages 1002 mineral water 1000003 mineral_water_1 1000000007
beverage 1002 energy drink 1000004 energy_drink_1 1000000008
The cube SALES has one measure:
- Value_of_sales (sum aggr)
SALES_SRC table to load SALES cube:
VALUE PROD_ID ID
1236 1000000002 2
115 1000000006 3
1697 1000000005 4
12 1000000004 5
168 1000000008 6
1984 1000000005 7
9684 1000000004 8
84 1000000002 9
8 1000000007 10
498 1000000006 11
4894 1000000008 12
4984 1000000004 13
448 1000000003 14
4489 1000000004 15
13 1000000001 16
879 1000000004 17
896 1000000006 18
4646 1000000007 20
I created the dimension PRODUCT and a mapping which loaded the data into the dimension. It worked perfectly. The hierarchy was created as I expected.
Then I created cube SALES and a mapping which should load the data into the cube. It is very very simple mapping - there were just only two items on the canvas:
- SALES_SRC table
and
- SALES cube
and two lines:
- from SALES_SRC.VALUE to SALES.VALUE_OF_SALES
- from SALES_SRC.PROD_ID to SALES.PRODUCT_NAME
Then I deployed everything and ran mapping, which loaded cube. But in my opinion the cube was not populated in a proper way, because it was no aggregation performed at the lowest level of product hierarchy - there was only a value of the first occurence of certain product. I mean:
In SALES.SRC we have for instance:
VALUE PROD_ID ID
1236 1000000002 2
84 1000000002 9
For me the the value in the cube should be 1236 + 84 = 1320, but the value in the cube at PRODUCT_DETAIL_LEVEL for yoghurt_3 is only 1236 - first occurence of this product in SALES.SRC.
Why hasn't been the data aggregated at lowest level of PRODUCT dimension hierarchy - is it the way OWB does such things?
Should I manually aggregate the data before loading to cube (just to use Aggregator to aggregate the data at lowest level)? If yes - what about incremental loading of data to cube (the old value value is simply replaced by new one and not summed in the cube)
In data warehouse solutions of other vendors the cube in such situation is loaded as I expected here.
I really don't know what to do. I do really appreciate any help from you.
Thank you in advance
Peter

Hi David
Thank you very much.
Now I'm sure that I have to aggregate facts by myself at the lowest level of hierarchy in a dimension.
Regards
Peter

Similar Messages

  • How to include non-joining records from level one in the lowest level?

    As an example the dimension has three levels with data coming from three source tables. The relationships between these tables are zero to many. As a result of this e.g. there are records at the first level that do not join to the second table for level two, i.e. there is a customer entry but the customer has not acquired any products. However, we would like to see in the query for the lowest level also the customers that didn't acquire any products. They are there when there is no filter for the lowest level, but that returns duplicate data. I was hoping I could accomplish this by using outer joins when loading the dimension, but it loads the same as without the outer joins. Hopefully, this trivalized example describes what I am trying to accomplish.

    You won't be able to have a true "default" value in the various cascading levels, since there aren't default values in a dynamic cascading parameter.  That being said, I've created a sample report in Crystal Reports 2008 that has a Command-driven DCP with '*' values for the 2nd and 3rd levels of my 3-tier DCP and have accounted for them in the record selection criteria.  You can find the sample here at https://www.box.net/shared/mav5qp337j

  • Why do we need to plan promotions at the lowest level of aggregation

    Hi,
         The documentation says that we need to plan the promotions at the lowest level of aggregation i.e., the material level. Why? Is there a specific reason for this? Can we plan at other levels of aggregation as well? What happens if we plan at higher level;s of aggregation?
    Thanks.

    I think it is possible to do it in an aggregated level however you need to define your distribution rules in order to get the desired result, you need also to consider that if distribution rules changes and the value after promotional planning returns the same value, it is possible that detailed level are not realigned to the new distribution rule (e.g. regarding another ratio).
    Maybe this is one of several causes.
    Regards,
    Carlos

  • Hierarchy drill down issue at the lowest level

    Hi,
    In OBIEE 11.1.1.5 I face an issue with drill down to lowest level of presentation hierarchy (expanded by "+" in report). It happens only for combination of 2 dimensions presentation hierarchies in analytics report (parent-child organizational structure + level based product categorization). Aggregated date comes from OLAP but lowest level product information comes from relational database and this details are not displayed.
    First I drill to particular sales rep in organizational structure. Then for that sales rep I need to drill down product hierarchy and it works except lowest level of details. At the lowest level of product hierarchy, query sent to database (I have it from logs) return proper results (checked directly in db) but report behaves the way like there are no details at the lowest level and product details are not displayed.
    Both (Organizational structure, Product) dimension presentation hierarchies works ok at all levels when used separately. Also product hierarchy works well at all levels (including OLAP->relational drill) when used togather with other level-based hierarchies in subject area.
    I am wondering what I could have done wrong...
    Advices are very welcome!

    Hierarchy keys are set properly and "use for display" is checked.
    Dimension presentation hierarchies does not work only when I use particular two hierarchies togather in one report table. When each of hierarchies is displayed separately it works ok.

  • Components in the lowest level of costing structure in SO

    Hi,
    Could you please let me know is any function module to get  Components in the lowest level of costing structure in Sales order.
    Thanks,
    Harinath

    Yes, you can manipulate your components any way you like. Becareful about the layout manager though as it likes to handle the positioning and sizing, so there is an intimate relationship there.
    Also call validate() on the container after you make your changes.

  • Assign WBS AVAC not in the lowest level of WBS elements

    Dear SAP Community,
    Our client has requirement to have budget availability control in WBS element level 3 while the WBS structure is until level 5 and the actual posting will occurred in WBS element level 5.
    Our current setting is to have WBS element level 5 as Planning Element and Account Assignment Element. So, user can upload their WBS planning data from the lowest level of WBS structure. Then we copy the Planning Data as Budget through CJ30 and release it through CJ32.
    If we set the value of Budget Data in CJ30 and CJ32 until the level 5, the system check AVAC in WBS level 5 instead of the amount rolled up in WBS level 3. If we set the value of Budget Data in CJ30 and CJ32 in WBS level 3, the system will check AVAC in WBS level 3 (as we expected) but the consequence is comparison of actual vs budget in WBS level 5 will have variance 100%.
    Is there any way to define the budget data until WBS level 5 but the AVAC control is in WBS level 3?
    Appreciate your inputs
    Thank you and best regards,
    Fitria

    Hi,
    >If we set the value of Budget Data in CJ30 and CJ32 in WBS level 3, the system will check AVAC in WBS level 3 (as we >expected) but the consequence is comparison of actual vs budget in WBS level 5 will have variance 100%.
    We had similar kind of requirement, we had followed the above process. THis will provide the required functionality except the variance in reports. Try and convince the client to settle for this if this meets your requirements.
    As AVAC  can't be managed at WBS levels.
    Regards,
    Harsh.

  • Brightness in the lowest level still very light, any suggestion ?

    brightness in the lowest level still very light, any suggestion ? imac 24" intel

    I've installed Shades - works very well:
    http://www.charcoaldesign.co.uk/shades#download

  • How to get BOM compoents at the lowest level using BOM tables?

    I am doing a report based on CK13N wherein i hav material and plant as the selection parameters and based on that i get the product costing of the entire BOM.
    I pass material to MAST.get the BOM num and usage
    Pass it to STAS and get STLKN (ITEM NODE NUMBER)
    After that i pass STLKN and STLNR(BOM number) to STPO to get the BOM subitems based on UPSKZ(Sub items indicator). But that fails because UPSKZ is nt set for all the assemblies.
    So hw do i get the BOM components at the lowest level USING these TABLES

    Ashwin
    1) As Taj Said, Sub item is not actually a item or component.
    2) The sub item number what we are viewing the sub item sceen will be 001,002 like ,it not mean any item
    3) For Example a car has 4 wheels, so the item/component description is WHEEL
    4) The BOM Quantity of wheel is 4
    5) In BOM General item over view, you can select the wheel then click subitem
    6) This will lead to sub item screen
    7) There you can see subitem 001,002,003 then installation point,subitem text,qty etc
    8) Against installation point you can decalre Front Left,Front Right,Rear Left,Rear Left
    9) Against sub item text,qty you can declare Front Left wheel-1,Front Right wheel-1, Rear Left wheel-1, Rear Right wheel-1 no
    9) This does not mean there are addition Sub items for wheel (ie) additional BOM component)
    10) Just declaring the positions for fitting in the car to ease the Assembly Person for fixing the wheel
    11) So if you get the cost for WHEEL as assigned in BOM item then ok, don't worry about sub item cost
    Reward me if my answer is helpful
    K.Prabakaran

  • How to obtain BOM componnts at the lowest level based on SUB item indicator

    I am doing a report based on CK13N wherein i hav material and plant as the selection parameters and based on that i get the product costing of the entire BOM.
    I pass material to MAST.get the BOM num and usage
    Pass it to STAS and get STLKN (ITEM NODE NUMBER)
    After that i pass STLKN and STLNR(BOM number) to STPO to get the BOM subitems based on UPSKZ(Sub items indicator). But that fails because UPSKZ is nt set for all the assemblies.
    So hw do i get the BOM components at the lowest level USING these TABLES..

    Ashwin
    1) As Taj Said, Sub item is not actually a item or component.
    2) The sub item number what we are viewing the sub item sceen will be 001,002 like ,it not mean any item
    3) For Example a car has 4 wheels, so the item/component description is WHEEL
    4) The BOM Quantity of wheel is 4
    5) In BOM General item over view, you can select the wheel then click subitem
    6) This will lead to sub item screen
    7) There you can see subitem 001,002,003 then installation point,subitem text,qty etc
    8) Against installation point you can decalre Front Left,Front Right,Rear Left,Rear Left
    9) Against sub item text,qty you can declare Front Left wheel-1,Front Right wheel-1, Rear Left wheel-1, Rear Right wheel-1 no
    9) This does not mean there are addition Sub items for wheel (ie) additional BOM component)
    10) Just declaring the positions for fitting in the car to ease the Assembly Person for fixing the wheel
    11) So if you get the cost for WHEEL as assigned in BOM item then ok, don't worry about sub item cost
    Reward me if my answer is helpful
    K.Prabakaran

  • Help with Adobe.premiere.elements12. Please It would appear under the organizer tab that the photos are organised in the lowest folder in the folder structure within Windows Explorer.  How can I use the Windows Explorer structure to organise the photos wi

    Help with Adobe.premiere.elements12. Please
    It would appear under the organizer tab that the photos are organised in the lowest folder in the folder structure within Windows Explorer.  How can I use the Windows Explorer structure to organise the photos within Elements.

    In a situation such as yours, I tend to consolidate items into folders so I have folders of nice workable numbers of images, somewhere between 20 and 200 images. Now, whatever, once you've imported, do your moving within LR, not the OS! I will select all in a folder and drag into a folder a level or two or three above, and then delete the newly empty subfolders. I hope this helps a bit!
    Once you've reached just new Imports of camera output, you'll be flying along.

  • I have request in the report level but the same is missing in the infocube

    Dear Experts,
    I have request in the report level but the same is missing in the compressed infocube level. What could be the cause? does the compressed infocube deletes the request ? if so, I could able to view other requests under infocube manage level.
    Kindly provide with enough information.
    Thanks.............

    Hi
    Compressing InfoCubes
    Use
    When you load data into the InfoCube, entire requests can be inserted at the same time. Each of these requests has its own request ID, which is included in the fact table in the packet dimension. This makes it possible to pay particular attention to individual requests. One advantage of the request ID concept is that you can subsequently delete complete requests from the InfoCube.
    However, the request ID concept can also cause the same data record (all characteristics agree, with the exception of the request ID) to appear more than once in the fact table. This unnecessarily increases the volume of data, and reduces performance in reporting, as the system has to perform aggregation using the request ID every time you execute a query.
    Using compressing, you can eliminate these disadvantages, and bring data from different requests together into one single request (request ID 0).
    This function is critical, as the compressed data can no longer be deleted from the InfoCube using its request ID. You must be absolutely certain that the data loaded into the InfoCube is correct.
    Features
    You can choose request IDs and release them to be compressed. You can schedule the function immediately or in the background, and can schedule it with a process chain.
    Compressing one request takes approx. 2.5 ms per data record.
    With non-cumulative InfoCubes, compression has an additional effect on query performance. Also, the marker for non-cumulatives in non-cumulative InfoCubes is updated. This means that, on the whole, less data is read for a non-cumulative query, and the reply time is therefore reduced. See also Modeling of Non-Cumulatives with Non-Cumulative Key Figures.
    If you run the compression for a non-cumulative InfoCube, the summarization time (including the time to update the markers) will be about 5 ms per data record.
    If you are using an Oracle database as your BW database, you can also carry out a report using the relevant InfoCube in reporting while the compression is running. With other manufacturers’ databases, you will see a warning if you try to execute a query on an InfoCube while the compression is running. In this case you can execute the query once the compression has finished executing.
    If you want to avoid the InfoCube containing entries whose key figures are zero values (in reverse posting for example) you can run a zero-elimination at the same time as the compression. In this case, the entries where all key figures are equal to 0 are deleted from the fact table.
    Zero-elimination is permitted only for InfoCubes, where key figures with the aggregation behavior ‘SUM’ appear exclusively. In particular, you are not permitted to run zero-elimination with non-cumulative values.
    For non-cumulative InfoCubes, you can ensure that the non-cumulative marker is not updated by setting the indicator No Marker Updating. You have to use this option if you are loading historic non-cumulative value changes into an InfoCube after an initialization has already taken place with the current non-cumulative. Otherwise the results produced in the query will not be correct. For performance reasons, you should compress subsequent delta requests.
    Edited by: Allu on Dec 20, 2007 3:26 PM

  • Unable to get the composite instance for the invocation. This could be because instance has not yet been created or because the audit level for the SOA infra has been set to Off

    I am on Oracle 11.1.1.7 BPM suite on W8 64 bit. I can't launch the flow trace and get the error "Unable to get the composite instance for the invocation. This could be because instance has not yet been created or because the audit level for the SOA infra has been set to Off".  I have set the audit level to development at the soa-infra>SOA Administration> Common Properties > Audit level set to development and Capture Composite Instance State is Checked.
    Can somebody advice.
    Thanks

    Can you please confirm me the following steps...
    Log in to the EM console, Expand soa-infra (soa_server1) , go to the partition where your composite is been deployed, Click on your composite, On the right, click on the dropdown Settings and choose Composite Audit Level. you can choose to set the Audit Level for this composite. If you choose Inherit, it will take the settings to what the server is being set to. Otherwise, we can override it by choosing Off, Production, or Development.
    Make sure your setting for that composite is not Off, keep inherit or production or development.
    Thanks,
    N

  • Portal Invalid at the top level of the document.  Error processing resource...

    We installed WebLogic Portal.  We were able to bring up the webpage while we were configured on port 80.  As soon as we wired the portal for port 443, it would not display page.  Error:   Invalid at the top level of the document. Error processing resource...
    We are on a VM with Redhat Linux 5.  Oracle Weblogic portal 10.3.5
    Has anyone had this issue in the past and was able to resolve it?

    Did you upgrade your Portal to 10.1.4? Are you using the Web Cache port # or the HTTP Server port #? You can get this error message if you use the HTTP Server port # on Portal 10.1.4.

  • XSQL file "Invalid at the top level of the document"

    I am trying to insert HTML form parameters into database using <xsql:insert-request>. It worked fine except that it displays <xsql-status action="xsql:insert-request" rows="1"/> after it inserts the data into the database. I am trying to follow the insertnewsform example in Steve's book "building oracle xml applications" to return user a thank-you note. Here is my problem:
    I have four files:
    faqform.html (html form, action=faqfeed.xsql)
    faqfeed.xsql
    request-to-faq.xsl (used as transform for faqfeed.xsql)
    thankyou.xsl (used for returning user a thank-you)
    When I submit the html form, I get an error saying:
    "The XML page cannot be displayed
    Cannot view XML input using style sheet. Please correct the error and then click the Refresh button, or try again later.
    Invalid at the top level of the document. Line 1, Position 43
    <?xml version = '1.0' encoding = 'UTF-8'?>"
    I didn't put "encoding..." in any of my xsql files, not sure where that came from. When I used faqfeed.xsql?xml-stylesheet=none in the url and it showed up as a well-formed xml file with all the info I need. Here is my faqfeed.xsql and thankyou.xsl
    ********* faqfeed.xsql ***********
    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="thankyou.xsl"?>
    <page connection="template" xmlns:xsql="urn:oracle-xsql">
    <xsql:insert-request table="faq" transform="request-to-faq.xsl"/>
    <xsql:query tag-case="lower" max-rows="5" rowset-element="" row-element="faq">
    select * from faq
    </xsql:query>
    </page>
    ********* thankyou.xsl **********
    <html xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xsl:version="1.0">
    <head><title>Thank you!</title></head>
    <body>
    <h3>Thank you for your faq!</h3>
    Your faq has been successfully inserted to the database!
    <table>
    <xsl:for-each select="page/faq">
    <tr>
    <td><xsl:value-of select="question"/></td>
    <td><xsl:value-of select="answer"/></td>
    </tr>
    </xsl:for-each>
    </table>
    </body>
    </html>
    Anything I am missing here that caused that error? Any hints would be greatly appreciated!
    Wenqi
    null

    Do the XSQL Demos work correctly on your system?
    The error you're getting seems like maybe the *.xsql extension is not mapped properly to the oracle.xml.xsql.XSQLServlet class in your servlet engine.

  • The toolbar in the adobe app that allows you to choose the brightness level and the page layout doesn't hide. Because of that, i of course am unable to read the top part of the page...[Android]

    The toolbar in the adobe app that allows you to choose the brightness level and the page layout doesn't hide. Because of that, i of course am unable to read the top part of the page. I cannot find anything in the settings that will make it go away. What do i do? I use Samsung Ace.

    What is the Acrobat DC version and the android version that you are running? You can find the Acrobat version here: How to find the Acrobat DC version installed on your Android device

Maybe you are looking for