Using aggregates in AGO function
Hello!
I want to use AGO function that would use aggregates.
Requirements:
I want to be able to make year-to-year comparision, where I compare period based on specific dates
This same year-to-year comparision I want to speed up using aggregated fact tables grouped on months level.
I created aggregated SALES table and aggregated time table (group by month) and it works OK with normal queries. It uses aggregated tables when apropriate (possible)
When I use AGO function it always goes to fact table, which time dimension is at lowest level (i.e. date). How can I force BI server to use monthly aggregated tables in AGO function?
Any tip, workaround?
BI server 10.1.3.2.1
Thank you,
Gorazd
Message was edited by:
gor
Message was edited by:
gor
I tested it and in case of AGO function it goes to detailed fact table SALES instead on agg_sales. Any tips?
Gorazd
Message was edited by:
gor
Similar Messages
-
Hi guys,
I have a factless fact (indicator and some textual field) that I need to display for previous year.
I need somehow to use it in AGO function - I'm getting error message that AGO can only accept aggregated measure.
Any ideas?Great tip! I'll try...Mma - nice to see you back in action :-)...Worked like a charm!
Message was edited by:
wildmight -
Hi all,
My problem is that when i use ago function it displays next months value for example first column shows balance of april month and next to it ago column displays balance of the may not march. I am really confused. Please help,
AGO(SR02BriefIncome.sr02_cube.BALANCE, SR02BriefIncome.timesDim."times Detail", 1);Hi Nico,
Another question in relation to Ago function; I need to get value/balance a year ago which is 12 months ago, and also previous year's last months balances; the problem is that Ago function takes only integer, I have tried to put a variable, Is there is way i can get balances of the previous year's last month because it will be much easier to get it using built-in ago function.
Also i need help with your answer for thread How to use row values in Presentation or Administration for calculation
Re: How to use row values in Presentation or Administration for calculation
"Yes, I forgot this one. Of course, this solution work when you have a pivot column.
If you talk about period to period comparison, really often I must do a share like this one : ($2-$5)/$5.
And unfortunately, this is not possible in a calculated item. Is it ?"
We have a lot of reports with inter-row calculations, we have already used a lot sql model but we would like use answer also. Can u explain it with exact examples or steps.
thank you again, -
AGO function in OBIEE to display weekly sales data of this year vs last yea
All,
I would to create an analysis that display this year sales numbers vs last year by weekly
I was able to do this at month level by specifying the offset value to 12 to the AGO function in repository.
I am not able to do at week level.
Can someone please help?
ThanksCheck the W_DAY_D or W_WEEK_D for number of weeks per year, validate the year/4 then its leap year then 53
Use this in ago function at <<Number of Periods>>.
I think you have to go for 53 based on these tables some times 54. -
How can I use AGO function with aggregates
I use aggregated table and a detailed table
I have time hierarchy whose lowest level is date. For sales I
created year-to-year (YTD) comparision with AGO function. It
works OK.
BUT, I want to speed it up, so I used aggregates. I created new
time table grouped by MONTH and corresponding agg_SALES table. I
created connections and mapped the fields. It works OK for
normal queries, that means my queries at month level use
aggregates. BUT when I add YTD measures or YAGO measure in query, it goes to
then SALES table whose grain is date.
How can I force BI Server to use AGO function with aggregates?
I use OBIEE 10.1.3.4
Thank you
Ishaq
(Question originally taken from ITtoolbox and posted by Gorazd)
SORRY - THE QUESTION IS IN THE WRONG FORUM
Edited by: ishaq12 on Nov 19, 2008 12:21 PMHi,
you can not do it in Administration tool but you can set agregation for that field in Answers (fx->Agregation rule->Sum) and effect should be the same. Note that it may not work properly on Oracle 10g as generated SQL is not 100% recognized, on 11g everything is OK (at least in my case).
Regards,
Marko
Edited by: user10449532 on 2008.11.19 06:29 -
AGO ToDate function not using aggregates
I use aggregated table and a detailed table
I have time hierarchy whose lowest level is date. For sales I
created year-to-year (YTD) comparision with AGO function. It
works OK.
BUT, I want to speed it up, so I used aggregates. I created new
time table grouped by MONTH and corresponding agg_SALES table. I
created connections and mapped the fields. It works OK for
normal queries, that means my queries at month level use
aggregates. BUT when I add YTD measures or YAGO measure in query, it goes to
then SALES table whose grain is date.
How can I force BI Server to use AGO function with aggregates?
I use OBIEE 10.1.3.4
Thank you
Ishaq
(Question originally taken from ITtoolbox and posted by Gorazd)Hi,
you can not do it in Administration tool but you can set agregation for that field in Answers (fx->Agregation rule->Sum) and effect should be the same. Note that it may not work properly on Oracle 10g as generated SQL is not 100% recognized, on 11g everything is OK (at least in my case).
Regards,
Marko
Edited by: user10449532 on 2008.11.19 06:29 -
Dear All,
I have to report on cubes that have their data aggregated on the day level. Standard reporting works fine. Now I want to do some historic comparison. I therefore created some calculation columns in Administrator, e.g.
AGO(fact, dim_time.month,1)
which shall give me the value of the fact just one month (and quarter and year in other columns) ago. If I report this on a daily basis, e.g day, fact, fact_month_ago I can see the report and calculation is correct, fact_month_ago is exactly the sam as fact from one month ago.
But now I start to aggregate such a report to the month level (in Answers). So the report is month, fact, fact_month_ago. Now, some months are correct some are different. Looking deeper into this I assume this belongs to the number of days in a month. February has 28 days, so in the monthly report 28 lines are aggregated, even for the fact_month_ago table.
In this case month_ago is January, which has 31 days, but 29 to 31 are not aggregated, as the report goes only from feb 1st to feb 28th.
In the end the sum of the month_ago calculation is unequal to the sum of the last month.
Does this mean I cannot use AGO function to calcualte things like that, or is there any trick or other function that would help here ?
Regards,
KnutYou can have problem if you are going in a lower level such as week or date but if you stay on the month level, normally you must have the good result.
Check here to have an example of this problem:
http://obiee101.blogspot.com/2009/01/obiee-leap-year-challenge.html
Otherwise, check your set up:
http://gerardnico.com/wiki/dat/obiee/bi_server/design/dimension/time_dimension_parameters_for_ago_and_td_functions#timecalender_dimension_design_verification
See each punt that are listed under the paragraph Time/Calender Dimension Design Verification. A good time dimension is the key for a good result with the time series function.
Cheers
Nico -
Below expression works fine with text box but gives error in dataset expression.
="SET FMTONLY OFF select "+ join(Parameters!Column.Value,",") +" FROM pamcustom.dbo.vw_HFL_HFD_HotfileData INNER JOIN pamcustom.dbo.HFL_HFB_HotFileBatch on BatchID = HFB_intBatchID where BatchID ="+Parameters!BatchId.Value+"
and "+Parameters!cmbTranType.Value+" "+ iif(CountRows("DS_Aml_Mnr_Iss_Desc")=Parameters!Mnr_Iss_Desc.count," "," and aml_mnr_iss_desc in "+"('" & join(Parameters!Mnr_Iss_Desc.Value,"','")
& "')")+iif(CountRows("ds_ReportingCategory")=Parameters!ReportingCategory.count," "," and ReportingCategory in "+"('" & join(Parameters!ReportingCategory.Value,"','") & "')")+iif(CountRows("ds_NAICSubGroup")=Parameters!NAICSubGroup.count,"
"," and naicsubgroup in "+"('" & join(Parameters!NAICSubGroup.Value,"','") & "')")+iif(CountRows("ds_PortTrading")=Parameters!PortTrading.count," "," and porttrading in "+"('"
& join(Parameters!PortTrading.Value,"','") & "')")+iif(CountRows("ds_GL_LE")=Parameters!GL_LE.count," "," and gl_le in "+"('" & join(Parameters!GL_LE.Value,"','") &
"')")+iif(CountRows("ds_coagroup")=Parameters!cmbCoaGrp.count," "," and coagroup in "+"('" & join(Parameters!cmbCoaGrp.Value,"','") & "')")+iif(CountRows("Portfolio")=Parameters!cmbPort.count,"
"," and portfolio in "+"('" & join(Parameters!cmbPort.Value,"','") & "')")+IIf(IsNothing(Parameters!txtSecID.Value)," "," and secid in ('"+Replace(Parameters!txtSecID.Value,",","','")+"')")+iif(IsNothing(Parameters!minPortFilter.Value)
and IsNothing(Parameters!MinPort.Value)," "," and portfolio "+Parameters!minPortFilter.Value+Parameters!MinPort.Value)+iif(IsNothing(Parameters!maxPortFilter.Value) and IsNothing(Parameters!MaxPort.Value)," ","
and portfolio "+Parameters!maxPortFilter.Value+Parameters!MaxPort.Value)+iif(IsNothing(Parameters!minCoaFilter.Value) and IsNothing(Parameters!txtMinCoa.Value)," "," and portfolio "+Parameters!minCoaFilter.Value+Parameters!txtMinCoa.Value)+iif(IsNothing(Parameters!maxCoaFilter.Value)
and IsNothing(Parameters!txtMaxCoa.Value)," "," and portfolio "+Parameters!maxCoaFilter.Value+Parameters!txtMaxCoa.Value)
I guess the error " Aggregate and lookup functions cannot be used in query parameter expressions." is because I am using CountRow to ensure that if all values of multi select all selected i will not use that filter in where clause.
Pls. guide...Hi, Include your parameter total count in the dataset for parameter and instead of using countrows() function use the count from dataset in the expression.
Hope this helps.........
Ione -
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.desgShould 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 -
Using Aggregate function in queries
Hi all,
Please take a look on this query and suggest me why i'm getting the error..
This is my simple query using aggregate function in it..
SELECT T1.NAME, T1.DESCRIPTION, SUM(T2.QUANTITY)
FROM TABLE1 T1, TABLE2 T2
WHERE T1.ID=T2.ID
GROUP BY T1.NAME, T1.DESCRIPTION
Above query added with a sub-query in the select segment..
SELECT T1.NAME, T1.DESCRIPTION, SUM(T2.QUANTITY), (SELECT AVG(T3.PRICE) FROM TABLE1 TT1, TABLE3 T3 WHERE TT1.ID=T3.ID AND TT1.ID=T1.ID) AV_PRICE
FROM TABLE1 T1, TABLE2 T2
WHERE T1.ID=T2.ID
GROUP BY T1.NAME, T1.DESCRIPTION
When i add a sub-query which has aggregate function in it, i'm getting the 'ORA-00979: not a GROUP BY expression' error.What is your DB Version. Your query works without any issue in my DB. I used WITH clause to create the sample data. The query highlighted in BLUE is the actual query.
SQL> select * from v$version where rownum = 1;
BANNER
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bi
SQL> with table1
2 as
3 (
4 select 1 id, 'karthick' name, 'user name' description from dual
5 ),
6 table2
7 as
8 (
9 select 1 id, 100 quantity from dual
10 ),
11 table3
12 as
13 (
14 select 1 id, 10 price from dual
15 )
16 select t1.name
17 , t1.description
18 , sum(t2.quantity)
19 , (
20 select avg(t3.price)
21 from table1 tt1
22 , table3 t3
23 where tt1.id = t3.id
24 and tt1.id = t1.id
25 ) av_price
26 from table1 t1
27 , table2 t2
28 where t1.id = t2.id
29 group
30 by t1.name
31 , t1.description;
NAME DESCRIPTI SUM(T2.QUANTITY) AV_PRICE
karthick user name 100 10
SQL> -
How to use Ago function in BIEE with mysql database
Hi experts,
Ago function works well in Oracle database,but when I tried a mysql database,it didn't show results as expected. Anyone knows how to use Ago with mysql as data source?Hi Gurus, need help
-
How to use Aggregate Functions during Top N analysis?
Say i want to find top 5 highest salaries and their totals and average. In that case how to use aggregate functions. Please give me an example on this.
Regards,
Renu
Message was edited by:
user642387Hi,
Yes, you can do that with aggregate functions.
First, do a sub-query to retrieve all the salaries (in descending order), then say "WHERE ROWNUM <= 5" in the main query. Use the aggregate SUM and AVG functions in the main query.
Analytic functions are easier to use for jobs like this, once you get familiar with them. If you're not leaving the field this month, then it's probably worthwhile for you to get familiar with analytic functions. -
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
SomarajuBeevin
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 -
Error while using Ago function
hi all,
OBI 11.1.1.7.1
I am unable to view data on result tab. No value returned in Calcutated Attribute. Please Help
Error Codes: OPR4ONWY:U9IM8TAC:OI2DL65P
State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 43113] Message returned from OBIS. [nQSError: 22040] To use Ago function, the storage level of the query ('[Time Dim.PAY_DT]') must be a static level.Please have your System Administrator look at the log for more details on this error. (HY000)
Regards,
NiveditaSubstr("Fin Account".ASSET_NUM, 1, instr(Fin Account".ASSET_NUM, ':')+1)
or
Substr("Fin Account".ASSET_NUM, instr(Fin Account".ASSET_NUM, ':')+1,50)
i think you should use 3 parameters, did you try that if it would work?
additionally check what is the default format of your data: go to column properties -> data format; if its text then ok; otherwise you will have to cast the number to char; in such a case the above could be:
Substr(cast("Fin Account".ASSET_NUM as char(20)), 1, instr(cast(Fin Account".ASSET_NUM as char(20)), ':')+1)
or
Substr(cast("Fin Account".ASSET_NUM as char(20)), instr(cast(Fin Account".ASSET_NUM as char(20)), ':')+1,50)
Edited by: UserMB on Jun 25, 2009 6:17 AM
Maybe you are looking for
-
FI661 Maintain default revenue element in controlling in SD
Hello, I would like to ask you for a little help. We are trying to post down payment (document type FAZ) in SD module. During saving of FAZ document we got error message with actualization. In transaction SM13 we found, that error is caused in functi
-
Flash starts, some browers quit loading. Flash left blank.
The Flash file loads, but the contents of that file aren't loading by some browsers. Primarily seems to be an issue with Safari, Chrome, and FireFox, mostly on macs. The browser simply stops loading the file after it starts, and it is then left blank
-
Backgrounds.swf, what is it and how to create?
It had been a while since I played with Flex Style Explorer app, so I was messing around with the backgrounds and it inserts the code Application { backgroundImage: Embed(source="assets/backgrounds.swf#retroFifties"); If I wish to use this, how do I
-
FB4 Beta 2: Stopped working today. Is that intentional?
Hello, I have 47 days left on my beta2. It worked yesterday, but not today. Is that intentional?
-
Jdeveloper 9i - Debugger Question
Some more info: 1> I start java in debug mode set PATH=d:\jdev9i\jdk\jre\bin;%PATH% cd d:\jdev9i\j2ee\home java -ojvm -XXdebug,detached,port4000 -jar oc4j.jar 2> You'll see the following message: *** Port is 4000 *** *** Connect debugger anytime for