Rollup and Cube

can anyone xplain rollup and cube function in Groupby clause

Google "rollup and cube in oracle" or
http://www.psoug.org/reference/rollup.html
HTH
Girish Sharma

Similar Messages

  • ROLLUP AND CUBE OPERATORS IN ORACLE 8I

    제품 : PL/SQL
    작성날짜 : 2000-06-29
    ========================================
    ROLLUP AND CUBE OPERATORS IN ORACLE 8I
    ========================================
    PURPOSE
    ROLLUP 과 CUBE Operator에 대해 설명하고자 한다.
    Explanation
    ROLLUP operator는 SELECT문의 GROUP BY절에 사용된다.
    SELECT절에 ROLLUP 을 사용함으로써 'regular rows'(보통의 select된 data)와
    'super-aggregate rows'(총계)을 구할 수 있다. 기존에는 select ... union select
    를 이용해 구사해야 했었던 것이다. 'super-aggregate rows'는 'sub-total'
    (중간 Total, 즉 소계)을 포함한다.
    CUBE operator는 Cross-tab에 대한 Summary를 추출하는데 사용된다. 모든 가능한
    dimension에 대한 total을 나타낸다. 즉 ROLLUP에 의해 나타내어지는 item total값과
    column total값을 나타낸다.
    NULL값은 모든 값에 대한 super-aggregate 을 나타낸다. GROUPING() function은
    모든 값에 대한 set을 나타내는 null값과 column의 null값과 구별하는데 쓰여진다.
    GROUPING() function은 GROUP BY절에서 반드시 표현되어야 한다. GROUPING()은 모든
    값의 set을 표현합에 있어서 null이면 1을 아니면 0을 return한다.
    ROLLUP과 CUBE는 CREATE MATERIALIZED VIEW에서 사용되어 질수 있다.
    Example
    아래와 같이 테스트에 쓰여질 table과 data을 만든다.
    create table test_roll
    (YEAR NUMBER(4),
    REGION CHAR(7),
    DEPT CHAR(2),
    PROFIT NUMBER );
    insert into test_roll values (1995 ,'West' , 'A1' , 100);
    insert into test_roll values (1995 ,'West' , 'A2' , 100);
    insert into test_roll values (1996 ,'West' , 'A1' , 100);
    insert into test_roll values (1996 ,'West' , 'A2' , 100);
    insert into test_roll values (1995 ,'Central' ,'A1' , 100);
    insert into test_roll values (1995 ,'East' , 'A1' , 100);
    insert into test_roll values (1995 ,'East' , 'A2' , 100);
    SQL> select * from test_roll;
    YEAR REGION DE PROFIT
    1995 West A1 100
    1995 West A2 100
    1996 West A1 100
    1996 West A2 100
    1995 Central A1 100
    1995 East A1 100
    1995 East A2 100
    7 rows selected.
    예제 1: ROLLUP
    SQL> select year, region, sum(profit), count(*)
    from test_roll
    group by rollup(year, region);
    YEAR REGION SUM(PROFIT) COUNT(*)
    1995 Central 100 1
    1995 East 200 2
    1995 West 200 2
    1995 500 5
    1996 West 200 2
    1996 200 2
    700 7
    7 rows selected.
    위의 내용을 tabular로 나타내어 보면 쉽게 알 수 있다.
    Year Central(A1+A2) East(A1+A2) West(A1+A2)
    1995 (100+NULL) (100+100) (100+100) 500
    1996 (NULL+NULL) (NULL+NULL) (100+100) 200
    700
    예제 2: ROLLUP and GROUPING()
    SQL> select year, region, sum(profit),
    grouping(year) "Y", grouping(region) "R"
    from test_roll
    group by rollup (year, region);
    YEAR REGION SUM(PROFIT) Y R
    1995 Central 100 0 0
    1995 East 200 0 0
    1995 West 200 0 0
    1995 500 0 1
    1996 West 200 0 0
    1996 200 0 1
    700 1 1
    7 rows selected.
    참고) null값이 모든 값의 set에 대한 표현으로 나타내어지면 GROUPING function은
    super-aggregate row에 대해 1을 return한다.
    예제 3: CUBE
    SQL> select year, region, sum(profit), count(*)
    from test_roll
    group by cube(year, region);
    YEAR REGION SUM(PROFIT) COUNT(*)
    1995 Central 100 1
    1995 East 200 2
    1995 West 200 2
    1995 500 5
    1996 West 200 2
    1996 200 2
    Central 100 1
    East 200 2
    West 400 4
    700 7
    위의 내용을 tabular로 나타내어 보면 쉽게 알 수 있다.
    Year Central(A1+A2) East(A1+A2) West(A1+A2)
    1995 (100+NULL) (100+100) (100+100) 500
    1996 (NULL+NULL) (NULL+NULL) (100+100) 200
    100 200 400 700
    예제 4: CUBE and GROUPING()
    SQL> select year, region, sum(profit),
    grouping(year) "Y", grouping(region) "R"
    from test_roll
    group by cube (year, region);
    YEAR REGION SUM(PROFIT) Y R
    1995 Central 100 0 0
    1995 East 200 0 0
    1995 West 200 0 0
    1995 500 0 1
    1996 West 200 0 0
    1996 200 0 1
    Central 100 1 0
    East 200 1 0
    West 400 1 0
    700 1 1
    10 rows selected.
    ===============================================
    HOW TO USE ROLLUP AND CUBE OPERATORS IN PL/SQL
    ===============================================
    Release 8.1.5 PL/SQL에서는 CUBE, ROLLUP 이 지원되지 않는다. 8i에서는 DBMS_SQL
    package을 이용하여 dynamic SQL로 구현하는 방법이 workaround로 제시된다.
    Ordacle8i에서는 PL/SQL block에 SQL절을 직접적으로 위치시키는 Native Dynamic SQL
    (참고 bul#11721)을 지원한다.
    Native Dynamic SQL을 사용하기 위해서는 COMPATIBLE 이 8.1.0 또는 그 보다 높아야
    한다.
    SVRMGR> show parameter compatible
    NAME TYPE VALUE
    compatible string 8.1.0
    예제 1-1: ROLLUP -> 위의 예제 1과 비교한다.
    SQL> create or replace procedure test_rollup as
    my_year test_roll.year%type;
    my_region test_roll.region%type;
    my_sum int;
    my_count int;
    begin
    select year, region, sum(profit), count(*)
    into my_year, my_region, my_sum, my_count
    from test_roll
    group by rollup(year, region);
    end;
    Warning: Procedure created with compilation errors.
    SQL> show errors
    Errors for PROCEDURE TEST_ROLLUP:
    LINE/COL ERROR
    10/8 PL/SQL: SQL Statement ignored
    13/18 PLS-00201: identifier 'ROLLUP' must be declared
    SQL> create or replace procedure test_rollup as
    type curTyp is ref cursor;
    sql_stmt varchar2(200);
    tab_cv curTyp;
    my_year test_roll.year%type;
    my_region test_roll.region%type;
    my_sum int;
    my_count int;
    begin
    sql_stmt := 'select year, region, sum(profit), count(*) ' ||
    'from test_roll ' ||
    'group by rollup(year, region)';
    open tab_cv for sql_stmt;
    loop
    fetch tab_cv into my_year, my_region, my_sum, my_count;
    exit when tab_cv%NOTFOUND;
    dbms_output.put_line (my_year || ' '||
    nvl(my_region,' ') ||
    ' ' || my_sum || ' ' || my_count);
    end loop;
    close tab_cv;
    end;
    SQL> set serveroutput on
    SQL> exec test_rollup
    1995 Central 100 1
    1995 East 200 2
    1995 West 200 2
    1995 500 5
    1996 West 200 2
    1996 200 2
    700 7
    PL/SQL procedure successfully completed.
    예제 2-1: ROLLUP and GROUPING() -> 위의 예제 2와 비교한다.
    SQL> create or replace procedure test_rollupg as
    my_year test_roll.year%type;
    my_region test_roll.region%type;
    my_sum int;
    my_count int;
    my_g_region int;
    my_g_year int;
    begin
    select year, region, sum(profit),
    grouping(year), grouping(region)
    into my_year, my_region, my_sum, my_count,
    my_g_year, my_g_region
    from test_roll
    group by rollup(year, region);
    end;
    Warning: Procedure created with compilation errors.
    SQL> show error
    Errors for PROCEDURE TEST_ROLLUPG:
    LINE/COL ERROR
    12/4 PL/SQL: SQL Statement ignored
    17/13 PLS-00201: identifier 'ROLLUP' must be declared
    SQL> create or replace procedure test_rollupg as
    type curTyp is ref cursor;
    sql_stmt varchar2(200);
    tab_cv curTyp;
    my_year test_roll.year%type;
    my_region test_roll.region%type;
    my_sum int;
    my_count int;
    my_g_region int;
    my_g_year int;
    begin
    sql_stmt := 'select year, region, sum(profit), count(*), ' ||
    'grouping(year), grouping(region) ' ||
    'from test_roll ' ||
    'group by rollup(year, region)';
    open tab_cv for sql_stmt;
    loop
    fetch tab_cv into my_year, my_region, my_sum, my_count,
    my_g_year, my_g_region;
    exit when tab_cv%NOTFOUND;
    dbms_output.put_line (my_year || ' '||my_region ||
    ' ' || my_sum || ' ' || my_count ||
    ' ' || my_g_year || ' ' || my_g_region);
    end loop;
    close tab_cv;
    end;
    Procedure created.
    SQL> set serveroutput on
    SQL> exec test_rollupg
    1995 Central 100 1 0 0
    1995 East 200 2 0 0
    1995 West 200 2 0 0
    1995 500 5 0 1
    1996 West 200 2 0 0
    1996 200 2 0 1
    700 7 1 1
    PL/SQL procedure successfully completed.
    예제 3-1: CUBE -> 위의 예제 3과 비교한다.
    SQL> create or replace procedure test_cube as
    my_year test_roll.year%type;
    my_region test_roll.region%type;
    my_sum int;
    my_count int;
    begin
    select year, region, sum(profit), count(*)
    into my_year, my_region, my_sum, my_count
    from test_roll
    group by cube(year, region);
    end;
    Warning: Procedure created with compilation errors.
    SQL> show error
    Errors for PROCEDURE TEST_CUBE:
    LINE/COL ERROR
    10/4 PL/SQL: SQL Statement ignored
    13/13 PLS-00201: identifier 'CUBE' must be declared
    SQL> create or replace procedure test_cube as
    type curTyp is ref cursor;
    sql_stmt varchar2(200);
    tab_cv curTyp;
    my_year test_roll.year%type;
    my_region test_roll.region%type;
    my_sum int;
    my_count int;
    begin
    sql_stmt := 'select year, region, sum(profit), count(*) ' ||
    'from test_roll ' ||
    'group by cube(year, region)';
    open tab_cv for sql_stmt;
    loop
    fetch tab_cv into my_year, my_region, my_sum, my_count;
    exit when tab_cv%NOTFOUND;
    dbms_output.put_line (my_year || ' '||
    nvl(my_region,' ') ||
    ' ' || my_sum || ' ' || my_count);
    end loop;
    close tab_cv;
    end;
    Procedure created.
    SQL> set serveroutput on
    SQL> exec test_cube
    1995 Central 100 1
    1995 East 200 2
    1995 West 200 2
    1995 500 5
    1996 West 200 2
    1996 200 2
    Central 100 1
    East 200 2
    West 400 4
    700 7
    PL/SQL procedure successfully completed.
    예제 4-1: CUBE and GROUPING() -> 위의 예제 4와 비교한다.
    SQL> create or replace procedure test_cubeg as
    my_year test_roll.year%type;
    my_region test_roll.region%type;
    my_sum int;
    my_count int;
    my_g_region int;
    my_g_year int;
    begin
    select year, region, sum(profit),
    grouping(year), grouping(region)
    into my_year, my_region, my_sum, my_count,
    my_g_year, my_g_region
    from test_roll
    group by cube(year, region);
    end;
    Warning: Procedure created with compilation errors.
    SQL> show error
    Errors for PROCEDURE TEST_CUBEG:
    LINE/COL ERROR
    12/4 PL/SQL: SQL Statement ignored
    17/13 PLS-00201: identifier 'CUBE' must be declared
    SQL> create or replace procedure test_cubeg as
    type curTyp is ref cursor;
    sql_stmt varchar2(200);
    tab_cv curTyp;
    my_year test_roll.year%type;
    my_region test_roll.region%type;
    my_sum int;
    my_count int;
    my_g_region int;
    my_g_year int;
    begin
    sql_stmt := 'select year, region, sum(profit), count(*), ' ||
    'grouping(year), grouping(region) ' ||
    'from test_roll ' ||
    'group by cube(year, region)';
    open tab_cv for sql_stmt;
    loop
    fetch tab_cv into my_year, my_region, my_sum, my_count,
    my_g_year, my_g_region;
    exit when tab_cv%NOTFOUND;
    dbms_output.put_line (my_year || ' '||my_region ||
    ' ' || my_sum || ' ' || my_count ||
    ' ' || my_g_year || ' ' || my_g_region);
    end loop;
    close tab_cv;
    end;
    Procedure created.
    SQL> set serveroutput on
    SQL> exec test_cubeg
    1995 Central 100 1 0 0
    1995 East 200 2 0 0
    1995 West 200 2 0 0
    1995 500 5 0 1
    1996 West 200 2 0 0
    1996 200 2 0 1
    Central 100 1 1 0
    East 200 2 1 0
    West 400 4 1 0
    700 7 1 1
    PL/SQL procedure successfully completed.
    Reference Ducumment
    Note:67988.1

    Hello,
    As previously posted you should use export and import utilities.
    To execute exp or imp statements you have just to open a command line interface, for instance,
    a DOS box on Windows.
    So you don't have to use SQL*Plus or TOAD.
    About export/import you may care on the mode, to export a single or a list of Tables the Table mode
    is enough.
    Please, find here an example to begin:
    http://wiki.oracle.com/page/Oracle+export+and+import+
    Hope this help.
    Best regards,
    Jean-Valentin

  • Rollup and Cubes

    Hi
    I am new to use Rollup and Cubes.
    I have one query with the correct syntax as per the tutorial, but i am getting the error.
    Can anyone let me know where and what is the error in this ?
    select cont,ctry,stat, sum(pop) ,
    grouping(cont) as Continent,
    grouping(ctry) as Country,
    grouping(stat) as State
    from dim1
    group by rollup(cont,ctry,stat)
    having (Continent = 1 and Country=1 and State=1)
    or (Country=1 and State=1)
    or (Continent=1 and State=1)
    SQL> /
    or (Continent=1 and State=1)
    ERROR at line 9:
    ORA-00904: "STATE": invalid identifier
    Thanks
    JC

    That syntax is wrong:
    SQL> create table dim1
      2  as
      3  select 'Europe' cont, 'Netherlands' ctry, 'Utrecht' stat, 1000000 pop from dual
      4  /
    Tabel is aangemaakt.
    SQL> select cont,ctry,stat, sum(pop) ,
      2  grouping(cont) as Continent,
      3  grouping(ctry) as Country,
      4  grouping(stat) as State
      5  from dim1
      6  group by rollup(cont,ctry,stat)
      7  having (Continent = 1 and Country=1 and State=1)
      8  or (Country=1 and State=1)
      9  or (Continent=1 and State=1)
    10  /
    or (Continent=1 and State=1)
    FOUT in regel 9:
    .ORA-00904: "STATE": invalid identifierThe error is in the having clause. If we remove it, the SQL becomes valid again:
    SQL> select cont,ctry,stat, sum(pop) ,
      2  grouping(cont) as Continent,
      3  grouping(ctry) as Country,
      4  grouping(stat) as State
      5  from dim1
      6  group by rollup(cont,ctry,stat)
      7  /
    CONT   CTRY        STAT    SUM(POP) CONTINENT  COUNTRY    STATE
    Europe Netherlands Utrecht  1000000         0        0        0
    Europe Netherlands          1000000         0        0        1
    Europe                      1000000         0        1        1
                                1000000         1        1        1
    4 rijen zijn geselecteerd.If you want the having clause, you have to refer to the grouping functions, not the aliases:
    SQL> select cont,ctry,stat, sum(pop) ,
      2         grouping(cont) as Continent,
      3         grouping(ctry) as Country,
      4         grouping(stat) as State
      5    from dim1
      6   group by rollup(cont,ctry,stat)
      7  having (grouping(cont) = 1 and grouping(ctry)=1 and grouping(stat)=1)
      8      or (grouping(ctry)=1 and grouping(stat)=1)
      9      or (grouping(cont)=1 and grouping(stat)=1)
    10  /
    CONT   CTRY        STAT    SUM(POP) CONTINENT  COUNTRY    STATE
    Europe                      1000000         0        1        1
                                1000000         1        1        1
    2 rijen zijn geselecteerd.Regards,
    Rob.

  • Roll up command and CUBE command

    Please anyone explain me what is the use of ROLLUP and CUBE command in SQL and which situations it will be using.

    Rollup and cube, both of these will be helpfull in aggregate function along with group by.
    Roll up will results in data along with their summation.
    and Cube results in summation of all possible combination.
    It will be help when creating reports and some analytical data.
    Below is an article which give further more explanation
    http://www.oracle-base.com/articles/misc/rollup-cube-grouping-functions-and-grouping-sets.php

  • How to delete the rollup and compress request from the cube

    Hi Experts,
    I have a requirement, one request was updated into the cube and it was been rollup and then compressed.  As the request was compressed so based on request id we cant perform the deletion.
    So it is possible with selective deletion.  Now before performing the selective deletion do i need to deactivate the aggregates. 
    Help me out on this.
    Regards
    Prasad

    Hi.........
    U hav to deactivate the aggregates................bcoz.........Selective deletion is only possible with uncompressed requests...............ie from F fact table...........after compression data moves from F fact table to E fact table.............. you can't do selective deletion on E fact table.........So first deactivate the aggregates............then do the selective deletion..............then again activate the aggregates..............and do the aggregate filling job manually in RSA1..............but I will suggest u delete the request...............bcoz any how u hav to deactivate the aggregates............and in case of selective deletion u hav to be very particular................if ur load is not taking much time............then delete the request and repeat the load............
    Regards,
    Debjani...........

  • Relation between Rollup and compression.

    Hi All,
    Is there a relation between rollup and compression ? i.e if i compress the cube, will the rollup job be faster ?

    Hi,
    Thanks for all your replies. Now the picture is crystal clear.
    1. A compression job moves data from F table to E table. This is also applicable for aggregates. If you schedule a compression job for a cube, the aggregates are automatically compressed( You can also compress aggregates of a cube without compressing the cube. There are programs avalibale for the same).
    2. Assume that you have not done compression . If you load the data to base cube ,it takes more time to create the indexes after loading.
    3) Assume that you have done compression . If you load the data to base cube ,it takes less time than 2 point to create the indexes after loading.
    On similar lines, if aggregates of a cube  are compressed before rollup, then rollup will be faster. This is what exactly I have experienced. I had a cube which had 1000 request. It was never compressed. The rollup job for the cube used to take around 60,000 seconds. I compressed 900 requests. Now the rollup job gets over in 2400 seconds.So the conclusion is the following:
    <b>When aggregates of a cube are compressed, the rollup job runs faster.</b>
    Message was edited by: Tej Trivedi

  • Difference vs rollup and aggregation

    Hey guys,
                        I know they are both the same i.e. Rollup and aggregate.  i guess I need to know the difference between MAINTAIN AGGREGATE (when you click on an infocube it gives you the option to maintain aggregate) and ROLLUP (when you go to manage an infocube and click on the tab called Rollup.  Also I need to know if there is a document or an article that would tell me the criteria of creating aggregate. 
    Thanks and your help is much appreciated as always,
    RG

    Hi Ram,
    Rollup is like delta from Cube to the agggregates. When ever we post a new data into Cube, the need to be updated into t he aggregate tables to be visible in reporting. If you have aggregate on a cube, then when new data gets into the cube, there is a process to fill the new data into the aggregate and this process is called roll up.
    Rollup is the process to load deltas into aggregate from cube.While you are creating the aggregate you have to fill the aggregateit is right.. that is initial fill. After that new data will come to cube, thisnew/delta data should be reflected in the aggregate for further reporting.o do this we use to run ROLLUP in the info cube manage option.f it's not rollup and the cube is having aggregate and the aggregate is in active mode, then you won't get latest information in your query.
    <u><b>Importance of Rollup:</b></u>
    1. once you load data into Infocube is to ensure that recent data is available for reporting.
    2. Rollup analyze and updates database statistics for aggregate objects.
    Pls check this link..
    http://help.sap.com/saphelp_nw04/helpdata/en/9a/33853bbc188f2be10000000a114084/frameset.htm
    When you try to maintain/create aggregates, inside the maintain aggregate window, from the drop down menu, there is a propose from query option, try that will help to build an aggregates for you
    Criteria for Aggregation:
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/9a/33853bbc188f2be10000000a114084/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/75/21054da1392649948e5b94e4fc4bce/content.htm
    http://help.sap.com/saphelp_erp2004/helpdata/en/82/f2dc37f0f12313e10000009b38f8cf/content.htm
    **Pls assign points if info is useful*
    Regards
    CSM Reddy

  • New fields addition to BW 3.5 version ODS and Cube and transport to PRD.

    Hi,
    We have a scenarion on 3.5 wherein there is a enhancement to ODS and Cube(few new fileds are added), this New ODS also feeds data to Cube.  Since we do not had data on Quality system, we had no problem in adding fields to ODS and cube, but now we need transport these changes to Production, In production ODS and Cube has large data. we have few doubts.
    1. Shall we need to delete data from ODS and Cube then Transport request to Production server.
    2. Is it ok to move transport request without deleting data in ODS and Subsequent Cube in production system
    Guys and Gals,
    what is your suggestion on this one. WE are in BW 3.5 only. No BI7.
    Please revert back.

    Hi
    you can directly transport that to production.
    the image will over write with the existing one and for the new object add , a new table space will be created.
    it will not affect the Old data
    But in the Cube even if the data is there there is a concept called remodeling
    http://help.sap.com/saphelp_nw70/helpdata/en/58/85e5414f070640e10000000a1550b0/content.htm
    hope this helps
    santosh

  • Data in DSO and CUBE

    Hi Experts
    Please..Please update me on in detail if possible with example ......Key Fields and Dimensions
    How Data Records will be processed in DSO and  Cube
    I tried to search but i can't able to find what i am looking for
    My Requirment:
    I am extracting Employee Benefits records from Non SAP Source System (Oracle Tables)
    In the Oracle there is no Date field avaliable and there won't be any history avaliable in oracle once the Benefits of an employee is changed the old record will be overwritten to new one so they can't track the employee benefits history...but in BW i need to store/show history of employee benefits by Cal day
    Oracle Table Fields
    Location (Primary Key)
    Emp No (Primary Key)
    Insurance Type
    Call Allowance Type
    Annual Leave (No of day Days)
    Pension Schem
    Company Laptop (Yes/No)

    hi,
    key fields are the primary keys of ur ods tables. based on the key field values the data fields will get overwritten.
    suppose if the key fields values were same then the data fields will get overwritten. but the changes were captured in the change log table, hence the history of changes is available.
    Dimensions- are the prmary keys of cube. but in cube only addition of records will happen as default not overwrite as in ods.
                       dimension ids were generated based on the sid values of characteristics.
    maximum of 16 key fields and dimensions can be there in ods and cube respectively.
    for ur case, include 0calday field in the key fields and use the routine to update the field with system date(SY-Date). this keeps track/ else without date also , change log maintains history for each load.
    have to add 0recordmode to the communication structure of the ods(infosource).
    Ramesh

  • How can i update data of DSO and Cube using ABAP??

    Hello Experts
    I have a requrement in which i need to update/ delete data from DSO and cube based on certain keys using ABAP.
    Please let me know how can i modify contets of cube or active table of DSO.
    Thanks
    Sudeep

    Hi
    I have requirement such that i need to update certain key figures in DSO after certain time.
    for eg. say record with key a is loaded to DSO and currospoding key figure was loaded with value 10
    after few days because of certain parameters changing in system i need to modify key figure value.
    currently i am doing same using 1 self transformation i.e. by loading same data again in same DSO.
    Amount of data is very huge and causing performance issues in system.
    now A is not key but i need to modify record for few combinations which apperar multiple times in DSO.
    Same DSO data is loaded into Cube regularly.
    I may need to update data after gap of few weeks as well.
    This design will be used as template and needto keep whole logic generic.
    So wring Function module can make it generic.
    Thanks
    Sudeep

  • How to do reconcilization of ODS data and CUBE data

    Hi All,
    How to do reconciliation of ODS data and CUBE data,I know how to do reconciliation of R/3  data and BW data.
    Regards.
    hari

    Hi,
    create a multicube based on your ODS and cube, identify commen characteristics and perform the key figure selections; create then a query showing both information from the cube and ODS with perhaps some formula showing differences between key figures.
    hope this helps...
    Olivier.

  • Is the concept of Transactional DSO and Cube in BI 7?

    Hi,
    Is the concept of Transactional DSO and Cube in BI 7?
    I see 3 type of Cubes[Standard or VirtualProvider (Based on DTP, BAPI or Function Module)]
    but canu2019t see transaction Cube.
    also
    I see 3 type of DSO(Standard, Write-optimized, Direct update )
    but canu2019t see transaction DSO
    See this link on DSO, with examples etc:
    http://help.sap.com/saphelp_nw04s/helpdata/en/F9/45503C242B4A67E10000000A114084/content.htm
    I am looking for such summary also for Cubes have you see a similar one?
    Thanks

    New terminology in BI 7.x
    Transactional ODS =  DSO for direct update
    Transactional Cube = Realtime Cube
    Jen

  • Why do we create indexes for DSOs and Cubes.What is the use of it?

    Hi All,
    Can you please tell me why are indexes created for DSOs and Cubes.
    What is the use with the creation of indexes.
    Thanks,
    Sravani

    HI ,
    An index is a copy of a database table that is reduced to certain fields. This copy is always in sorted form. Sorting provides faster access to the data records of the table, for example, when using a binary search. A table has a primary index and a secondary index. The primary index consists of the key fields of the table and is automatically created in the database along with the table. You can also create further indexes on a table in the Java Dictionary. These are called secondary indexes. This is necessary if the table is frequently accessed in a way that does not take advantage of the primary index. Different indexes for the same table are distinguished from one another by a separate index name. The index name must be unique. Whether or not an index is used to access a particular table, is decided by the database system optimizer. This means that an index might improve performance only with certain database systems. You specify if the index should be used on certain database systems in the index definition. Indexes for a table are created when the table is created (provided that the table is not excluded for the database system in the index definition). If the index fields represent the primary keys of the table, that is, if they already uniquely identify each record of the table, the index is referred to as an unique index.
    they are created on DSO and cube for the performance purpose ..and reports created on them wil be also more efficent ..
    Regards,
    shikha

  • Service Management: Contract data sources, Exrractors and cubes

    Hi Fellows: I have never worked in Service Management before and I have been asked to locate the extract strucutres, data sources and cubes for some reports. The reports are for contracts, contract renewals, Contract repairs, Contracts Units End of Service, Contract customers, Contract Customer Report Card etc. Are there any standard extractors, data sources for contracts or service Management?
    Contracts     PLACE ID
    Contracts     
    Contracts     MODEL ID
    Contracts     SERIAL ID
    Contracts     Contract Start Date
    Contracts     Contract End Date
    Contracts     LINE VALUE
    Contracts     Contract ID
    Contracts     Contract Version
    Contracts     Invoice Date
    Contracts     Invoice ID
    Contracts     NAME
    Contracts     LOCATION
    Contracts     Address
    Contracts     City
    Contracts     Global Name
    Contracts     Name
    Contracts     Place ID
    Contracts     State
    Contracts     Zip
    Contracts     Sales Group B
    Contracts     Sales Group C
    Contracts     Contract ID
    Contracts     Version
    Contracts     Term of Contract
    Contracts     PO Number
    Contracts     Product Location
    Contracts     Phone
    Contracts     Model ID
    Contracts     Serial ID
    Contracts     Part ID
    Contracts     Quantity
    Contracts     Service Plan
    ***Contract Renewals:
    Contract Version
    Status of New Contract
    New PG Description
    Event Code
    Event Created
    New Price
    New Travel Price
    Old Price
    Old Travel Price
    ****Contract repairs:
    Problem Resolution
    Received Date
    Repair Center Info, name, address, ciy, state, postalcode,  country
    Repair Center Info, name, address, ciy, state, postalcode,  country
    Repair Center Info, name, address, ciy, state, postalcode,  country
    Repair Center Info, name, address, ciy, state, postalcode,  country
    Repair Center Info, name, address, ciy, state, postalcode,  country
    Repair Center Info, name, address, ciy, state, postalcode,  country
    Scheduled Ship Date
    Serial # Received
    Serial # Registered
    Serial # Shipped
    Service Repair (Work) Order #
    Technician’s name
    Tracking #
    Account Indicator

    This may help you..open the folders in left
    http://help.sap.com/saphelp_nw70/helpdata/en/ed/9dfb3b699bde74e10000000a114084/frameset.htm

  • Standard PS (WBS) Extractor and cube that contains data generated by CJR2

    Hi Experts,
    Can someone recommend a suitable standard extractor for us to extract plan data that was generated in R/3 PS, via transaction code CJR2, as well as a standard PS Cube that stores that data?
    The extractor and Cube should be able to capture characteristics such as, sender cost center, Activity Type, WBS element, Activity quantity, total costs, version, posting periods, fiscal year etc.
    I searched through those many extractors and cubes, but could not find one.
    Thanks.

    Hi Ehab,
    Go through this link, on Page No.7, you can see PS Cubes, ODS and standard queries.
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/c04e90b2-f31c-2a10-0595-8409b37914f3
    Thanks
    Sayed

Maybe you are looking for

  • Redundant X in the column name

    Hi ! I'm trying to insert object into Oracle DB. The object's class has 'id' data member mapped on table primary key also named 'ID'. The problem is that in the INSERT SQL statement generated by KODO 'ID' table column replaced by 'IDX' table column.

  • When i click a link i get The Address wasn't understood

    I use outlook. When I click on a link i get a message that "the address wasn't understood". I need to open links.

  • Working with RAW images in Aperture

    I shoot with a Canon DSLR in RAW. I notice that certain adjustments when applied to a RAW file have no effect ie. sharpen, edge sharpen, noise reduction and maybe more. I suspect that these adjustments are applicable to either a TIFF of JPEG file. Co

  • Moving PC

    Hi, Im migrating to a new pc and I'm having trouble loading DW 2004 (which I bought over the net) onto the new pc. It's asking me for a serial number which I have but it's also looking for a serial number from a previous DW which I really don't seem

  • Profile Parameter - Definition of Password Policy

    Hello, i would know which possibilities exist to define password restrictions for ABAP Netweaver systems. It would be grateful to become some references where I can find information about this subject. Also it would be great to find out if i can conf