Logical Column Aggregation

I have CurrentDollars and CurrentUnits in my measures table, and I"ve created PriorDollars and PriorUnits logical columns utilizing the AGO function. Since 'Use existing logical columns as the source' is checked, I don't have access to the Aggregation tab, and everything I've read leads me to believe that this is OBIEE's way of forcing inheritance of the aggregation rule of the 'source' column.
Problem is, the Prior* columns don't aggregate (sum). If I create a report with Year, CurrentDollars, CurrentUnits, I get three rows... one row for each year that has data. That's what I want. But when I add either of the Prior columns, I get 52 rows per year (since my data is at the week level). If I wrap either of the Prior columns in SUM, it sums all Prior* column values. If I check the box that says I want it to use Sum aggregation, nothing changes. I get similar bogus results if I add a SUM function around the original AGO function.
This is a real drag. Am I missing something obvious? Some blogs lead me to think that this is a known bug. Does anyone have a workaround?
Edited by: Tom G. on Aug 26, 2009 11:30 AM

Hi,
What is the source for AGO measures PriorDollars and PriorUnits?
AGO(CurrentUnits, '?',?)
AGO(CurrentDollars, '?',?)
Have you set up hierarchy correctly (because you said that the granularity in your fact table is at week grain) and it should be like this:
Fiscal Year > Fiscal Quarter > Fiscal Month > Fiscal Week
It depends on how did you define your TIME dimension.
Try maybe like this:
PriorYEARDollars = AGO(CurrentUnits, 'YEAR',1)
and the same for
PriorYEARUnits =AGO(CurrentDollars, 'YEAR',1)
Now, if you put in the report
YEAR
CurrentUnits
CurrentDollars
PriorYEARUnits
PriorYEARDollars
you'll get only three rows (for 3 years) with PRIOR YEAR measures.
Try it.
A good reference for understanding AGO:
http://obiee101.blogspot.com/2008/11/obiee-ago-and-todate-series.html
Also you need to set chronological key correctly for TIME dimension.
Regards
Goran
http://108obiee.blogspot.com

Similar Messages

  • Logical column - Aggregation - based on dimensions

    Hi,
    Can anyone explain the working of the aggregation based on dimension functionality. I understand it is different from level - based measures.
    Thanks in advance.
    - Priti

    Hi priti,
    Aggregation based on dimension .
    Hav a look at this you get an idea http://gerardnico.com/wiki/dat/obiee/measure_level_based
    UPDATED POST
    Sorry i gave you the wrong link.This is what your looking for
    http://gerardnico.com/wiki/dat/obiee/aggregation_based_on_dimension
    follow this etiquette as your new http://forums.oracle.com/forums/ann.jspa?annID=939
    Cheers,
    KK
    Edited by: Kranthi on Feb 24, 2011 12:20 AM

  • Logical column levels and aggregation

    Hi all,
    In order to have reliable results, I had to specify a dimension level in a logical column properties.
    As a consequence, the generated query includes this level in the query (that's great), but no aggregation is performed afterwards. Therefore, when I display this measure alone in a flat table or a ticker, I have a set of detailed value instead of an aggregated value. The only place where I can see my aggregated value is in a pivot table.
    In answers, I tried to :
    - replace the default aggregation by an explicit SUM, or
    - add a SUM() in the measure formula
    but neither solved the issue.
    Does anyone know how to solve it?
    Thanks in advance.
    Ced.

    Hi,
    What is the source for AGO measures PriorDollars and PriorUnits?
    AGO(CurrentUnits, '?',?)
    AGO(CurrentDollars, '?',?)
    Have you set up hierarchy correctly (because you said that the granularity in your fact table is at week grain) and it should be like this:
    Fiscal Year > Fiscal Quarter > Fiscal Month > Fiscal Week
    It depends on how did you define your TIME dimension.
    Try maybe like this:
    PriorYEARDollars = AGO(CurrentUnits, 'YEAR',1)
    and the same for
    PriorYEARUnits =AGO(CurrentDollars, 'YEAR',1)
    Now, if you put in the report
    YEAR
    CurrentUnits
    CurrentDollars
    PriorYEARUnits
    PriorYEARDollars
    you'll get only three rows (for 3 years) with PRIOR YEAR measures.
    Try it.
    A good reference for understanding AGO:
    http://obiee101.blogspot.com/2008/11/obiee-ago-and-todate-series.html
    Also you need to set chronological key correctly for TIME dimension.
    Regards
    Goran
    http://108obiee.blogspot.com

  • Aggregation tab disabled for fx logical columns

    Hello, I am new to OBIEE. Can somebody please help me understand the folowing -
    Query - While defining formula column in BMM whenver we use logical column as source why Aggregation Rule tab gets disable?
    How can i apply aggregation rule for such columns at RPD. These columns are recognised by icon fx.
    Please find attached screenshot to help understand my question.
    [https://picasaweb.google.com/105903262683032369187/OBIEE?authkey=Gv1sRgCPW2qu2x8eKdjgE]
    Any help is greatly appreciated.
    Thanks
    Edited by: 930542 on Jun 22, 2012 10:03 PM

    Click on LTS of Table - Column Mapping - Select the logical column - click on expression - Put your logic here. You will get Aggregation rule is enalbed for the column.
    Why ? -- Reason could be nested aggregation is not allowed. Aggregation on the normal column applied during query generation at run time. If you use that Agg.Measure to derive another Agg.measure server could not recognize it during runtime.

  • Display values for logical columns with several physical sources

    Hi all,
    I'm enocuntering some strange behaviour with the values displayed for a column (when we want to add it a as a filter, and in the dialogue box select 'Show All' values).
    Basically the logical column is mapped against several physical columns as the base fact table is aggregated to different levels. Additionally, one column in the fact tables has an attribute value, and these vary between the aggregated and non-aggregated table. This is not a problem.
    In the production environment, when we display the all values in the filters prompt for this column we are seeing the values being taken from one fact table. Naturally this means that not all the values possible for this column are being shown (i.e. values from the aggregated fact tables are missing). Now in one of our test environment where those fact tabels have additional data loaded, the values are being taken from one of the other fact tables. Unfortunately it is not necessarily the fact table with less data.
    My questions are:
    a) What dictates which fact table the server will use when the query in Answers doesnt use any dimensions (i.e. we are selecting just this attribute and selecting all the possible values by which it can be filtered)?
    b) Is there a way of obtaining all the values from the differente physical columns? I.e. that the display values shows the values of that logical column across all the physical fact tables? Maybe we would need to model that attribute as a logical dimension just for that attribute? Im not really sure this would work, as at the physical level the join between the dimension and fact would still have to go to only one particular fact table.
    Any info or help is much appreciated.

    Hi,
    Aggregate tables exist at physical level and are created by ETL procedures. Although i am aware that the dimension come into play when the application needs to decide which source aggregate table to use, it is not an issue here as in our query we are not involving dimensions. We are selecting just this one columen, and then the filter option on this column, then in the dialogue box we select 'All Choices', only the values from one of the source tables is being shown.
    This is not a probelm within reports, i think it is a product limitation in that in that option to list all values a user can filter by, it is not possible to display all the values from the different fact tables to which that column is mapped.
    Has anyone else encountered this behaviour?

  • How To Create Logical column For Lastyear To Till Date

    Hi All,
    I Have to calculate Lastyear to Till Date for Logical Column.
    Ex:I have Time Dime and Fact column and Dimension columns.
    jan 2011 to oct 2012.
    Please Let me know.
    Thanks,
    Abhi

    Looks like you are not reading my messages
    Since you are doing on logical columns getting this error.
    Try this using physical columns then count from aggregate tab
    CASE WHEN "Oracle Data Warehouse"."Catalog"."dbo"."Fact_W_SRVREQ_F_Open_Date"."OPEN_DT_WID" > 20110101 THEN "Oracle Data Warehouse"."Catalog"."dbo"."Fact_W_SRVREQ_F_Open_Date"."SR_WID" END
    The same you can go with your variable
    Or else the same can do by duplicating the existing Fact - CRM - Service Request"."# of SRs" and just add above code.
    or just use the below you dont use sum since already aggregation is happend for # of SRs
    CASE WHEN "Core"."Dim - Date"."Year" = VALUEOf("Warehouse Refresh Date Last Year"."CURRENT_CALENDAR_YEAR_LAST_YEAR") AND "Core"."Dim - Date"."Date" < VALUEOF("Warehouse Refresh Date Last Year"."LAST_REFRESH_DATE_LAST_YEAR") THEN "Core"."Fact - CRM - Service Request"."# of SRs" END
    Hope this works, mark as correct

  • Two physical logical source formulas for on logical column

    I have two fact tables :
    1. W_SERVICE_REQ_F(opened_dt_wid, assigned_dt_wid, closed_dt_wid, QUEUE_WID, SERVICE_REQ_WID): grain is one row per service request
    2. W_SERVICE_REQ_DAY_A(DATE_WID, QUEUE_WID, NUM_OPENED, NUM_CLOSED, num_assigned)
    The goal is to answer NUM_OPENED, NUM_CLOSED per queue in a day and be able to drill-down to those service requests.
    Physical model:
    Common_Date.row_wid = W_SERVICE_REQ_F (Opened_Dt).opened_dt_wid
    Common_Date.row_wid = W_SERVICE_REQ_F (Closed_Dt).closed_dt_wid
    Common_Date.row_wid = W_SERVICE_REQ_DAY_A.DATE_WID
    Queue_d.row_wid = W_SERVICE_REQ_F.QUEUE_WID
    Queue._drow_wid = W_SERVICE_REQ_DAY_A.QUEUE_WID
    Service_req_d.row_wid = W_SERVICE_REQ_F.SERVICE_REQ_WID. (there is no join between Queue_d and Service_req_d)
    BMM Fact and LTSs:
    I have W_SERVICE_REQ_DAY_A, W_SERVICE_REQ_F (Opened_Dt), W_SERVICE_REQ_F (Closed_Dt) as LTSs of "Fact - Service Request" in that order.
    BMM Fact logical columns (measures):
    # Closed
    # Opened
    Question:
    I want to configure each of the above logical column with two physical columns of different aggregate forumlas. (to ensure queries that dont need service req number hit a table) (similar to http://www.gerardnico.com/wiki/dat/obiee/fragmentationlevel_based).
    SUM(W_SERVICE_REQ_DAY_A.NUM_CLOSED)
    COUNT("W_SERVICE_REQ_F (Closed_Dt)".SERVICE_REQ_WID)
    Can someone help in configuring one logical column with two physical column sources with different aggregate formulas?
    This is what I tried:
    In # Opened Properites->Data Type, mapped it to both W_SERVICE_REQ_F (Closed_Dt).ROW_WID and W_SERVICE_REQ_DAY_A.NUM_CLOSED
    In # Opened Properties->Aggregation tab, selected 'Default aggregation rule' as Count Distinct. In the bottom, Logical table sources override as follows:
    W_SERVICE_REQ_DAY_A : SUM("Fact - Service Request"."# Closed")
    W_SERVICE_REQ_F : COUNT("Fact - Service Request"."# Closed")
    Should it be done in a different way?
    PS: OBIEE 10.1.3.4.
    added OBIEE version: Feb 3, 2012 4:40 PM

    I have two fact tables :
    1. W_SERVICE_REQ_F(opened_dt_wid, assigned_dt_wid, closed_dt_wid, QUEUE_WID, SERVICE_REQ_WID): grain is one row per service request
    2. W_SERVICE_REQ_DAY_A(DATE_WID, QUEUE_WID, NUM_OPENED, NUM_CLOSED, num_assigned)
    The goal is to answer NUM_OPENED, NUM_CLOSED per queue in a day and be able to drill-down to those service requests.
    Physical model:
    Common_Date.row_wid = W_SERVICE_REQ_F (Opened_Dt).opened_dt_wid
    Common_Date.row_wid = W_SERVICE_REQ_F (Closed_Dt).closed_dt_wid
    Common_Date.row_wid = W_SERVICE_REQ_DAY_A.DATE_WID
    Queue_d.row_wid = W_SERVICE_REQ_F.QUEUE_WID
    Queue._drow_wid = W_SERVICE_REQ_DAY_A.QUEUE_WID
    Service_req_d.row_wid = W_SERVICE_REQ_F.SERVICE_REQ_WID. (there is no join between Queue_d and Service_req_d)
    BMM Fact and LTSs:
    I have W_SERVICE_REQ_DAY_A, W_SERVICE_REQ_F (Opened_Dt), W_SERVICE_REQ_F (Closed_Dt) as LTSs of "Fact - Service Request" in that order.
    BMM Fact logical columns (measures):
    # Closed
    # Opened
    Question:
    I want to configure each of the above logical column with two physical columns of different aggregate forumlas. (to ensure queries that dont need service req number hit a table) (similar to http://www.gerardnico.com/wiki/dat/obiee/fragmentationlevel_based).
    SUM(W_SERVICE_REQ_DAY_A.NUM_CLOSED)
    COUNT("W_SERVICE_REQ_F (Closed_Dt)".SERVICE_REQ_WID)
    Can someone help in configuring one logical column with two physical column sources with different aggregate formulas?
    This is what I tried:
    In # Opened Properites->Data Type, mapped it to both W_SERVICE_REQ_F (Closed_Dt).ROW_WID and W_SERVICE_REQ_DAY_A.NUM_CLOSED
    In # Opened Properties->Aggregation tab, selected 'Default aggregation rule' as Count Distinct. In the bottom, Logical table sources override as follows:
    W_SERVICE_REQ_DAY_A : SUM("Fact - Service Request"."# Closed")
    W_SERVICE_REQ_F : COUNT("Fact - Service Request"."# Closed")
    Should it be done in a different way?
    PS: OBIEE 10.1.3.4.
    added OBIEE version: Feb 3, 2012 4:40 PM

  • BMM derived logical column - bounced visit

    In Web Metrics, a "bounced visit" is when a session views only one page on a website and then leaves. In my fact table, I capture the "total pages" viewed for each session and I define this metric in my Business Model with an aggregation rule of "sum". I'm trying to use this metric to derive the "bounced visit" metric but I'm running into issues.
    Session ID Total Pages
    1179860475     5
    1179861625     1 <= This is a bounced visit
    1179861920     7
    1179866260     2
    1179868693     13
    If I define "bounced visits" as
    CASE WHEN "total pages" = 1 THEN 1 ELSE 0 END
    What I see in the session logs is:
    CASE WHEN sum("total pages") = 1 THEN 1 ELSE 0 END
    The aggregation of the "total pages" is being done first and then the derived metric is being calculated. This leads to incorrect results. Is there anyway of solving this in the business model? I know that I can go back to the ETL, calculate a "bounce visit" metric, store it in the fact, build out aggregates, etc. I was looking for a short term solution.
    Other things I've tried:
    1) make a copy of the "total pages" column and turning off the aggregation, call it "total pages - no aggregation"
    this leads to queries of the form:
    select distinct T22583.TOTAL_PAGES as c1
    from
    WEB_SESSIONS_A1 T22583
    order by c1
    2) Create a logical column based on "total pages - no aggregation"
    bounced visit = CASE WHEN EnterpriseWarehouse."Web Sessions"."Total Pages - no aggregation" = 1 THEN 1 ELSE 0 END
    This leads to [nQSError: 14020] None of the fact tables are compatible with the query request Web Sessions.bounced visit.

    Cool. I now have two approaches to solve the problem. Thanks for your help. Using your technique, the new logical column shows up in the Logical Table Source screen and I can define an expression for that logical column. The second approach leaves the table type as a Physical table. This has some benefits as I've noticed that the queries that are generated when the table type is defined as a Select statement end up retrieving all of the columns, even though I only needed to act on one of them.

  • Logical columns

    Hi,
    can anyone point me in the direction of a good tutorial or blog, covering the construction of a logical column in the BMM layer. Specifically how OBIEE joins two physical tables if you use more than one table in the source for a logical table and also how it handles aggregation in this scenario.

    Hi,
    I think you looking to build logical table source from one or more physical tables....
    please refer the below links
    http://gerardnico.com/wiki/dat/obiee/join_in_lts
    http://oracletechnotalk.wordpress.com/2012/07/05/bmm-layer-best-practices-in-obiee/
    mark if helpful/correct.....
    thanka,
    prassu

  • Logical column - Fact measure using Dimension value

    Hello all, I have a Fact table that has a metric (Value) where I have set the Aggregation rule to Sum. Now I'd like to create a metric based on the value of a Product Dimension that joins to this Fact table. So I create logical column that has the syntax - Case When Product_Desc = 'A' then Value else 0 End.
    The issue is in Answers when I bring this new metric in it doesn't bring in the correct value, are there steps I am missing with creating this metric?
    My assumption is if I just bring that new metric in by itself it would return one record - A sum of the Value where the Product = 'A'.
    Thank you

    Hi BRizzle,
    In your scenario, you creatre a calculated measure using the employee dimension, and then this measure show "#VALUE" on the pivot table, right? It seems that it's a limitation of using calculated measures in SQL Server Analysis. Calculated measures cannot
    be secured using Dimension Security in a straight forward manner, in fact they won't be listed at all in the Dimension tab of the role where we define the Dimension security. When such measures are browsed in client tools like Excel, the value that would be
    displayed is an error value like #VALUE. For the detail information about it, please see:
    Limitations / Disadvantages of using Calculated Measures / Calculated Members in SSAS
    Regards,
    Charlie Liao
    If you have any feedback on our support, please click
    here.
    Charlie Liao
    TechNet Community Support

  • Store data in logical column

    I am building a report to calculate the following formula:
    Weekly Raised = Delta (“total defect for CURRENT week” and “total defect for LAST week”)
    Example:
    Current week May 24th, “total defect for CURRENT week” = 30
    Last week May 17th, “total defect for LAST week” = 20
    Weekly Raised = 10
    In order for my formula to calculate correctly, I think I would need logical column to store the data that I need
    I would need TWO logical columns:
    Logical Column number one is to store “total defect for CURRENT week”
    Logical Column number two is to store “total defect for LAST week”
    The physical column that I'm using to calculate the total defect is (SUM("Defect Facts".BG_BUG_ID))
    Can any somebody help me with this?

    Hi,
    pls refer the below link
    http://www.oracle.com/technology/obe/obe_bi/bi_ee_1013/bi_admin/biadmin.html#t11
    in the link ref the section Creating Time Series Measures which will tell you how to create the two basic measures.
    and then right click on the current week measure and go to Calculation wizard.
    then select the last week measure in it and in the next page select change or percent change or what ever you want.
    after that in this newly created measure set the aggregation as sum.
    now you can directly use this newly created measure in your report.
    hope this helps.
    thanks,
    karthick

  • Aggregate on logical column

    Hi:
    I was testing two column, ID and Value like this:
    ID   Value
    1     -2
    2     -1
    2      2
    and the aggregate type for <b>Value</b> is Sum. So in the report, it will looks like:
    ID   Value
    1     -2
    2      1
    It's OK. Then I define a logical column, <b>Calc</b> is:
    case when Value < 0 then Value else 0 end
    So I think the computed column should be:
    ID   Value   Calc
    1     -2     -2
    2     -1     -1
    2      2      0
    And then in the report page, it was expect to showed:
    ID   Value   Calc
    1     -2     -2
    2      1     -1
    But actually, I got:
    ID   Value   Calc
    1     -2     -2
    2      1      0
    Why this happened?
    Thanks!

    This is basically good example for condition after aggregation. Condition is applying after the total, thats why it is showing 0. For the 2nd row sum is 1 which is greater than 0, so it is showing 0.
    If you want to avoid this, One solution would do the calculation in the RPD, Use physical columns in calculations. You will get the out put as expected.
    - Madan

  • OBIEE 10g - Logical column with static value

    I created a logical column with static numeric value in it and added it to presentation layer. The column is not showing up in Answers. All other columns I added are showing up. The issue is with this one only.
    I have verified permissions on this column in presentation layer. I tried reloading server metadata in answers, restarting all services but it didn't help.
    One thing I noticed this column is showing fx icon instead of Σ icon.

    Kid,
    The fx means it is a calculated column/formula and the sigma means that you've added some aggregation type to the column.
    Either way it shouldn't matter and your column should be showing up.
    I would attempt to create a new column and in the fx field try entering static text and see if that allows the column to be visible after dragging it to the presentation layer subject area.
    Also what is the value that you are adding?

  • Logical column?

    Hi everybody,
    I have the fact table in the rpd. Every row represents one employee. There are columns such as full time (contract), part time (contract), age, salary and so on. My problems is counting number of part-time employee, full-time employee etc in the answers. For example number of employee per sex (male: 50 and female: 35) etc. I tried to make logical column in BMM with statement such as CASE WHEN NOT SubjectAreaName.TableName.EmployeeID IS NULL THEN 1 ELSE 0 END. Of course this does not work. I get in the Answers in the column just number 1 instead of number of employees.
    Thanks in advance.
    P.S.
    I apologize for my English skill.

    built a seperate logical column and apply your case when. As your case when results in a data type of number, apply aggregation rule here.
    apologies...overlooked your initial post
    I presume it shouldn't be a varchar data type.
    If it is!! convert 1 and 0 to number using a cast and try setting the aggregation rule.
    -bifacts
    Edited by: bifacts on Oct 21, 2010 8:02 AM
    Edited by: bifacts on Oct 21, 2010 8:04 AM

  • Logical column not in hierarchy is shown as being drillable?

    I have a hierarchy created, lets say customer. Within all the levels, logical column "customer zipcode" is not added. By default then, this column would be associated with the detail or lowest level. When I create a report in answers with just this column, it shows up drillable whereby it drills to the lowest level which is apart of by default. So my question is why is this logical column drillable if it is not associated explicitly in the hierarchy?

    Thanks for the reply. Later yesterday I figured out the problem. It took some unit testing and trial and error; but, this is what I gathered during testing.
    1. logical columns for hierarchy table source that are not explicitly added to a level in the hierarchy is by default put in lowest level and they are not drillable because of that.
    2. If you add a logical column which is derived off other logical columns through an expression (for example concatenating col_nm||'('||col_cd||')' in the lowest level, add it as a key and set the key for "use for drilling" then this too will make all logical columns drillable to that. Don't know why but could be a bug.
    3. If you set preferred drill path for the lowest level to another hierarchy level, then those logical column(s) will be drillable. Probably because they are not at the lowest level any more since there is another level down now due to the preferred drill path.
    So in the end since the lowest level drillable column has to be a logical column which is built through expression and the fact that this lowest level needs to drill to another level in another hierarchy due to business requirements I am stuck with all columns not in the hierarchy being drillable. The fix around this though is to go to all these columns that are now drillable, set the aggregation rule to 'no interaction' and save as system-wide default.

Maybe you are looking for

  • Venue 8 Pro not charging?

    I have not used this tablet a lot for the first couple of months I had it, then it was not used for 4 months I enjoyed it but mainly wanted it for travel. I used it for month while traveling in October it worked fine and put it up since then I got it

  • UK Payroll - Absence history from old EE number to new one.

    Hi, I am supporting the UK payroll and I am wondering if someone faced transfering the sickness history from old personnel number to the new one. The only option which I just came to is using the IT 0572 but this is really lots of work because of the

  • I want to rename and copy one file by developer

    i want from u please to help me in this problem,i want to rename one file in hard disk using forms 6i i used this command host('ren c:\xxxxxx_myfile1.txt yyyyyy_myfile2.txt ,no_screen); there is one problem face me when the length of name of file is

  • Table files and Index files 2GB on Windows 2003 Server SP2 32-bit

    I'm new to Oracle and I've ran into the problem where my Table files and Index files are > 2GB. I have an Oracle instance running version 10.2.0.3.0. I have a number of tables file and index files that have a current files size of 1.99GB. My Oracle c

  • EM  - Delete Existing Tracking ID and add New Tracking ID

    Hello Everyone I am working on u201CDual Tracking IDu201D issue for EM Project. Issue: Current design, when Users change Tracking ID (Inbound Delivery Bill of Lading #), In Event Management, we have both Old and New Tracking ID (YTRACK_NO). Solution: