BEX: Aggregation question

Hi to all,
I think I need some help of a BEX expert.
I have an issue with a query. Following scenario:
In my cube I post the following values:
Org-unit Employee Position P E
00000001 00000001 00000001 0 1
00000001 00000002 00000001 0 1
00000001 00000000 00000001 2 0
00000001 00000003 00000002 0 1
00000001 00000004 00000002 0 1
00000001 00000000 00000002 1 0
00000001 00000005 00000003 0 1
00000001 00000000 00000003 2 0
P = Capacity of the Position
E = Capacity of the Employee
Now to the issue.
In the query I need to calculate the difference of E - P as well as to create new keyfigures for storing a negative result and storing a positive result. At the end my query should look like this:
Org-unit Position P E diff. neg. pos.
00000001 00000001 2 2 00000 0000 0000
00000001 00000002 1 2 -0001 -001 0000
00000001 00000003 2 1 00001 0000 0001
and if I remove the position similar
Org-unit P E diff. neg. pos.
00000001 5 5 00000 -001 0001
The difference should not be displayed, but the rest should. Does anybody have an idea for solving this issue. I am playing around with constant selection on Employee and/or Position but the result is never as I expect it to be.
If you still have some problems understanding my issue feel free to ask.
Seeing forward to get your valueable and helpful hints.
regards
Siggi

Hi all,
well what I did so far was creating a calculated keyfigure E - P and additionally the two keyfigures negative and positive and the results are as expected if the position and/or the employee is initially displayed in the query. But if I take both out and any other characteristic in the result is not what I want to display. I want to get
this:
Org-unit P E diff. neg. pos.
00000001 5 5 00000 -001 0001
but I get this:
Org-unit P E diff. neg. pos.
00000001 5 5 00000 0000 0000
There is an issue with the aggregation level. The keyfigures diff., neg. and pos. should always show the results depending on the position/employee combination.
Hope it is clearer now.
Siggi

Similar Messages

  • Message Aggregator Question

    I have an instance where I need 2 sender file adapters to send XI 2 different files (layouts are different).  XI then needs to combine and map the messages from these two files into a single IDoc for each combined message.  I know in a multi-mapping I can do it either with a BPM or without.  When "aggregating" messages I know I can do it with a BPM.  My question is does anyone know of a blog that exists where someone has accomplished this without the need of a BPM (and if there are any good blogs which cover how to aggregate with a BPM that would be helpful as well).
    Thanks!

    Shaun,
    As you can see here, [Multi-Mappings|http://help.sap.com/saphelp_nw70/helpdata/en/21/6faf35c2d74295a3cb97f6f3ccf43c/content.htm], you can not do the Message-Merge (n:1) mapping w/o BPM.
    Using the BPM, you can refer to the pattern 
    BpmPatternCollectMultiIf - [Collecting and Bundling Messages - Multiple Interfaces|http://help.sap.com/saphelp_nw70/helpdata/en/0e/56373f7853494fe10000000a114084/content.htm]
    I suggest that you schedule your sender adapters at around same time..so that the BPM doesn't have to wait too long to process them. If you can not ensure that, then you can use [Event-Driven Message Processing|http://help.sap.com/saphelp_nw70/helpdata/en/7a/00143f011f4b2ee10000000a114084/content.htm] to wait for both the files to be picked up before they are sent to BPM.
    praveen

  • Aggregation Questions

    Hi there
    Got a couple of questions about OWB 10g R2 aggregations.
    #1 When I create a cube with aggregations, I cannot for the life of me determine how the aggregations are actually implemented.
    Are they implemented by separate tables? materialised views?
    So far, when I browse the schema, I can't see any extra database objects created for the purpose of providing aggregates.
    #2 I have seen this problem posted by a number of people, but have not yet seen any answer on how to overcome it.
    When I create a cube, for some measures I would like to "SUM", for others I would like to "AVERAGE" and for columns such as degenerate dimensions (i.e. Transaction_ID) I would like to have no aggregation at all.
    Can anyone tell me how to achieve this using the OWB Cube object???

    Hi
    Answer to the second question:
    In Design Center you have to double click in Project Explorer on the cube you want to examine. Than Data Object Editor is launched. To change the aggregation function of certain measures you have to select Aggregation tab in the low right corner. Than in the Measures panel select the measure that you want change aggregation function for. You can now change aggregation for that measure in panel: Aggregation for measure xxx.
    Regards
    Peter

  • SSAS aggregation question.

    I have a SSAS cube dimension with hierarchies - Country, State, City, Street.
    I have two measures (Price and Quantity) that need to aggregate independently up to City level only. Product (multiplication) of these two measures at City level should then be aggregated for higher level hierarchies (Country, State).
    How do I do this in MDX?
    Thanks,
    J.

    Hi,
    Here is my question with example:
    Dimension Hierarchy -  Country, State, City, Street.
    Country      State  City     Street      Qty
    US             CA      City1    Street1    10
    US             CA      City1    Street2     5
    US             FL       City3    Street3     8
    US             FL       City4    Street4     4
    Country       State       Plan      Price
    US              CA           A         $100
    US              CA           C         $70
    US              FL            B         $50
    Calculated Measure at Country level = 100*10 + 100*5 + 70*10 + 70*5 + 50*8 + 50*4 = 3150
    This is different from SUM(Price)*SUM(Qty) as it would be - 220*17 = 3740.
    I want 3150 to be my answer at Country level.
    I can JOIN the two table using Country and State fields to get a Cartesian product and that could works. The issue is the fact table becomes too big.

  • Aggregation question

    http://bdn.borland.com/article/0,1410,31863,00.html
    Please have a look at the class diagram. The relationship of Order and OrderDetail is aggregation but how come the OrderDetail and Item is not? They also contains collection there. why?

    not sure why they don't show any collections as class members. my guess is because this is an example, not a detailed specification. if you did it out in all its glory you'd include more than you see on this diagram.
    i agree that there's no reason for OrderDetail not to use aggregation/composition with Item. my guess is that this is a teaching example, not a rigorous specification.
    i'd take this link as an example, a teaching exercise and nothing more. it's good that you're questioning what you see, because it implies that you have enough insight to think about the problem for yourself. but if this is your first tour through UML don't worry about it. suck up those main ideas and start using them for yourself.
    %

  • BEx Broadcaster Question

    Hello All.
    Just a quick question since i'm getting inpatient.
    I'm trying to set up schedules thru bex broadcaster thru the BI Portal.
    Is there any other way to do this?  Meaning is there a tran code i can go to in the system and do the same.
    This just seems to be very slow way of doing it, and just thought i'd throw the question out there.
    Thanks in advance.
    Amit

    Hi Amit,
    Use the below tcode
    RSRD_ADMIN -      Broadcasting (7.x) Administration  
    go through the below link
    http://wiki.sdn.sap.com/wiki/display/BI/UsefulTransactionsandNotesgoeswithNetWeaver+7.0
    Hope this helps.
    Regards
    KP

  • Aggregator Questions

    I have been looking through posts and tutorials but have not found the answer to a few questions about Aggregator.
    Background
    I have 7 projects each with quiz materials inside them I would like to aggregate.
    If someone starts an aggregated project and leaves it before it finishes, can they resume or do they need to start over?
    If each project has a quiz that needs to be passed before they can move on to the next project and reports back to the quiz results analyzer tool, will I have any problems with this?
    Can someone move ahead in the TOC or can you prevent someone from clicking on TOC items until they have been viewed like you can in a normal project?
    Would it be better to daisy chain the projects instead?
    Thanks in advance
    David

    That's what Adobe's Multi-SCORM Packaging tool does.  It came by default with Captivate 4, but only if you bought the entire E-learning Suite 2.0 or 2.5 thereafter.
    With a Multi-SCO package you do not try to create a single TOC for all modules as you do with the Aggregator.  The LMS is supposed to create the overall TOC to get to each module.  Within the module, once it is launched, you can have the normal Captivate TOC.

  • BEx CKF Question

    Hi
    I am having one issue in CKF.
    Original data:
    Compcode   Caseno.     CreatedOn    Amount
    1000         A        06/18/2011     100
    1000         B        06/19/2011      50
    1000         C        06/18/2011     150
    I have created one CKF for No.of Days Open. It is difference of Sy-datum and Created Date. I used two formula variables and used
    them in the CKF.
    Let us say today is 06/22/2011
    Report Layout:
    Caseno and CreatedOn are Free Characteristics
    Compcode  No.of Days Open   Amount
    1000          4              300
    When I bring in the Case no I am getting below result: It should show No.of Days Open as "3" for Case B. Somehow it is always
    taking maximum difference number and showing for all cases.
    Compcode   Caseno.   No.of Days Open  Amount
    1000         A           4            100
    1000         B               4          50
    1000         C               4            150
    When I bring in Createdon then only it is showing correct value for all cases. I tried with Exception Aggregation with reference to Caseno.
    CreatedOn etc but didn't get the correct result.
    Question: Could anyone identify the problem in my Query design? Thanks for your help
    Best Regards,
    Sree
    Edited by: sree uk2004 on Jun 22, 2011 7:33 PM

    Well, I guess Key Figures of Date type work that way. Their Std Aggregation is Min Date value. I couldnt confirm this on google but obviously Date values cannot add up. It has to be Max(Latest) or Min(Oldest) value. One can check this in Dev System.
    Now, about your requirement, how do you want 'No of Days' aggregated?
    1. Calculate difference for each Case and then add up total difference. ie 434 = 11 in your example.
        Solution : Try  Exp Aggregation = 'Total' for Ref Char = 'Case No.'
    2. Calculate the difference between system date and oldest date. ie 4 in your example.
        Solution: I suppose right now it is working for this case with the glitch.

  • 3.6 Group Aggregation Question

    I am trying to achieve a sql group by sort of behavior with coherence 3.6. I have achieved some success by using the following code.
    public InvocableMap.EntryAggregator getAggregationCriteria()
    BigDecimalSum agg1 = new BigDecimalSum("getTradeDateMVLocal");
    BigDecimalSum agg2 = new BigDecimalSum("getTradeDateCashLocal");
    BigDecimalSum agg3 = new BigDecimalSum("getCostLocal");
    BigDecimalSum agg4 = new BigDecimalSum("getInterestUnrealizedLocal");
    CompositeAggregator compAgg =
    CompositeAggregator.createInstance(new InvocableMap.EntryAggregator[]
    {agg1, agg2, agg3, agg4});
    ChainedExtractor cr1 = new ChainedExtractor("getKey.getAccountName");
    ChainedExtractor cr2 = new ChainedExtractor("getKey.getCurrency");
    ValueExtractor[] extractors = new ValueExtractor[2];
    extractors[0] = cr1;
    extractors[1] = cr2;
    MultiExtractor multiEx = new MultiExtractor(extractors);
    GroupAggregator gpa = GroupAggregator.createInstance(multiEx, compAgg);
    return gpa;
    once the GroupAggregator is constructed I pass it to the namedcache.aggregate method using the following wrapper method.
    public LiteMap aggregate(NamedCache cache, Filter filter, InvocableMap.EntryAggregator aggregationCriteria)
    LiteMap map = (LiteMap) cache.aggregate(filter, aggregationCriteria);
    return map;
    the issue is that in a multi-node environment not all the data is aggregated.
    for example if i have a single node and i run my aggregation code just in that node i get the expected number of grouped items. in a multi node scenario it ends up with lesser items. now the columns that i am grouping by are part of my composite key for the cache. the implementation of my key class is as follows.
    package com.sac.dream.model;
    import com.sac.dream.core.model.GridEntityKey;
    import com.sac.dream.util.externalization.ObjectReader;
    import com.sac.dream.util.externalization.ObjectWriter;
    import com.tangosol.net.cache.KeyAssociation;
    import javax.persistence.Embeddable;
    import javax.persistence.Transient;
    import java.io.IOException;
    * Created by IntelliJ IDEA.
    * User: ahmads
    * Date: Jul 28, 2010
    * Time: 1:54:45 PM
    * To change this template use File | Settings | File Templates.
    @Embeddable
    public class GenevaValuationKey extends GridEntityKey implements KeyAssociation
    private static final long serialVersionUID = 1L;
    private String accountName;
    private String currency;
    private Long uid;
    public GenevaValuationKey(Long uid)
    this.uid = uid;
    public GenevaValuationKey()
    @Transient
    public Object getAssociatedKey()
    int hash = 1;
    hash = hash * 31 + getAccountName().hashCode();
    hash = hash * 31 + getCurrency().hashCode();
    return hash;
    public void setAssociatedKey(Object value)
    public Long getUid() {
    return uid;
    public void setUid(Long uid) {
    this.uid = uid;
    @Override
    public String toString()
    return "GenevaValuationKey::uid:" + this.uid;
    @Override
    public boolean equals(Object o)
    //if(this == o) return true;
    //if (o == null || getClass() != o.getClass()) return false;
    GenevaValuationKey that = (GenevaValuationKey) o;
    if(this.getAccountName().equals(that.getAccountName()) && this.getCurrency().equals(that.getCurrency()) && this.uid == that.uid)
    return true;
    else
    return false;
    @Override
    public int hashCode()
    int hash = 1;
    hash = hash * 31 + getAccountName().hashCode();
    hash = hash * 31 + getCurrency().hashCode();
    hash = hash * 31 + uid.hashCode();
    return hash;
    @Override
         public int compareTo(GridEntityKey o)
    return this.uid.compareTo(((GenevaValuationKey) o).getUid());
    @Override
    public final void readObject(ObjectReader reader) throws IOException
    try
    this.setAccountName(reader.readString());
    this.setCurrency(reader.readString());
         this.uid = reader.readLong();
    catch(IOException e)
    throw new RuntimeException(e);
    @Override
         public final void writeObject(ObjectWriter writer) throws IOException
    try
    writer.writeString(this.getAccountName());
    writer.writeString(this.getCurrency());
         writer.writeLong(this.uid);
    catch(IOException e)
    throw new RuntimeException(e);
    public String getAccountName() {
    return accountName;
    public void setAccountName(String accountName) {
    this.accountName = accountName;
    public String getCurrency() {
    return currency;
    public void setCurrency(String currency) {
    this.currency = currency;
    i implemented the keyassociation assuming that i need to make sure that for a certain group all the rows within that group need to exist on the same node. there might be something wrong with that implementation.
    thanks

    rehevkor5 wrote:
    Yeah apparently you're not supposed to call readRemainder or writeRemainder from within the PortableObject methods, too bad the documentation does not mention this.
    Here is a better idea of what a subclass's PortableObject methods should look like:
    @Override
    public void readExternal(PofReader in) throws IOException {
    super.readExternal(in.createNestedPofReader(0));
    myObj = (MyType) in.readObject(1);
    @Override
    public void writeExternal(PofWriter out) throws IOException {
    super.writeExternal(out.createNestedPofWriter(0));
    out.writeObject(1, myObj);
    }Since you cannot read or write the remainder, the way that you support PortableObjects that need to evolve is by implementing the Evolvable interface. Coherence will detect that your object is an instanceof Evolvable, and will handle reading/writing the remainder/futureData and dataVersion for you.Yep. Otherwise, if you have handled the remainder in a PortableObject, you would not be able to sensibly override that method which handled the remainder.
    Best regards,
    Robert

  • BEX Display Question

    We have a key figure(key figure 1) that has different Sales Unit of Measurements - BOX, Pallet Pieces, another key figure(key figure 2) with one Unit of Measure PC. We are trying to display like this:
    BOX PAL PC         PC
    Key Figure 1          Key Figure 2
    However we are getting
    BOX PAL PC         BOX PAL PC
    Key Figure 1          Key Figure 2
    even though we restrict key figure 2 with PC only
    our Columns area in Bex is
    Structure
      Key Figure 1
      Key Figure 2
    Sales Unit
    Is this possible - I have tried a lot of different combinations with nothing working. Any help is appreciated.

    You can try...
    Create a formula variable (ZZVAR) with the correct units (PC) with default value 1, optional, not ready for input.
    For KF 2, instead use a formula where you add NODIM(KF2)*ZZVAR

  • Currency exchange and aggregation question

    Hi,
    My requirement is to calculate the sum falling into intervals like
    1) <2 million
    2) 5 - 10 million
    3) 10-20 million and so on
    This part is easy. The question is that the intervals can be requested in any currency by the user. Since there r thousands of records and each record has its amount in its own currency.....what is the best way to do it so that the BW performance is not affected?
    any help would be highly appreciated.
    thks,
    wills

    Hi,
    You can do currency conversion in the update rules during the data load as well as during the execution of the report.
    Currency conversion doesn't have much effect on the execution time of the report.
    You can have many records but it will not effect the performance of the query in big way.
    Thanks

  • Non-Level0 aggregation question

    Hi There,
    I have Account dimension, for example, Income - rental income - GL accounts (level 0), rental income is the sum of all level0 GL accounts. Data storage is "Store Data". Now I move one GL out of rental income, but the sum of Rental is still the same which is incorrect. My question is what is the way to fix this?
    I try couple of things, for example, restructure, clean data then re-import into the essbase, but the issue is still there. I know if I change Rental Income as Dynamic Calc, the issue will be fixed, but I am wondering if there are other ways to do this without changing data storage?
    Thanks

    Srinivas Bobbala wrote:
    Donz,
    Whenever you are doing outline changes, Do as below.
    1) Take the Levo data export.
    2) Clear the cube.
    3) Do the modifications in the outline.
    4) Reload the Lev0 data
    5) Do the Rollup with CALCALL. Then this kinda issues will not arise.
    Note: If any deletions are there at Lev0, better to delete after loading the Lev0 data and mapping the data with other or new members as required.Hi Srinivas,
    As per your assumptions when ever we required to change the out line we need to clear the all data but as per my knowledge for this issue we no need of clearing the cube..we can directly modify the out line and Executing the CALC ALL is enough...
    Regards,
    Prabhas..

  • An aggregation question

    Hi,
    I have a measure named DESCRIPTION, it makes data seprate into Y or N, if number > 0, we got Y, if number< =0, we got N.
    eg:
    NAMBER DESCRIPTION
    11 Y
    21 Y
    0 N
    7 Y
    then we got 3 Y and 1 N after using aggregation rule with sum.
    but if we got 4 Y, it does not show 0 N.
    eg:
    NAMBER DESCRIPTION
    11 Y
    21 Y
    5 Y
    7 Y
    How can I make it to show 4 Y and 0 N?
    Please kindly help me , thanks.

    This is OBIEE behaviour, since you have no data which is <=0 that's why you are not getting any N count or '0 N'. There shud be a specific row value which satifies the condition to get N or Y counts.
    BTW how are you designing your measure in RPD or in Answers ?? and whats the procedure..??

  • BEx Roles question

    /thread/750293 [original link is broken]
    Edited by: sam on Feb 20, 2008 4:18 PM

    Hello Sam,
    You have to create Roles in PFCG and assign appropriate reports authorization to the roles. For example you can create roles for End User , Power User etc.
    Once this is done, then assign the user to the Roles.
    For more details
    [Advanced Features of SAP BW Reporting Authorizations|https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/1b439590-0201-0010-ea8e-cba686f21f06]
    [Authorizations in a SAP Business Information Warehouse Project|https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/adeac294-0501-0010-5a97-9ac5d562b1be]
    [SAP NetWeaver 2004s BI Authorizations for Reporting - Webinar Powerpoint|https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/a6c54319-0e01-0010-20a4-fb81ad32f330]
    [Authorizations in a SAP Business Information Warehouse Project|https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/b014a2fa-fc1c-2a10-6ab2-e8e288de0e08]
    [Field Based Authorizations in BW BEx Queries|https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/4753ed83-0e01-0010-e186-f98413f868cb]
    [An Expert Guide to new SAP BI Security Features|https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/659fa0a2-0a01-0010-b39c-8f92b19fbfea]
    Hope it helps
    Thanks
    Chandran

  • BEx general question

    Hi All,
    At present  our client SAP system is BW 3.x. and we have BEx related to that. and ou client Sand Box system is having SAP BI 7.0.and from this Sandbox, when giving rrmx transaction it is showing BEx 3.x version only. because BI 7.0 bex is not available. so can we have both the bex versions on the same system. because we want bi7.0 Bex .
    Thankyou.

    HI SAPBI INDIA,
                          Yes, U can have both the versions of BEx installed on the same system. When both the versions are installed U can see Business Explorer (SAPBW 3.x) under the node Business Explorer of the Programs tree thru the start button. U can use either of them depending on the requirement. 
                        For the version BI7.0 to work U need to have the SAP GUI 7.1 version (or) higher.

Maybe you are looking for