Cross dimensional analysis

Hi,
I'm not sure if this is possible or not so bear with me.
We've got quite a complex cube used for sales reporting and the users want to be able to extract some additional data.
To simplify it down, assume we have a number of products sold through a number of channels and sold by a number of different companies.
For the set of companies that a product can be sold through, this is dependent on the relationship between product and channel.
For example
Product 100 + Channel A = Company Z
Product 100 + Channel B = Company X
Product 200 + Channel C = Company Z
and so on.
The difficulty is that there is no pattern to say that every product 100 or everything in Channel A is sold through Company Z.
I wondered if Alias Combination would work but that I'm not sure that is the correct way of doing things.
I next looked at whether I could set up a Company dimension and use the cross dimension operator (->) within a member formula to calculate the values. This didn't seem to work very well.
Is there some other way of doing this that I'm not aware of or is it even possible?

Hi GlennS,
I can see that your suggestion should work in the situation where a product or channel both have a unique mapping to a company ie. Product 100 maps to company Z no matter which channels its sold through and everything sold through Channel B goes to Company X no matter which products.
The mapping to company in my example is at the combined relationship between Product and Channel. So for Product 100, if sold through Channel A then that could be Company Z, however if sold through Channel B then that might be Company X.
For Product 200 it might be that sales through Channel A go to Company Y, while sales through Channel B go to company Z.
In your example I would have to mark Product 100 as being either Company X or Z, when it reality it could be sold through either company depending on which channel its sold through.
Don't ask me why our sales structures are so complicated!?!
I guess if I think to how I would do something like this in excel, for each data value I would probably concatenate the product and channel together to get a unique reference. I could then test this reference using a lookup table of some sort to determine which company it relates to.
Does that make sense?
It's something that feels possible in Essbase but perhaps its a bit too complex to try and implement fully...

Similar Messages

  • Cross-systems analysis and max. rules for a risk

    Hi all,
    Customer environnement: GRC AC RAR 5.2 linked to 3 R3 4.6C environments (FB0, FB1 and FB2) with different purposes. Users and roles can exist in the 3 systems so we need to run cross systems analysis.
    It turns out that the cross-systems analysis works well only if you declares the functions on only 2 environments (FB0 and FB2 or FB0 and FB1).
    If we declare the functions on 3 environments (FB0, FB1 and FB2) one reaches the maximum number of rules for a risk, namely 46 655.
    This limit is it revised upwards in version 5.3 (if yes, how?)
    Or there happens a workaround solution to run cross system analysis on multiple physical systems (the customer environment target is 6!) ?
    Regards

    The limit is based on the number of character combinations are available for a risk, so if the number of characters has been increased thenteh number of rules available won't have been increased.
    In AC 5.3 the number of characters for a risk ID is 4 which is the sames as AC 5.2 therefore I doubt trhat the limit has been lifted of the code changed to accomodate mor rules per risk.
    The only way around the issue is to create smaller risks instead of looking in systems 1, 2 & 3 look in 1 & 2, and 2 & 3 and 1 & 3.  Not ideal but at least you will get some results.
    Sounds likje an enhancement request needs to be raised to me.

  • Substitution variable in a cross-dimensional operator

    All,
    Essbase doesn't like this:
    "Jan"(
    ("Actuals"->"2011"->"001"->"abc") = ("Run1"->"2011"->"000"->&varAP);
    can I have a substitution variable inside a cross-dimensional operator?

    The basic construct works for me in Sample.Basic. When you say Essbase doesn't like it, what exactly happens - fails syntax check, errors on execution or just doesn't produce the right results?
    Sometimes it's necessary to include quotes in the subvar value itself, e.g. setting your subvar to *"X Y Z"* including the quotes rather than X Y Z.
    I would guess you've already tried this, but does the script validate and run successfully if you replace the subvar with the value of the subvar?

  • Local variables with cross dimensional operator

    Hi,
    I have a business rule, which has the following calculation :
    VAR TOTPROD;
    TOTPROD = "Prod1"+"Prod2"+"Prod3";
    "MBR1" = "MBR2"->"Jan"->TOTPROD/"MBR2"->"YearTotal"->"TotalProducts";
    The above statement does not run for obvious reasons that TOTPROD is not a member name.
    Is there a way to use a local variable in a cross dimensional operator statement?
    I want to use the local variable in order to avoid making an alternate hierarchy.
    I am using Essbase / HPB 11.1.2.2
    Please help.
    Thanks.

    Hi
    As you state, I dont think the approach that you have is going to work.
    What about either
    a. Creating a dummy product member in your outline and place your result on it (or use an existing 'dummy' product member)
    b. Re-write your code to handle what you wish to do....something like (assuming you are adding Prod1, 2 and 3):
    "MBR1" = ("MBR2"->"Jan"-> "Prod1"+"MBR2"->"Jan"-> "Prod2"+"MBR2"->"Jan"-> "Prod3")/"MBR2"->"YearTotal"->"TotalProducts";
    Not sure if I am missing anything here, but do either of these suggestions help?
    JB

  • Alternatives for 250+ cross-dimensional operators

    Our geographical product segmentation has altered. I have to change the outline. We have departments and products. Normally we could report on the sum of departments and on the sum of products. Now because of the switch in segmentation we can only report on products. Some of the same products are made by mutiple regions. I have to make an hierarchy which can report on products for regions. In this instance in the outline, there is one product member and two department members. I have made formulas to pull the product apart to regions.
    I have done this with cross dimensional operators:
    For example product A is made by department 1 and 2. I made two formulas in the product dimension ProdAdep1 and ProdAdep2:
    Member formulas:
    ProdAdep1 = Product A -> Department 1;
    ProdAdep2 = Product A -> Department 2;
    Product A is now made ~ and ProdAdep1,ProdBdep1, ProdCdep1 count up to Total products department 1.
    I made all these formulas dynamic calc. Both the product and department dimension are sparse. There are now 250+ formulas and the caculation of the database became very slow. In my Essbase bible 'Look smarter than you are with Essbase 11' I found that the usage of a lot of cross dimensional operators is unseemly and slow.
    So I figured out an alternative, a calcscript with a fix.
    FIX("Product A")
    ProdAdep1 = "Department 1";
    ProdAdep2 = "Department 2";
    ENDFIX
    But this doens't work either. Can anyone help me to think out the best solution?

    Thank you Steve, its a bit more complicated.
    Departments roll up to regions, products also roll up to regions, but we also have shared (central) products.
    For example department 1 in region X (department dimension) can have product A (product dimension) and department 2 in region Y (department dimension) can have product A (product dimension) also. The wish is to report on products and have a full view of the regions within the product dimension.
    How it is now:
    Department dimension:
    Total Region X
    |- Department 1
    |- Department 3
    Total region Y
    |- Department 2
    |- Department 4
    Product dimension:
    Total Region X
    |-Product C
    |-Product D
    Total Region Y
    |- Product E
    |- Product F
    Central Products
    |- Product A
    The Wish:
    Department dimension:
    Total Region X
    |- Department 1
    |- Department 3
    Total region Y
    |- Department 2
    |- Department 4
    Product dimension:
    Total Region X
    |-Product C
    |-Product D
    |-Product A (for region X based on department)
    Total Region Y
    |- Product E
    |- Product F
    |- Product A (for region Y based on department)
    Central Products
    |- Product A ~
    It isnt possible to add a dimension, because the problem occurs on level 0.

  • Optimisation of cross dimensional calculations

    Hi,
    Here's a script which should not take too long to run. However, this script runs for hours. Any suggestions would be great. I have added some more details about the dimensions involved.
    Outline of the script:
    /*Script Begins*/
    SET UPDATECALC OFF;
    SET CREATENONMISSINGBLK ON;
    SET CACHE ALL;
    SET CALCPARALLEL 5;
    SET CALCTASKDIMS 2;
    SET NOTICE LOW;
    SET MSG SUMMARY;
    FIX (@ATTRIBUTE("Existing"),@Relative("Location",0),@RELATIVE("Entity",0),&pln_scenario,"BU Budget",&plan1_yr,@RELATIVE("BOM",0), @RELATIVE("YearTotal",0))
    "RMQ" = "location wise Sales Volume"->"UBOM" * "RMQ per Unit SKU"->"All locations"->"YearAgg";
    ENDFIX;
    ENDFIX;
    /*Script Ends*/
    UBOM is a member of BOM, "YearAgg" is a dummy member in period dimension and "all locations" is a dummy member in location dimension.
    Dimension details: Evaluation Order which has been thought through.
    Dimension Members Density
    Account 352 Dense
    Period 35 Dense
    Version 3 Sparse
    Scenario 8 Sparse
    Location 7 Sparse
    Year 9 Sparse
    Entity 20 Sparse
    Product 416 Sparse
    BOM 938 Sparse

    Are you sure that changing the cross-dimensional order of members makes a difference?
    "location wise Sales Volume"->"UBOM" * "RMQ per Unit SKU"->"YearAgg"->"All locations";instead of
    "location wise Sales Volume"->"UBOM" * "RMQ per Unit SKU"->"All locations"->"YearAgg"really improves how Essbase reads its index and page files?
    It seems to me that Essbase is pointing to the same block, no matter the order of the dimension combinations.
    The same goes for a FIX: I can't see how the dimension order within a single FIX statement is going to cause Essbase to touch blocks differently as it will be the same list of blocks (and cells) however it's combined.
    Have you benchmarked the cross-dimensional member order? I'd be really interested to hear re any differences in performance.
    Regards,
    Cameron Lackpour

  • What is multi-dimensional analysis?

    iam learning sap bw . i want to know, what is meant by multi-dimensional analysis?

    Hi,
    Refer.
    Multi-Dimensional Modeling with SAP NetWeaver BI
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/6ce7b0a4-0b01-0010-52ac-a6e813c35a84
    Architectural Overview
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/800a7bd4-7897-2910-c6b2-9ee791e9913c
    Thanks,
    JituK

  • Cross fact analysis

    Could someone please explain or point me to some resource where i can know about cross fact analysis with conformed and non conformed diemnsions.

    Great, happy to help. While you're over there have  look at this as well - goes together with the other: https://greatobi.wordpress.com/2013/09/10/the-single-most-important-thing-to-know-about-the-obi-rpd/

  • Concatenate within Cross Dimensional Reference

    I am trying to write a calc script in Essbase 7.1.3. I am trying to assign a value to one dimension based on a cross dimensional reference. In the CDR, I want to make it dynamic. I am trying the following. The syntax will not check. What am I doing wrong? I have checked other posts and can't find a solution. I can't make this a member property, it has to be a calc.<BR><BR>Thanks for any help!<img src="i/expressions/face-icon-small-confused.gif" border="0">

    No typo. I slimmed down the calc a bit so it would be more discussion board friendly.<BR><BR>We have input currencies and reporting currencies. The data is loaded to input and translated into the reporting currencies. For example<BR><BR>CR_Loc = CR_Loc_Input + (CR_USD_Input*USD Rate)<BR> where USD rate is found using the range formula above<BR><BR>Real world example:<BR><BR>A Japan user input 100000 yen for a data point as well as 100 USD for the same data point. If we create a pure local currency view the math would be <BR><BR>100,000 Yen + (100 USD * 100 Yen/USD) so CR_LOC = 110,000<BR><BR>We use the range formula to retrieve the currency rate as stored in the data intersection for the account (1 oer currency) and the CR_USD reporting currency. So 100 is stored in CR_USD->AC_JPY_Rate.<BR><BR>I know this is probably far more detail than you needed but thought it might be useful for others if they encounter the same problem.

  • 3 Dimensional analysis in BO?

    Hi BO Gurus,
    I want to know if 3-dimensional analysis possible in any of the BO tools, if so I would like to know which tool supports it.
    My client wants to analyse the data based on 2 parameters.. like eg: x,y,and z axis in the same graph.. is this possible?
    Thanks in advance for all your help.
    Regards,
    Archy

    Archy,
    I mean that Chart in WebI, I think we do have in Xcelsius also(Only naming convention differs).
    New Parameter means?? Any nemerical data (Measure object in BO terms), if it's so then you can use them for analysis.
    Thank You!!

  • Cross Dimensional

    Hi. it is possible to be used with members dynamically in cross dimensional???

    If you are asking can the cross dimensional calc operator (->) be successfully used in a dynamic calc member formula, the answer is yes. If you are asking a different question, please clarify.Todd

  • Cross Dimensional Security in Planning

    Got a scenario where the customer is asking for cross dimension security in planning and not sure if it's possible
    Simple Example
    Assume 2 dimensions. Account and Entity
    Entity has 2 members E1234 and E1235
    Account has 2 members Axxx1 and Axxx2
    User is User1
    User should have the following access (assume it's all ReadWrite)
    Axxx2 but only for E1234 (so can't ReadWrite for Axxx1 in E1234)
    Axxx1 but only for E1235 (so can't ReadWrite for Axxx2 in E1235)
    Based on the SecFile.txt
    I could write
    User1,Axxx2,ReadWrite,Member
    User1,Axxx1,ReadWrite,Member
    User1,E1234,ReadWrite,Member
    User1,E1235,ReadWrite,Member
    But I have now given him/her access to everything.....
    I'm worried the answer is that you can't do it. I know you could do it in Essbase itself but can't figure out something for Planning.
    My problem is actually far more complicated than this but if I could do understand this simple example I think I can do everything I need.

    One way to get around this issue is to physically merge the dimensions where you need cross-dimensional security. It's not a great solution, and with large dimensions can be completely impractical due to the number of potential combinations. But if one of your dimensions is small, it can work.
    In our case, we wanted cross-dimensional security on Entities and Departments. We didn't have to create a member for every combination of Entity/Department, because not all combinations were valid (or had data), so we were able to limit the combined dimension's size somewhat.
    - Jake

  • New to Cross Dimensional Calcs

    Can someone tell me or point me in the direction of the best way to get started with cross dim calcs? Is there any documentation; papers, books, newsletters, examples, etc. that can help me get started?Any help will be greatly appreciated. Thanks Ptayes

    Well, aside from the Online Help or database admin guide, there isn't really much out there.Perhaps you could post what it is you are looking to do, or what problem you are trying to solve and someone on the forum can give you some pointers (no pun intended).Regards,Jade-------------------------------Jade ColeSenior Business Intelligence ConsultantClarity [email protected]

  • MCI8 for cross plant analysis

    Dear PM Expert,
    The PMIS Cost analysis (MCI8) can be displayed based on characteristics Order type.
    At the moment we are using same Order type PM01 across multiple geography (multiple plants). We want to be able to analyze or viewing each plant cost in MCI8. There is no plant in MCI8, how to do this? We are considering to use different order type for each plant. Is there a better solution?
    Regards.
    Edited by: Djani Musalim on Dec 23, 2009 5:28 AM

    Hi Musalim,
    your requirment is to get Plant field in MCI8. for this you can copy info structure to Self defined Info structure from there you can add Maintenance palnt field..
    Rehds
    Vinit

  • Cross Cell Analysis

    Hi folks,
    I have 3 different loan types,
    Loan_type No(Customers)
    A 20000
    B 30000
    C 40000
    No I want to analyze such a way dt
    A B C
    A 12000 25000
    B 12000 35000
    C 25000 35000
    Note : abow sum is not exact
    where AxB says Number of people who have taken both A and B Loans etc
    Please tell me how to do this analysis...
    Regards
    Fayaz

    fiaz0419 wrote:
    I am dissappointed here.... No one even bother to help...
    Guys....Fiaz, no one here is obligated to help you. And it could very well be that either no one has an answer for you or doesn't have the time to research your issue. But saying, "I am disappointed... no one even bother [sic] to help..." will not help you as trying to impose guilt (because we aren't helping you) is almost never a motivation that's going to work.
    Here is what you need to do. I did not check the syntax, so you will have to do that. But to start, your requirement is not that easy, if you want to do it right. I have thought about your issue because it intrigued me and I have the solution. Just to let you know, it took some time to think this through and you will have to complete the thought process yourself, but I have worked out the code for one of your BINS that you will have to create.
    Let's start with the "A" category. The people in this category will be those who have loan type A, but no other loan types.
    table.customer_name||table.loan_type = table.customer_name||'A'
    ...will get those customers who have loan type A... The reason I concatenated customer name with loan type is to create a unique record for each customer and his/her loan type. You can't just count customers and you can't just count loan types. Hopefully, you get this.
    table.customer_name||table.loan_type = table.customer_name||'B'
    ...will get those customers who have loan type B...
    table.customer_name||table.loan_type = table.customer_name||'C'
    ...will get those customers who have loan type C...
    SUM(CASE WHEN (table.customer_name||table.loan_type = table.customer_name||'B' OR table.customer_name||table.loan_type = table.customer_name||'C') THEN 1 ELSE 0 END)
    ...will tell you whether the customer has either a loan type B or C if the CASE statement above is greater than 0. If the sum is 0, then the customer has no loan type B or loan type C.
    Let's add the conditions above together:
    CASE WHEN table.customer_name||table.loan_type = table.customer_name||'A' AND SUM(CASE WHEN (table.customer_name||table.loan_type = table.customer_name||'B' OR table.customer_name||table.loan_type = table.customer_name||'C') THEN 1 ELSE 0 END) = 0 THEN 'A' END
    will tell you customers who have loan type A, but do not have any loan types of the B or C category and will be grouped in the BIN called 'A'
    Now modify the above logic for those customers who have only B, but not A or C; for those customers who have only C, but not A or B; for customers who have A or B, but not C, etc...
    This should get you started on what you need for your report.

Maybe you are looking for

  • CoA Session Context Not Found

    Hello Guys, I am using a Cisco 2951 with 15.3(3)M1, and when doing some tests with CoA i got the following error:       *Nov  7 10:34:24.780: COA: 1.1.1.1 request queued *Nov  7 10:34:24.780: RADIUS:  authenticator 52 CF BB 58 BB D5 69 4E - 59 3B 09

  • More problem with JFormattedTextField

    Here is the code where I want size and input validation for JFormattedTextField MaskFormatter f10=new MaskFormatter("***************"); f10.setValidCharacters("0123456789"); t4= new JFormattedTextField(f10); It's behaving in funny way. It allows me o

  • Oracle Application Server 10g R 2 ( 10.1.2.0.2) one 1 server.

    Can Oracel Application Server 10g R2 (10.1.2.0.2) with forms/reports and sso be installed on 1 server. We have AD/OID sync. OS is Windows NT. IF so will 4G and dual cpu Dell server be enough. Regards v

  • CS6: Select multiple objects - Hide border?

    Hi! Lots of our layouters are bothered because of the same thing: If you select multiple objects in CS6, you'll get a border which surrounds all of the selected objects. That way it's quite difficult to see, which items are already selected and which

  • Runtime Errors         CONTROL_NOT_FOUND

    Hi All, I am getting error in CJ20n transaction when I move to one custom added TAB Short text   CONTROL variable not found What happened?     Error in the ABAP Application Program     The current ABAP program "SAPLXCN1" had to be terminated becau