Non-Additive member

What is Non-Additive and What is the characteristics of Non-Additive member. Why it should be used?

A non-additive member refers to a member in the cube that you would exclude from any type of roll-up. Statistical accounts or rates are good examples of non-additive members. These members when rolled up would lose their meaning and result in a nonsensical number.
The opposite are additive members which roll up equally across all dimensions. Sales is a good example of an additive member. Sales rolls up across all dimensions like time, Products, Customers, etc to result in a meaningful number.
The third distinction is a semi-additive member. A semi-additive member rolls up across some dimensions, but not others. A bank account balance is a good example of a semi-additive member. A bank account balance might roll up well across customers and branches, but the sum of a bank account balance over time would not be of any use.

Similar Messages

  • Non additive aggregation -  custom defined aggregation possible in BW?

    I have the following problem:
    there is a key figure that is non-additive relative to one characteristic, e.g we need the third minimum as an aggregation for a time characteristic (there a 250 values for that characteristic).
    Is there a way to create user defined (exception) aggregation (like Var or mean value) by ABAP Coding?
    Message was edited by: Michael Walesch

    Does your database support analytic functions? Last and first are analytics functions. If your database does not support them, BI has to prepare selects with subqueries and this could slow down the response time
    Begoña

  • Obiee report across non additive fact tables

    I have two fact tables (f1,f2) joined two conformed dimensions d1,d2
    d1,d2 have simple hierarchy total and detail levels
    f1 --->d1
    f1---->d2
    f2---->d1
    f2---->d2
    facts tabel layout
    f1 -- c1&c2 are(additive measures)c3&c4 are(non additive measures)
    f2----col1&col2 are (additive measures)col3&col4(non additive measures)
    I have tried to construct a report with c1,c2,col1,col2 and it works fine
    when i try to do c1,c2,c3,c4,col1,col4 second fact table cols are null.
    Can someone please guide how to resolve this issue.

    there is a rule saying When you are combining multiple fact tables(stars) in a single report, the measures should be aggregated. This is like best practice.
    So in your scenario, you have to create 2 logical dimensions from the fact tables.
    Create logical dimensions F1D with source physical F1 and add only non aggregated measure(c3,c4), Create a hierarchy with total and detail level.
    Create logical dimensions F2D with source physical F2 and add only non aggregated measure(col3,col4), Create a hierarchy with total and detail level.
    then for fact table f1 , set level F1d - Detail, F2d - total.
    then for fact table f2 , set level F1d - total, F2d - detail.
    Update your presentation layer. Make sure these non aggregated columns coming from F1d,F2d instead of logical fact tables.
    check for consistency.,Now save,reload/restart server. Check your reports, thats it.
    thanks
    Madan Thota

  • Why a non static member class can be defined in an interface

    Non-static member classes are defined as instance members of other classes, just like fields and instance methods are defined in a class. An instance of a non-static member class always has an enclosing instance associated with it.
    An interface can't be instantiated then how a non static member class will have an enclosing instance associated with it.
    interface outer
            public  class inner{
            public void p()
                System.out.println("inside interface's non static member class");
        public  static class inner1{
                public void p(){System.out.println("inside interface's  static member class");
    public class Client {                                           // (11)
        public static void main(String[] args) {                    // (12)
        outer.inner nonStatic = new outer.inner();
            nonStatic.p();
        outer.inner1 stat = new outer.inner1();
          stat.p();
    }inner is a non static member class even then " outer.inner nonStatic = new outer.inner();" working fine ?????????????

    class outer
            public  class inner{
            public void p()
                System.out.println("inside interface's non static member class");
    public class Client {                                           // (11)
        public static void main(String[] args) {                    // (12)
        outer.inner nonStatic = new outer.inner();
        nonStatic.p();
    }on compiling the above code the error message i got is
    "not an enclosing class: outer"
    the reason of this compilation error is "outer.inner nonStatic = new outer.inner();
    it should be "outer.inner nonStatic = new outer(). new inner();"
    now my question is
    interface outer
            public  class inner{
            public void p()
                System.out.println("inside interface's non static member class");
    public class Client {                                           // (11)
        public static void main(String[] args) {                    // (12)
        outer.inner nonStatic = new outer.inner();
        nonStatic.p();
    }on compiling the above code why compilation error is not coming??????????
    i think now it is more clear what i am asking

  • [SOLVED] Passing a non-static member function as a function pointer

    I need to pass a function pointer to a public method to a system call, nftw() to be precise.
    I know that member functions don't match the required signature because of the hidden 'this' pointer, but
    the only way to work around that is by using a small wrapper function that makes use of a global variable (the object of which I want to call the method).
    Speaking in code, this is the way I've solved the problem currently:
    // create a global variable here
    static MyObject obj;
    static int myObject_method_wrapper(const char *fpath, const struct stat *sb, int tflag, struct FTW *ftwbuf) {
    return obj.handleDirEntry(fpath, sb, tflag, ftwbuf);
    // somewhere in main()
    nftw(walkroot, myObject_method_wrapper, 20, FTW_PHYS);
    Now, my question: Can't this be done without a global instance of MyObject? It is pointed out here that other ways are existent, but sadly they are not mentioned.
    Glad if someone could help me out!
    Last edited by n0stradamus (2012-04-24 22:59:47)

    I think you are stuck:
    1. You are not in control of the interface (of nftw), and furthermore,
    2. You are not in control of any of the parameters sent to the callback.
    nftw has no idea which one of your objects it is supposed to reference, and
    there's no apparent way to tell it.
    But given this situation, are you sure it makes sense to use a non-static
    member?  It seems kind of strange to me-- any instance-specific data is
    necessarily going to be independent of the function calls!  So even if you
    engineer something to avoid using a global, whatever you engineer is still
    going to involve some *arbitrary* instance of your class (e.g. peterb's
    solution, which uses the most recently created instance).  The arbitrary-ness
    doesn't feel right, since it sort of implicitly says that none of the instance
    data is important.  No important instance-specific data sounds like static...

  • Non-additive measure

    Hi,
    I'm just learning OBIEE and have this logical modelling question.
    Let's say that I have a fact table. The grain of this fact table is day/product/price. So there is one row per day per product and the price of the product on that day. Price obviously is a non-additive measure. The nature of this measure is actually the problem....it can't be summed across time. Lets call this table price_history table.
    In BMM, I have a time dimension and product dimension and the above described fact table.
    Here's what I want to acheive:
    An answers request which will show me the price at the end of the period. For example, if I select Year from the time dimension, Product Name from the product dimension, and then price from the price_history table, I should get:
    2008 Product A $1.00
    2008 Product B $2.00
    2009 Product A $3.00
    2009 Product B $4.00
    where $1.00 is the price of Product A on 12/31/2008, $2.00 is the price of product B on 12/31/2008, $3 is the price of product A on 9/22/2009 (9/22/2009 is the latest row for Product A in price_history table), $4 is the price of product B on 9/22/2009 (9/22/2009 is the latest row for Product B in price_history table)
    Subsequently, I want to click on the year, and have OBIEE drill down into the data, and split it by Quarters:
    2008 Q1 Product A $1.25 ( the price at the end of Q1 2008)
    2008 Q2 Product A $1.27 ( the price at the end of Q1 2008)
    2009 Q4 Product B $8.00 (the most current price)
    I know this is a lot.....but does anybody have an idea on how one would go about modelling this situation???

    the problem is I want the measure to be additive across total product/prod category/sub prod category (as long as the sum involves prices for only ONE day). But across time I want to apply the LAST aggregation method. In other words, the SUM of all product prices with rollup to PROD CATEGORY/SUBCAT is a valid business query as long as the TIME dimension grain is a day. When the time dimension grain goes up month/quarter/year then I want the LAST price to be picked up for the time frame involved and then summed up to total product/prod category/subcategory.
    Going back to what you suggested. If I create a level based measure (with LAST aggregation) at the product subcategory level, it will only pick up the PRICE for the LAST product in that subcategory which is not what I want. I want subcategory to be the sum of all prices for the LAST day in the time period selected (the last day of the month, quarter, year, day).
    I'm beginning to suspect that this is not possible because there's a flaw in data model.....Any help is appreciated.

  • Non additive dissolve video transition doesnt connect 2 photos gradually in my Premiere pro 5.5

    non additive dissolve video transition doesnt connect 2 photos gradually in my Premiere pro 5.5, is there any settings for it?

    I too am experiencing this issue.  AVCHD footage, GPU Acceleration, trying to apply a cross dissolve, and instead it randomly seems to see it as a simple cut.  The Cross Dissolve is simply ignored... Adjusting the footage length, removing the CDissolve, re-rendering, etc. have no effect.  For whatever reason, in that specific location on the timeline, a cross dissolve with GPU acceleration is impossible.  Yet, in other sections of the timeline, it is just fine.
    (The Fast Blur trick mentioned above worked (Thank you!) however, when I changed my playback resolution on the screen display, that broke the fix.  Deleting the fast blur, and applying it to the clip on the other side of the cross dissolve, re-enabled the work around)
    I also see an issue when a clip changes in the timeline, (cut from one piece of footage, to another) the video will begin to studder, dropping frames.  Framerate seems to drop to about 2fps.  To get smooth playback back, I have to pause and resume the playback.  Even if this is done very very rapidly, it still fixes the playback issue.  it's just really annoying to have to constantly stop and resume playback everytime a video clip changes in the timeline.
    I have a dedicated hard drive for video, and a dedicated mirrored array for the OS.  the video drive is a 7200rpm SATAII drive, and I'm using AVCHD footage.  I really don't think it's a disk speed issue... particularly as pausing and resuming (even if you do it as fast as you can possibly hit the keys) fixes it.  I'd rather not spend the $ to set up a RAID 10 for video, if I can avoid it and particularly if it's not needed.
    -Jason

  • Reinterpret_cast failed to cast between const and non-const member function

    The following code passes g++, but fails on Sun CC 5.8
    class C {
    public:
    void fv();
    void fc() const;
    typedef void (C::*C_FUNC)();
    typedef void (C::*C_CONST_FUNC)() const;
    int main()
    C_FUNC f1 = &C::fv;
    C_CONST_FUNC f2 = &C::fc;
    C_CONST_FUNC f3 = reinterpret_cast<C_CONST_FUNC>(&C::fv);
    C_FUNC f4 = reinterpret_cast<C_FUNC>(&C::fc);
    "recast.cc", line 15: Error: Cannot cast away const or volatile.
    "recast.cc", line 16: Error: Cannot cast away const or volatile.
    2 Error(s) detected.
    Is this a bug of Sun CC?
    Thanks.
    huoq.

    This is a bug in the Sun C++ compiler. A reinterpret_cast is not allowed to cast away constness, but the "const" on a non-static member func tion is not a "top-level" const, and is not being cast away.
    Please file a bug report at http://bugs.sun.com

  • Is there any settings for non additive dissolve video transition? mine doesnt work!

    is there any settings for non additive dissolve video transition? mine doesnt work!

    Hi Edittor,
    What kind of settings were you looking for?
    Thanks,
    Kevin

  • ASO - member level formula - rolling up non-additive values

    <p>I am trying to roll up not additive values (Yields, Percents,Spreads, etc.). In order to do this I have weighted members andmembers to weight them with. This seems to be working okay until Iget to a level where the weighting values are different. Here isthe formula I have today.</p><p> </p><p>IIF (IsLevel ( [Fixed_Float].CurrentMember, 0)</p><p>AND IsLevel ( [Public_Private].CurrentMember, 0)</p><p>AND IsLevel ( [Pre_Post Swap].CurrentMember, 0)</p><p>AND IsLevel ( [Credit Standing].CurrentMember, 0)</p><p>AND IsLevel ( [Credit Grade].CurrentMember, 0)</p><p>AND IsLevel ( [Acq_Disp Reasons].CurrentMember, 0)</p><p>AND IsLevel ( [Investment Type].CurrentMember, 0)</p><p>AND ISLevel ( [Division].CurrentMember, 0)</p><p>AND IsLevel ( [Asset Transactions].CurrentMember, 0)</p><p>AND ISLevel ( [Time].CurrentMember, 0)</p><p>AND ISLevel ( [Scenario].CurrentMember, 0), [Book YieldInput],</p><p>IIF (ISANCESTOR ( [Investment Type].CurrentMember, Derivatives), [Book Yield Wtd]/[Face Value] , [Book Yield Wtd]/[BookValue]))</p><p> </p><p>The outline structure is:</p><p> </p><p>Total Assets</p><p>        Assets  (Book Yield Weighted * Book Value)</p><p>            Bonds</p><p>            Mortgages</p><p>            etc.</p><p>        Derivatives(Book Yield Weighted * Face Value)</p><p>            LiabilitySwaps</p><p>            NonLiability Swaps</p><p> </p><p>Here is my outline. Basically anything on Derivatives &below should use Face Value and anything on Assets & Belowshould use Book Value.</p><p> </p><p>So when I get to Total Assets (Assets + Derivatives) how do Iblend the weighting values?</p><p> </p><p>Also, My formula as it is does not calculate the member"Derivatives" correctly either. How do I say Derivativesand all its children use Face Value?</p><p> </p>

    While there is an MDX way to calculate what you need, I think you'll want to use an alternative.
    The MDX member formula to calculate what you want, which you'd make the formula for a new account that you're trying to define, would be something like:
    Sum (
    Descendants ([Year].CurrentMember, [Year].Levels(0)),
    Sum (
    Descendants ([Time].CurrentMember, [Time].Levels(0)),
    [Interest Rate] * [Receivables]
    (I'm not sure what role [Transaction Count Indicator] plays; perhaps including
    Sum( Descendants([Transaction Count Indicator].CurrentMember, [Transaction Count Indicator].Levels(0) ...)
    is also warranted.)
    If your cube doesn't have any more dimensions than these, and they're not much bigger than you've indicated, then MDX performance on the aggregation won't be a big deal- your cube is pretty small. If your cube is much larger, then you really want to load a field that is the result of multiplying [Interest Rate] * [Receivables].
    When you say "Both sources contain attributes for all members in the Outline", I interpret that as "both sources have all the same dimensions". If that's the case, would it be possible to stage both sources to a single file and as part of the staging perform the multiplication? If you can stage to a table or even a view onto a join of two tables, then you can have SQL perform the multiplication. I don't think that you can specify the multiplication as part of a rules file (though I'd be happy to learn that you could).
    HTH
    George Spofford
    http://www.dsslab.com

  • Best Way To Handle Non Additive Measures

    I am developing a cube looking at total reservations created against a daily allocation by customer. So lets say I am looking at these measures at the lowest level and show location X for Customer Y with an allocation of 100 and total reservations made as 50. Everything here is OK. My issue comes when I roll up to look at just the location. It is taking the allocation and summing this value but I need this value to remain static at all levels. Is there a way to set an accounts measure to never aggregate? I have tried a few different settings such as NEVER SHARE and setting the member aggregation properties to <NONE> in my OLAP model and it continues to aggregate at all levels. I have alos tried adding this as a dimension but because the value is numeric and because I have a few additional allocation measures that can have the same values, I have issues with duplicates. As additional info.....I am building this using EIS. It's entirely possible that I am approaching this the wrong way so any feedback would be appreciated. I can provide more detail if needed.
    Thanks,
    Bob

    Why don't you put the Account that stores the allocated amount in its own special hierarchy? This hierarchy might have Gen2 parent called "Allocate" with a label only tag and below that a series of ~ tagged members underneath. Give it a goofy name so that there can be no question of the Account's purpose, e.g., Reservations - To Be Allocated.
    Your post doesn't indicate what tool you're using for input, but have a separate sheet/form/schedule for the input of the amount to be allocated, have the user enter that amount, save it, and have a calc/HBR launch on save that does the allocation.
    Then your second view of the data (form, report, etc.) doesn't include that Account and no-one's the wiser. You haven't lost original input data and since the forecaster looks at the "real" Accounts hierarchy except when inputting data to be allocated, he'll see the spread numbers only.
    The only thing I might add to this approach is a series of dedicated Location members that receive the allocated number but that's really a design preference more than anything.
    Regards,
    Cameron Lackpour

  • "Semi/Non additive measure with" : "LastChild Across All Dimension" OR "LastChild Across Time and MAX across All Other Dimension"

    Hey All
    I am using the SQL SERVER 2008R2 standard edition so please be mindful when posting any suggestion if that will work on this edition or not.
    Here is the situation: I have Cube with one fact table "Positions". Measure I am querying is "AUM" and Dimensions across user can query are combinations of {"Portfolio", "Security" and "Time"}.
    I am receiving the "AUM" values at "portfolio+Security+Time" level. AUM is actually the Portfolio level value. so sample data I receive would like this.
    PORTFOLIO SECURITY TME AUM
    A SEC1 JAN-1 100
    A SEC2 JAN-1 100
    B SEC1 JAN-1 200
    B SEC3 JAN-1 200
    A SEC1 JAN-2 300
    A SEC2 JAN-2 300
    B SEC1 JAN-2 400
    B SEC3 JAN-2 400
    So, as shown in above example , we received same "AUM" value for a given portfolio and time. (regardless of what security value is).  
    And as AUM is the snapshot values, we can not sum across time as well, so if user is looking across time we need to pick Last values.
    Now when user wants to view this data from cube, two different ways s/he wants to look at it.
    option one: AUM at port+sec+time level. that is same as shown above in example.
    option two: AUM at portfolio level only,  (notice that this is across time so results are picking values for time=JAN-2)
    PORTFOLIO AUM
    A 300
    B 400
    GRAND TOTAL 700
    I have applied the "LastChild" aggregation property to measure to achieve "Do no Sum across Time "behavior. but with this I also get "SUM Across Except time" and hence my AUM values get summed across Portfolio and security as
    well. I have also enable Time Intelligence to enable MTD, YTD calculations.
    I tried to add SCOPE statement for Security before and after the "time calculations" yet I am not able to achieve expected behavior.
    here is the calculated member definition, and scope statement i have tried.
    CREATE MEMBER
    CURRENTCUBE.[MEASURES].[AUMNetBaseCurrency] AS
    [Measures].[AUMNetBaseCurrency_Raw_Max],
    FORMAT_STRING = "#,##0.00 ;( #,##0.00 )",
    VISIBLE = 1 , DISPLAY_FOLDER = 'Position';
    After this I have MTD and YTD time calculation for few measures including AUM.
    I tried placing the following SCOPE for AUM before and after the Time calculations but it no difference in result, in fact it seems like it has no affect of scope at all due to the "LastChild" aggregate property applied on measure.
    SCOPE([MEASURES].[AUMNetBaseCurrency]);
    SCOPE([Security].[Symbol].[All]);
    THIS = MAX([Measures].[AUMNetBaseCurrency_Raw_Max]);
    END SCOPE;
    END SCOPE;
    so options I am thinking of but do not have clear idea how to implement those are:
    0) why my Security Scope Statement are not showing any effect, and can we do something about it?
    1) Can be change "SUM" behavior to "MAX" / "MIN" across all Dimension except time.
    2) Is there a way to implement "LastChild" across all dimension instead only across Time.
    3) Should I need to make any changes at Fact table level to achieve this ? I refer one Q&A in this forum that suggested to create such measure in different measure group but it doesn't have any clarification.
    Any help would be appreciated.
    Thanks
    Anup Shah

    hi,
    you will have to enable cache in your nqsconfig.ini file under the section
    # Query Result Cache Section
    [ CACHE ]
    ENABLE     = YES;
    cache seeding is also a mechanism through which the data would be updated in the cache.

  • Converting non-additive to additive

    Hi,
    I have a fact table which is derived from source data grouped by CA ,GL, and fy_period. I want to convert one of the measure, says PO, in this fact table to be additive and put it into a new column. That is, record with the same CA and GL will have the delta of the PO from current fy_period minus that from previous fy_period.
    Can OWB helps me accomplish this: generating the value for PO_delta based on existing CA,GL, and PO values. Or SQL or PL/SQL solution? example below:
    CA GL PO fy_per PO_delta
    11 55 10 199611 10 <--first row initialized to be the same.
    11 55 40 199612 30 ( 30=40-10)
    11 55 38 199701 -2 (-2=38-40)
    12 33 0 199611 0
    12 33 20 199612 20
    12 33 45 199701 25 (25=45-20)
    ....

    You can use analytic function LAG
    select PO, PO-nvl( LAG(PO,1) over (partition by CA,GL order by fy_per) , 0) as PO_delta
    from ...

  • How to invoke a non-static member from a static reference?

    Hello JDC
    My program consist of several classes. I find it more readable,logic and useful to declare all the methods in all the classes �static� and get access by Class.member().
    The problem showed up when I must use a java biuld-in method( as Component.remove ) within my static method , then I receive compile error.
    The first alternative is to create the class instance inside the static my static method , the second is to use interface which declare its member as static final. The two ways doesn�t fit to my needs , do anyone know another way?
    Thanks in advance
    Shay

    Hi
    im sorry but im not sure what you mean by "OO desgin". i'll appreciate if you'll link me some sources about this , its sound very interesting .
    It may be that you are moving to Java from COBOL or >FOTRAN or something and you are not comfortable with >OO philosophy
    For example, you can never have two instances of >the same class have different properties. What's the >point of having classes at all if you are going to do it >this way? Java is my first language , you sound very unhappy about the way i ignore the OOP , i think you right in some terms but i need to exam my thinking again and think how can i implements the same ideas in a form of OOP. whenever all those information will come i'll be able to response.
    thanks for your reply
    Shay Gaghe

  • EVDRE: Non existant member found in ColKeyRange

    Hi,
    We have several member id's in the col key range which are formula driven (i.e use EVPRO). When we manually type in the Member Id's in the col key range everything works OK.
    However when we use a formulae, the EVDRE fails.
    Are we allowed to use formulae in Col/Row key range?

    Hi,
    we formatted the cells are general instead of numeric and it works.
    Hiren.

Maybe you are looking for

  • Windows 7 bootcamp issue

    I have a MacBook Pro with Windows 7 running on a BootCamp partition.  I only use Windows 7 lightly for military work, and the other day I tried to install a printer and it locked everything up.  Now nothing on Windows 7 works, the mouse, keyboard, et

  • Single invoice reation for single delivery VL06P, VL06F

    here we hav a scenario that if a delivery contains materials with different tax codes, then in vl06p and vlo6f transaction automatically splits the delivery items into different invoices according to the tax codes. i have to display the error when th

  • Is it possible to delete my icloud account?

    Is it possible to delete my icloud account?

  • BW Reporting on RPM and C projects

    Hi Guys, I have a requirments on BW reporting on RPM and Cprojects.Can any one please suggest how we can do and documents on this would be helpfull Thanks Dp

  • Tour not deleting messages when deleted from BES/Outlook

    I was hoping this annoying problem would go away when I upgraded from the World phone to the new Tour on Verizon.  Not so much.  It worked great after activating my BB with our corporate BES.  Now a day later when I delete a message in Outlook, it wi