Running Aggregate Functions, Attribute or Measure?

Hi Guys:
I wonder if this is a bug in BIEE 11g? I am using 11.1.1.6.
My requirement is quite simple, I have a measure, and I want to show this measure as a cumulative curve by month. For example, let's suppose there are three columns in Criteria:
Month, Amount, RSUM(Amount)
Then I plot a curve by RSUM(Amount) vs. Month. In BIEE 10, there is no problems. However in 11.1.1.6, I got an error. I look into the table and found that, after using running aggregate functions, like RSUM or MSUM, the column becames Attribute, instead of Measure. In other word, although I can see the RSUM(Amount) column in Criteria page shows a yellow icon, it turns into blue in Results page! Since it becames Attributes in Results page, I cannot drag RSUM(Amount) into Measures area in Line Graph. I can see the correct values in Table view, but got error in Line Graph view.
Why the column properties are different between Criteria and Results? And are there any workaround to plot a cumulative curve? I dont want Parete graph.
Thanks
Larry

Hi Larry,
I do not think this is any bug in .6 and I just gave a try successfully to confirm that too. My test case follows
1. Created an analysis with Period.Month and Measures.Value
2. Added another measure and changed the formula of Measures.Value as RSUM(Measures.Value) and still see it to be a measure as expected.
3. Navigated to results section and added all kind of graphs to notice that it is behaving as expected.
Can you let us know, what error are you hitting at in the graph?
Thank you,
Dhar

Similar Messages

  • Aggregates with Attribute Change Run and Master data

    Hi !
    I created Aggregate which includes Master Data such as Customer , Customer Number , Material , Material Number.....
    It also contains navigational attribute and hierarchy...
    Now we all know that if Master data and Hierarchy changes frequently(or some new values are added or new attributes are added etc.) we want to see the respective change in Aggregates too
    So just Rolling up aggregate will not help.
    We need to apply Attribute Change run for this purpose, to aggregates..
    Now the question is HOW TO  APPLY ATTRIBUTE CHANGE RUN to aggregates?
    How to automate this process with Process chains..?
    If i create Aggregate on Master Data CUSTOMER NO., DOES IT AUTOMATICALLY INCLUDE THAT AGGREGATE IN ATTRIBUTE CHANGE RUN FOR THAT CUSTOMER NO. PROCESS CHAINS ?   Yes or No..........
    (What i mean to say is if there is Attribute Change Run for Customer No. and if this is in Process chains specially created for Customer Number , than as aggregates are created on  Customer No., does i t automatically applies and make changes to Aggregate too, or do we hvae to create special process chian for it ?)
    Please reply asap ? its urgent

    hi,
    check these links for attribute change run
    What's the attribute change run? and the common sequence of a process chain
    http://help.sap.com/saphelp_bw30b/helpdata/en/80/1a67ece07211d2acb80000e829fbfe/content.htm
    regards
    harikrishna N

  • Small confusion about aggregates and attribute change run.. plz explain

    hi bw experts,
    i am having a small confusion regarding the aggregates and attribute change run.
    as far as in know if there is any new master data loaded, then we will activate it by context menu on the particular info object and select the option activate master data.
    the second one is going to tools--?apply hierarchy/attribute change run option.
    my doubt is is the attribute change run related to aggregates is yes then how,.?
    appreciated if you plz help me in detail both these concepts and wherther there is any connection between them.
    thanks & regards.
    vijay..

    Hi Vijay sagar,
    ATTRIBUTE CHANGE RUN:
    1)It's used after you change (add/delete/modify) attribute in the master data. You've to make it in order to have an effect after you modify it.
    2)Once the master data has been loaded, the hierarchy/attribute change run is performed. Once this process chain has been ended correctly, master data and texts are available in an active format in SAP BW.
    To get it :
    1. tcode : RSA1.
    2. Tools -> Apply Hierarchy/Attribute Change
    3. tap on Info-object list button (checking what master data you've modified before).
    4. tap on selection button for type of job
    5. Execute.
    link(s):
    http://help.sap.com/saphelp_nw2004s/helpdata/en/80/1a67ece07211d2acb80000e829fbfe/frameset.htm
    AGGREGATES:
    1)Aggregates make it possible to access InfoCube data quickly in reporting. In doing so, aggregates help improve performance. (See Aggregate.)
    2)In order to be able to insert aggregates effectively, it is important to find out which aggregates are frequently used or have not been used in a long time.
    3)Aggregates contains not only general data but also data that appears in an aggregate after data is filled and rolled up. Reporting in this InfoCube reveals how often data was loaded into an aggregate, how long filling and rolling up took, and whether it took longer to read or write the data.
    4)Adding when Rolling Up in Aggregate  counts the time required to write the data to the aggregate.
    The Records, Read for Aggregate Structure key figure  counts the data records that are read for constructing the aggregate.
    Refer the following link:
    http://help.sap.com/saphelp_nw70/helpdata/en/3d/5fb13cd0500255e10000000a114084/frameset.htm
    Assign points if it helps u
    Thanks & Regards,
    Madhusudhan Reddy.K

  • EJB 3.0: EJBQL aggregate functions not working properly

    Hi!
    We are experiencing problems when using aggregate functions within EJBQL queries. In my case, we have to use max() function to retrieve the max start_date from a specific table. In order to do this, we wrote the following code:
    String strQuery = "select max(o.dt_fim) from Questionario o";
    Query queryTeste = em.createQuery(strQuery);
    List x = queryTeste.getResultList();
    OBS: dt_fim is an Oracle 10g datetime column, with its corresponding entity attribute in Questionario entity class.
    AFAIK, the query above should return only one record (object instance) containing the date value, right? However, it brougth a list of the entity objects, corresponding to all records in the table, as we had just run "select o from Questionario o".
    Examining the server log we can see this behavior:
    [TopLink Fine]:2006.09.12 01:47:55.526--
    ServerSession(7119662)--Connection(7048401)--Thread(Thread[ApplicationServerThread-0,5,RequestThreadGroup])
    --SELECT ID_QUEST, DT_INICIO, DT_FIM, DS_QUEST, DT_CRIACAO, TP_QUEST, NM_QUEST, COD_SEGMENTO, ID_GRUPO FROM TBBOP_QUEST
    Are anyone experiencing this issue?
    Is there any workaround?
    Any help would be much appreciated, since we need to deploy the application for user testing asap.
    Thanks in advance.
    Best regards,
    Gustavo
    PS: We are using JDeveloper 10.1.3.0.4(SU4)
    Message was edited by:
    Gustavo Lopes Sobral

    The 10.1.3.0 versions of JDeveloper contain our early preview of EJB 3.0 JPA functionality. One limitation is that the query language is not complete (released before the spec was finalized).
    You can use TopLink Essentials (JPA Reference implementation) whihc contains a complete compliant implementation of the final specification.
    http://otn.oracle.com/jpa
    The 10.1.3.1 JDeveloper preview ships with TopLink Essentials.
    Doug

  • Error in using aggregate function in Outer Query in Siebel Analytics

    Hi,
    When I am using aggregate function in outer query in Siebel Analytics I am facing error.
    Error Codes: OPR4ONWY:U9IM8TAC:OI2DL65P:OI2DL65P
    State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 59111] The SQL statement must include a GROUP BY clause. (HY000)
    Bellow is the code.
    SELECT test1.username saw_0, test1.desg saw_1,COUNT (test2.querydate) saw_2
    FROM (SELECT POSITION.CBL username,
    POSITION.CBP desg
    FROM "CM"
    WHERE (POSITION.BPTCD = 'Marketing')
    AND (POSITION.EDate =TIMESTAMP '1899-01-01 00:00:00'
    ) test1,
    (SELECT users.UN username,
    measures."Query Count" querycount,
    measures."Max Total Time" secs,
    topic.db dashboardname,
    "Query Time".DATE querydate
    FROM "Plan"
    WHERE (topic."Dashboard Name" IN ('DS'))) test2
    WHERE test2.username = LOWER (test1.username)
    AND test2.dashboardname = 'DS'
    GROUP BY test1.username, test1.desg

    Should your query be a valid SQL query?
    I can't think that the query you have would be valid in a SQL plus window.
    Chris

  • Pivot table in BI Publisher: Different aggregate functions in data columns

    Hi, everyone!
    I`ve got some troubles with pivot table in my rtf-template.
    Here is my xml:
    <ROWSET>
         <ROW>
              <_BI_SUBRF_MO_._MUN_NAME_>МО Петроградский р-н</_BI_SUBRF_MO_._MUN_NAME_>
              <_BI_PERS_ACCOUNT_CARD_._BI_PAC_NMB_>714000003</_BI_PERS_ACCOUNT_CARD_._BI_PAC_NMB_>
              <_BI_MONTH_DEBET_._BI_DEBET_SUM_>0.0</_BI_MONTH_DEBET_._BI_DEBET_SUM_>
              <_BI_CALENDAR_._YEAR__>2009</_BI_CALENDAR_._YEAR__>
              <_BI_CALENDAR_._MONTH__>8</_BI_CALENDAR_._MONTH__>
         </ROW>
         <ROW>
              <_BI_SUBRF_MO_._MUN_NAME_>МО Петроградский р-н</_BI_SUBRF_MO_._MUN_NAME_>
              <_BI_PERS_ACCOUNT_CARD_._BI_PAC_NMB_>714000004</_BI_PERS_ACCOUNT_CARD_._BI_PAC_NMB_>
              <_BI_MONTH_DEBET_._BI_DEBET_SUM_>165.58</_BI_MONTH_DEBET_._BI_DEBET_SUM_>
              <_BI_CALENDAR_._YEAR__>2009</_BI_CALENDAR_._YEAR__>
              <_BI_CALENDAR_._MONTH__>7</_BI_CALENDAR_._MONTH__>
         </ROW>
         <ROW>
              <_BI_SUBRF_MO_._MUN_NAME_>МО Петроградский р-н</_BI_SUBRF_MO_._MUN_NAME_>
              <_BI_PERS_ACCOUNT_CARD_._BI_PAC_NMB_>714000004</_BI_PERS_ACCOUNT_CARD_._BI_PAC_NMB_>
              <_BI_MONTH_DEBET_._BI_DEBET_SUM_>165.58</_BI_MONTH_DEBET_._BI_DEBET_SUM_>
              <_BI_CALENDAR_._YEAR__>2009</_BI_CALENDAR_._YEAR__>
              <_BI_CALENDAR_._MONTH__>7</_BI_CALENDAR_._MONTH__>
         </ROW>
    ...... and so on..
    </ROWSET>
    In the pivot table i`d like to see one row for every BISUBRF_MO_._MUN_NAME_ using BICALENDAR_._YEAR__ and BICALENDAR_._MONTH__ as measures and sum of BIMONTH_DEBET_._BI_DEBET_SUM_ and count of unique (or at least just count of) BIPERS_ACCOUNT_CARD_._BI_PAC_NMB_ in cells.
    I create a pivot table using wizard, everything ok except one thing: as i understand, in pivot table for data in rows we can use only one kind of aggregate function e.g. only sum or only count.
    Is there any way to use different aggregate functions in data cells?
    Thank you

    As you can see, when we use crosstab tag we can specify only one aggregate function for data cells.
    Is there any way to get in XSL-FO (where we can what really happens) instead of:
    <T1>
    <xsl:value-of select="sum(current-group()/_BI_PERS_ACCOUNT_CARD_._BI_PAC_UNID_)"/>
    </T1>
    <T2>
    <xsl:value-of select="sum(current-group()/_BI_MONTH_DEBET_._BI_DEBET_SUM_)"/>
    </T2>
    this
    <T1>
    <xsl:value-of select="sum(current-group()/_BI_PERS_ACCOUNT_CARD_._BI_PAC_UNID_)"/>
    </T1>
    <T2>
    <xsl:value-of select="count(current-group()/_BI_MONTH_DEBET_._BI_DEBET_SUM_)"/>
    </T2>
    Edited by: user12115038 on 26.10.2009 8:08

  • Facing problem while using aggregate functions.

    I am trying to use aggregate functions such as sum, count in my CQL query.
    It is not giving me an error but i am unable to get the correct output out of that.
    Query is:
    <?xml version="1.0" encoding="UTF-8"?>
    <wlevs:config xmlns:wlevs="http://www.bea.com/ns/wlevs/config/application"
    xmlns:jdbc="http://www.oracle.com/ns/ocep/config/jdbc">
    <processor>
    <name>APL_EFW_CostEvent_Processor</name>
    <rules>
         <view id="CostEventView"
              schema="eventName eventType eventId opportunityStatusId opportunity_cost APL_Event_Inbound"><![CDATA[
                   SELECT      X.eventName, X.eventType,
                        X.eventId, X.opportunityStatusId,
                        X.opportunity_cost,X.APL_Event_Inbound
                        from APL_EFW_Master_Inbound_Channel
                        XMLTable (
                             '/' PASSING BY VALUE APL_EFW_Master_Inbound_Channel.APL_Event_Inbound as "."
                        COLUMNS
                             eventId char(256) PATH 'fn:data(Event/EventHeader/eventId)',
                             eventName char(256) PATH 'fn:data(Event/EventHeader/eventName)',
                             eventType char(256) PATH 'fn:data(Event/EventHeader/eventType)',
                                  opportunityStatusId char(256) PATH                               'fn:data(Event/ApplicationDataArea/opportunity/opportunity_details/opportunity_status)',
                                  opportunity_cost char(256) PATH                               'fn:data(Event/ApplicationDataArea/opportunity/opportunity_details/opportunity_cost)',
                                  APL_Event_Inbound xmltype path '/'
                        ) AS X
                   ]>
         </view>
    <query id="CostEventQuery">
              <![CDATA[
                   SELECT
                        XMLELEMENT("opportunity",
                             XMLELEMENT("cost_opportunity",
                                  XMLFOREST(X.opportunity_cost))) as APL_Event_Inbound
                             FROM CostEventView
                             MATCH_RECOGNIZE (
                             MEASURES
                                  A.opportunity_cost as opportunity_cost
                                  PATTERN (B A+) within 30000 milliseconds
                                  DEFINE
                                  A as sum(A.opportunity_cost)> 1000                    )
                        as X
              ]]>
              </query>
    </rules>
    </processor>
    </wlevs:config>
    The problem i am getting is when the value is getting compared with the opportunity cost rather than with the sum of oppCost
    A as sum(A.opportunityCost)>1000
    A as A.opportunityCost >1000
    Both the cases are treated as same .

    It would help if you could provide sample input data and associated output that illustrates the problem

  • Problem while using aggregate functions in EJB QL 2.1

    Hai all,
       I am using aggregate function as follows
       select max(c.id) from customer as c
      for this iam selected check box EJB QL 2.1 in persistent.xml
      this is validated by nwds, but while deploying server raising error like ejb ql syntax error.
      Actually according to EJB QL 2.1 this is a valid query, what i need to do for run this same query .
      Anybody please help me in this regard
    Regards
    Somaraju

    Beevin
      Both two are not even validated,
      but with the first one as select max(c.id) from customer as c , in this case it is validated but while deploying it is error as , object must be return
      But when i saw  the ejb2.1 specification we can write this type of queries also ?
      Is it problem with was any thing
    Regards
    Somaraju

  • Easy way to aggregate multiple dimensions or measures?

    We've experimented with some odd solutions, but I wonder if there is an easy way to aggregate multiple measures in a report variable.  Here are the details:
    Assume the universe has several numeric measures called MAX_ONE, MAX_TWO, and MAX_THREE.  We take advantage of these measures for all the normal reasons.  However, we also need the total aggregate MAX_TOTAL of all of those MAX values.  Due to the complexity of the joins in the universe we cannot simply make another MAX_TOTAL in the universe, so instead, we are trying to create this as a report variable.  However, the MAX function seems to want one dimension only.  I really want a MAX of the MAX values, or more genericallly, an aggregate measure that uses other aggregate measures.
    I've tried to call Max() with multiple measures as parameters, but cannot seem to get the syntax correct (if it's supported at all).  Wonder if there's something I'm missing to declare a set, array, or something like that... or if there is a more creative way to solve this problem.
    If suggesting solutions, please remember that adding it as a new measure in the universe is not an option for us.  This particular MAX is quite complex for our universe and if we try to follow that path we end up with incompatible joins or joins that produce no rows due to the nature of the schema.  So we're really focused on the solution path of creating a report variable that is an aggregate of other aggregates on the reporting side at this point.

    Not really.  My example only contained three max aggregates as an example.  However, in reality it's more likely to have something like 20-40 of these in a report (or maybe as many as 100 in some special reports).  The "IF" strategy causes a somewhat exhaustive explosion of statements... didn't think about the exact math but it's probably a factorial explosion something like (n-1)! or so.  Aside from the messy look that would make it hard to maintain, there are also limits of nesting (due to stack space) and limits of the formula text itself.
    P.S., I do have a solution that I'm currently using that is a way "out of the box" given our specific use case of this aggregate function.  However, I'm not going to reveal it until I'm sure there isn't a better way to do this using another syntax that is directly supports this or is more efficient. 

  • Defining STDEV as an aggregate function

    Is there a way to force BO XI R2 to recognize SQL function STDEV as an aggregate function?
    I found a reference for version 6.5 in the following link but I can't implement the suggested solution:
    http://www.forumtopics.com/busobj/viewtopic.php?p=701261&sid=8e2cfd855db2069cb84d9e021a5ba4a5
    Thanks,
    Paulo Gottlib

    Rank syntax is
         rank( expression1, ... expression_n ) WITHIN GROUP ( ORDER BY expression1, ... expression_n )for example we are going to find employee salary and comm
    select rank(1000, 500) WITHIN GROUP (ORDER BY sal, comm) from emp;The SQL statement above would return the rank of an employee with a salary of $1,000 and a commision of $500 from within the emp table.
    Now we are going to find from your table like this
    first of all run this query
    select * from employee order by salary, JOB_IDyour result will be like this
    RowNum ID JOB_ID SALARY
    1     100 667 800
    2     200 670 1250
    3     300 670 1250
    4     400 670 1600
    5     500 671 2200
    6     600 671 2750
    7     700 671 2850----------------------------------------------------------------------------------------
    select rank(2650,671) within group (order by salary, JOB_ID) from employeeit will be return value 6 because salary 2650 near to row 6 (Salary = 2750)
    similarly
    select rank(1900,670) within group (order by salary, JOB_ID) from employeeit will be return value 5 because salary 1900 near to row 6 (Salary = 2200)
    select rank(800, 671) within group (order by salary, JOB_ID) from employee
    this query return value 2 (reason is that)
    salary = 800 exist on row number 1
    and Job_ID = 671 exist on row_num 5 to 7due to salary and job_id both don't match so query will return those value where salary has min difference
    Now check
    select rank(1250, 671) within group (order by salary, JOB_ID) from employeesimilarly it will be return value 4
    .... Thanks & Regards ....
    --------Syed Adeel Ali-------
    ----------------------------------------------------------------------------------------

  • Aggregate function in the query

    Hi gurus,
    What makes presentation layer send queries with Aggregate( by ) function eventhough this function is not used in the column formulas?
    Now comes a long explanation - only for the patient ones :-)
    I am working OBIEE / Essbase.
    A strange thing happened to one of my reports - exactly the same report (pivot) in production (old repository) works fine, but brings wrong results on the new repository.
    I found out that SQL sent to OBIEE is different.
    With old repository, it sends a query with 'Aggregate ( by)' function used for measures. However with the new one, it sends just column names without the Aggregate.
    Where shall I look for the difference?
    -- OLD (Good) query -----------
    SELECT DIM_BATCH_HEADERS."Gen3,DIM_BATCH_HEADERS" saw_0,
    PROD_QTY.PROD_ACTUAL_QTY_KG/1000 saw_1,
    DIM_COMPONENT."Gen3,DIM_COMPONENT" saw_2, ' ' saw_3,
    COST.COMP_ACTUAL_COST_ILS_PER_TON saw_4, 0 saw_5,
    COST.ACTUAL_COST_K_ILS saw_6, 0 saw_7,
    AGGREGATE(saw_1 BY ),
    AGGREGATE(saw_4 BY ),
    AGGREGATE(saw_6 BY ),
    AGGREGATE(saw_1 BY saw_0, saw_5),
    AGGREGATE(saw_4 BY saw_0, saw_5),
    AGGREGATE(saw_6 BY saw_0, saw_5)
    FROM "COP_MAAD#1" WHERE (COMP_QTY.COMP_RELEVANT > 0)
    AND (DIM_TIME."YEAR" = '2009')
    AND (DIM_BATCH_HEADERS."Gen2,DIM_BATCH_HEADERS" = 'ABC')
    ORDER BY saw_1 DESC, saw_4 DESC, saw_0, saw_2, saw_3, saw_5, saw_7
    -- NEW (Incorrect) Query ---------------
    SELECT DIM_BATCH_HEADERS."Gen3,DIM_BATCH_HEADERS" saw_0,
    PROD_QTY.PROD_ACTUAL_QTY_KG/1000 saw_1,
    DIM_COMPONENT."Gen3,DIM_COMPONENT" saw_2,
    ' ' saw_3, COST.COMP_ACTUAL_COST_ILS_PER_TON saw_4,
    0 saw_5,
    COST.ACTUAL_COST_K_ILS saw_6,
    0 saw_7 FROM "COP_MAAD#1"
    WHERE (COMP_QTY.COMP_RELEVANT > 0) AND (DIM_TIME."YEAR" = '2009')
    AND (DIM_BATCH_HEADERS."Gen2,DIM_BATCH_HEADERS" = 'ABC') ORDER BY saw_1 DESC, saw_4 DESC
    Thanks,
    Alex

    Hi,
    Can anybody reply to the above question please?
    regards,
    Siva

  • Aggregate Function in a report region does not work.

    I have a Reports Region with a Region Source that contains an aggregate function. But when I run the page, the value of the function is not returned. I suspect it is a simple syntax error. can somebody tell me what is wrong with
    select "TAG_PERIOD_START_DATE", MIN("ORDER_NUMBER")
    from "#OWNER#"."TAG_ORDER"
    group by "TAG_PERIOD_START_DATE"
    order by "TAG_PERIOD_START_DATE"
    The problem is probably with the MIN("ORDER_NUMBER") part. I tried several versions of that, but none worked.
    The Grouping works fine -- the query returns the TAG_PERIOD_START_DATE, just not the value of the function.
    BTW, this query works in SQL Plus (with the quotes removed, of course).
    Thanks for any suggestion you may have.

    When I just made a change to the SQL, I got a message stating:
    You have requested to change the Interactive Report query. If you added columns to the query, they will not be displayed when the report is run. You will need to use the actions menu and either select the columns or click Reset. If you removed any columns from the query, it will disable existing filters, highlight rules, and other report settings referencing those columns. Please confirm your request.
    So maybe that was the cause of the problem yesterday. Where is the "Actions menu"?

  • Aggregate function in native query (EJB 3.0)

    How do you run a aggregate function in a native query? I have a particular use case, for reporting purposes, where the result set is too large to fetch the actual CMP collection, thus I need to execute a native count/avg select. I want some thing like,
    Integer totalRecords = (Integer)
           em.createNativeQuery("select count(*) from records").getSingleResult();

    Oracle is intelligent enough to use index only if query result filtering is based on it and result set is less than 5% of the total data set.Sorry to be blunt but that 5% stuff is nonsense.
    Here since the index column is not used in the WHERE clause, oracle performs full table scan.That's not true either. Under the right circumstances the optimizer can use the index, even without a WHERE clause in the query:
    SQL> create table t as select * from dba_objects where object_type is not null;
    Table created.
    SQL> alter table t modify object_type not null;
    Table altered.
    SQL> create index t_idx on t(object_type);
    Index created.
    SQL> explain plan for
      2  select object_type, count(*) from t group by object_type;
    Explained.
    | Id  | Operation             | Name  | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT      |       |    44 |   396 |    60   (7)| 00:00:01 |
    |   1 |  HASH GROUP BY        |       |    44 |   396 |    60   (7)| 00:00:01 |
    |   2 |   INDEX FAST FULL SCAN| T_IDX | 72474 |   636K|    57   (2)| 00:00:01 |
    -------------------------------------------------------------------------------With the OP's query, it (apparently) can not be satisfied by using only the index.
    WHERE TO_CHAR(COL) = TO_CHAR(COL)I don't even know what this means. Usually if you perform a function on an indexed column, the optimizer will not use the index (unless of course it's an fbi).

  • Group by function in a measure object

    Hi All,
        I am trying to create a measure in universe which is the sum of ticket amount group by country. like,
    sum(Payments.Ticket_Amount) group by country name. When i place this measure in a report group footer it should display the sum to that particular group. But it is not working.
    Could anybody help me how to write a group by function to create a measure.
    Thanks,
    swati.

    Hi swati.
    You don't need to write the GROUP BY statement at the universe level.
    The universe knows that aggregate functions require group by statements and will group the aggregate measure objects by whatever dimension objects are included in the query. If you have a measure object that is not based on an aggregate but has a projection of Sum, it will only be aggregated at the report level once the data has been returned by the query.
    Measure: sum(sales_fact.value)
    Measure: sales_fact.price
    Dimension: country_dim.country
    This would generate SQL along the lines of:
    SELECT sales_fact.price, country_dim.country, sum(sales_fact.value)
    FROM sales_fact, country_dim
    WHERE sales_fact.country_key = country_dim.country_key
    GROUP BY sales_fact.price, country_dim.country
    Hope that clears it up for you.
    Regards,
    Mark

  • Using aggregate function pulls an additional table in join

    Hello,
    We're facing a wierd scenario whereby using an aggregate function in a report brings an additional table in the query, which should not be included. Please throw some light on this if you have any idea why this would happen. Here are the details
    OBIEE version: 10.1.3.4
    I pull 2 columns in my report - Col1 (numeric column from Dim A), Col2 (date column from Dim B)
    I have already set an implicit fact column in that subject area (Col3 from Fact X)
    Now when I run this report, the FROM clause of the sql correctly shows Dim A, Dim B, Fact X
    Later, I apply a MAX function on Col2 (date column from Dim B). Ideally, the FROM clause of my sql should still be the same. But here is what happens...
    FROM Dim A, Dim B, Fact X, Fact Y (Bridge table).
    Fact Y is a bridge table that we are using in this subject area. But there is no reason why this table should get pulled in this query just by using an aggregate function in it.
    Your thoughts and insights will be highly appreciated.
    Thanks,
    Vahib

    Did you apply MAX in the aggregate function section? If that is the case, OBIEE is forced to consider logical table for Dim B as a fact and brings in Y as a way to resolve the join between two facts.
    Try setting up a new fact and create MAX column there. See if it resolves that problem or not. You may also want to bring Dim B in the LTS of the main fact and create a column with MAX aggregation. That should work too.

Maybe you are looking for

  • 0000000003/2007 excise invoice is not meant for exports.

    WHEN IAM CREAING ARE 1 IA M GETTING THIS ERROR 0000000003/2007 excise invoice is not meant for exports. Message no. 4F242

  • Just installed Acrobat, now Firefox won't open PDFs

    Hi, I just installed Adobe Acrobat 8 Standard on my computer (running Windows 7).  Now, if I click a link to a PDF in Firefox, it doesn't open.  A new tab opens, as before, but then I get an error message telling me to close my pdf reader and my brow

  • Bridge CS5 - Metadaten-Übernahme?

    Ich stoße bei der Einarbeitung in Photoshop als Anfänger auf mein erstes Problem: Ich habe unter Bridge eine Metadaten-Vorlage erstellt und abgespeichert. Frage nun: Wie bekomme ich es hin, dass die Daten für alle markierten Bilder göeichzeitig übern

  • Opening multiple pictures in Photoshop

    I am working on a picture file, jpegs, changing the size, the level, etc. I open several pictures usually 3 or 4 and when I try to open the next I receive a pop up error message that says: "Could not complete your request because of a program error."

  • How to delete Xcode Tools?

    I just downloaded Xcode Tools.mpkg from the install disk. After reviewing it I realized I will never ever need this. I think it created a folder named "Developer" in my Macintosh HD with a size of 1.55GB. Is this what I downloaded? Can I just trash t