SUM CT function on Formula
Hi All,
I have the following requirement ,
Amount Count Sum CT
100 1 5 (Hide)
200 1 5
300 1 5
400 1 5
500 1 5
5 5 (Average)
I have used the count(Amount) to get the Count which is working fine , Then I am using the SUM CT (Count) this is not working as expected . Is there any limitation of SUM CT or any property that I need to use .
I am getting this
Amount Count Sum CT
100 1 1
200 1 1
300 1 1
400 1 1
500 1 1
5 1
Can you please guide me in achieving this .
Thanks,
Deepak.
Dear Antony Gitonga
It's not Table sum.
Plaese see the where condition, it will take only the current father and sum the quantity.
Plaese save the query in query manager and assign it in formated search and try.
select sum(T1.U_Base_Qty) From OITT T0,ITT1 T1
where
T0.code=T1.father and
T0.code = $[OITT.Code]
Regards,
Thanga Raj.K
Edited by: Thanga Raj K on Jun 1, 2009 12:15 PM
Edited by: Thanga Raj K on Jun 1, 2009 12:18 PM
Similar Messages
-
BI IP - Planning Function Type Formula Error "Characteristic not Supported"
Hi all,
I have created a planning function type formula with very simple code. The code was copied from SAP Library and FISCPER was replaced with 0CALDAY. I continue to get an error 'Characteristic 0CALDAY is not supported".
The characteristic 0CALDAY is in the Infoprovider and the aggregation level. I have tried 'To Characteristic Usage' with both changed and in condition.
DATA D1 TYPE D.
DATA D2 TYPE D.
DATA I1 TYPE I.
DATA I2 TYPE I.
DATA CALDAY TYPE 0CALDAY.
FOREACH CALDAY.
CALCULATE 1ST DAY OF ZCALEND
D1 = C2DATE( CALDAY, S ).
CALCULATE LAST DAY OF CALDAY
D2 = C2DATE( CALDAY, E ).
CALCULATE THE DIFFERENCE BETWEEN LAST AND 1ST DAY MINUS TWO DAYS
I2 = 2.
I1 = D2 - D1 - I2.
MESSAGE I001(UPF) WITH 'DIFFERENCE' I1.
ENDFOR.
Thank you in advance for any help.
TeriThank you very much for your reply. What would you suggest? I must use 0CALDAY. As you can tell I am very new to IP, I have tried other options for example:
DATA ZDAYS TYPE I.
DATA ZDT TYPE ZCALSTART.
DATA ZDF TYPE ZCALEND.
ZDT = ZCALSTART.
ZDF = ZCALEND.
ZDAYS = ZDT-ZDF.
{KF,ZDT,ZDF} = ZDAYS.
I received an error "ZCALSTART could not be recognized"
I also tried to call a function. 'FIMA_DAYS_AND_MONTHS_AND_YEARS'.
DATA D1 TYPE D.
DATA D2 TYPE D.
DATA DD TYPE I.
DATA CALS TYPE ZCALSTART.
DATA CALE TYPE ZCALEND.
D1 = CALS.
D2 = CALE.
CALL FUNCTION 'FIMA_DAYS_AND_MONTHS_AND_YEARS'
EXPORTING
I_DATE_FROM = D1
I_KEY_DAY_FROM =
I_DATE_TO = D2
I_KEY_DAY_TO =
I_FLG_SEPARATE = ' '
IMPORTING
E_DAYS = DD.
E_MONTHS =
E_YEARS =
I received an error "Types of parameter I_DATE_FROM () and variable D1(D) are inconsistent". From what I could find they should be consistant. Please provide any suggestions. Thank you!
Teri
Edited by: teri chandler on Mar 30, 2010 3:26 PM -
How to replicate the sum by function in RPD.
Hi All,
Below is the function being used in report.
CASE WHEN sum ("product sales information". "Sales amount" by "master calendar". "Years description") is NULL THEN 0 WHEN sum ("product sales information". "Sales amount" by "master calendar". "Date of description ") <= 0 THEN 0 ELSE CASE WHEN sum (" product sales information "." sales amount "by" product master "." product name "," master calendar "." years description ") is NULL THEN 0 ELSE 100 * sum ("product sales information". "sales amount" by "product master". "product name", "master calendar". "years description") / sum ("product sales information". "sales amount "by" master calendar "." years description ") END END
I am trying to create aggregate measure in RPD and use that in report. The above function works fine when I use that in report but when I tried to create a measure in RPD its giving syntax error.
Can anyone please help me to create the measure in RPD? Is there any change of syntax for sum by function if we use in RPD?
Thanks
KrishnaHI Srini
Thanks for your reply. Is there any other way I can replicate this in RPD. Customer is using this function in many places in a dashboard so due to this performance is very slow.
I am trying to move these functions to RPD.
Thanks
Krishna -
Numbers' Functions and Formulas in Multiple Cells, Tables, and Sheets
Hello,
I'm stuck with specifics that center around usage, and I get the funny feeling I'm overlooking a simple detail or two.
If I may, here goes.
I'm working with a single spreadsheet that has several sheets within it, and each sheet has an identical table. Each table is used to record various data, and I use an additional table in a separate sheet to consolidate some of the information, so that I can track results, at a glimpse, by looking at averages, totals, etc.
Each data table is organized for consolidation by tracking wins, ties, or losses. It is important to know that each data table only records a single win, tie, or loss along with its other applicable data. And on the actual consolidation table I am trying to tally specific data fields by the use of Numbers' functions and formulas, yet I wish to keep these tallied results organized by the determining factor of whether or not they were gathered from a table that recorded a win, a table that recorded a tie, or a table with a loss.
To illustrate, each table contains data fields that record start time, finish time, elapsed time, the day of the week, etc. Let's say I have eight tables, and the first two are winning tables, three more are tables that record a tie, and the last three are losing tables. For example, on my consolidated data table I wish to enter a function and formula capturing which of the eight tables are wins, ties, and losses so that I can, at a glance, see how much time elapsed to obtain the wins, ties, and losses. So then, in this example, for wins I want to determine which of those wins took 20 minutes, or which of them took 15 minutes, etc. So then, out of the two wins, let's say both of them took 20 minutes each. I need the numeral 2 to be counted and recorded on the consolidation table since only two tables match the criteria. And I would do the same for all remaining data fields (e.g., start time, finish time, etc.). Just so long as everything is determined by wins, ties, and losses, and then organized by the respective data fields. Simply put, this example determines a total of two wins that meet the data field requirement of 20 minutes. Out of the eight tables (one table per sheet) any other wins would then be organized according to the specific data in the elapsed time data field on it's data table (e.g., 5 minutes, 15 minutes, etc.).
The exact syntax structure of the functions and formula I'm unsuccessfully using follows below. It only seems to return a result of 1, and I think it is returning this value from the IF Statements. By the way, the Win, Tie, or Loss cell in each data table is cell formatted as a pop-up so I can either select None or 1. But in this example I'm basing this on the time period of 20 minutes, and out of the eight data tables I have two wins which also record the time period as 20 minutes, so I should see 2 and not 1 in the 20 minutes column of the consolidated data table. Also, I tried changing the syntax where I would type "=1" in the IF Statements, but it returned a result of =1, and if I don't include the equals sign and quotation marks the result just shows up as 1.
My Syntax:
IF(Trade 1::'Data Recorded (1)' '* Win', 1, IF(Trade 2::'Data Recorded (1)' '* Win',1, IF(Trade 3::'Data Recorded (1)' '* Win',1, IF(Trade 4::'Data Recorded (1)' '* Win',1, IF(Trade 5::'Data Recorded (1)' '* Win',1, IF(Trade 6::'Data Recorded (1)' '* Win',1, IF(Trade 7::'Data Recorded (1)' '* Win',1, IF(Trade 8::'Data Recorded (1)' '* Win',1, IF(COUNTIFS(Trade 1::'Data Recorded (1)' '* Time in Trade (in minutes)', "=20m")+COUNTIFS(Trade 2::'Data Recorded (1)' '* Time in Trade (in minutes)', "=20m")+COUNTIFS(Trade 3::'Data Recorded (1)' '* Time in Trade (in minutes)', "=20m")+COUNTIFS(Trade 4::'Data Recorded (1)' '* Time in Trade (in minutes)', "=20m")+COUNTIFS(Trade 5::'Data Recorded (1)' '* Time in Trade (in minutes)', "=20m")+COUNTIFS(Trade 6::'Data Recorded (1)' '* Time in Trade (in minutes)', "=20m")+COUNTIFS(Trade 7::'Data Recorded (1)' '* Time in Trade (in minutes)', "=20m")+COUNTIFS(Trade 8::'Data Recorded (1)' '* Time in Trade (in minutes)'))))))))))
Please bear in mind that the COUNTIFS portion of the above syntax structure is something I'm already successfully using to count the totals of other things not mentioned above, and I'm hesitant to delete it since it already works to my satisfaction when I want to, for example, determine the total number of overall wins. So, just for illustration purposes, I might have an overall wins column in my consolidation table that records how many wins there are, regardless of organization by elapsed time, or any other data field. In other words, the COUNTIFS syntax structure already works to my satisfaction. I'm not sure if it's possible to alter it so that it isn't so long, but what's there does work just when counting total numbers, as just mentioned.
In summary, I'm wondering which function I can use with the COUNTIFS function to determine which of my eight data tables are winning tables, but break those wins down further based on criteria like elapsed time, and in the above example the time elapsed is 20 minutes. As you may see above, I'm unsuccessfully using the IF function. Finally, I've looked at the function browser descriptions of things like LOOKUP, HLOOKUP, VLOOKUP, INTERSECT.RANGES, and a few others. And so far I haven't made good use of any of them the way I've done when I use the COUNTIFS function by itself when only counting overall totals. But now I must determine totals that meet certain criteria, as explained above.
Please help if you dare (smile). This is a huge project I'm undertaking, and so as not to cause confusion I have not included all of the details. But rather, I've taken a small sampling and set it to the side for experimentation. If this small sample works out to my satisfaction I can simply copy and paste the syntax in all other respective cells in the consolidation table, changing only reference locations, and perhaps conditions or values. One thing is certain, I don't intend on giving up on it.
Thank you for your time and advice.
Blessings!
Message was edited by: solo68
Added image.I'd like to edit the last paragraph of my second posting, but for some reason an entirely new posting is being created when I attempt to do this. So when reading this post, please use it to replace only the last paragraph of my second post containing the four inserted images.
Last paragraph begins:
In closing, I need each cell in each column of each row in my consolidation table to remain as is. I have my reasons for doing this, and they all serve a specific purpose. The only exception would be the formatting of the last three rows as footer rows. Most importantly, and I should have made this abundantly clear earlier, my apologies, I need a single function and formula in cell E7 of my consolidation table that will firstly determine which data tables are winning tables while secondly and simultaneously counting which of those winning tables have elapsed times of 20 minutes. Perhaps, now this better explains why my syntax is written the way it is written. In the example I provided, if the proper function and formula were written it would result as 2 in cell E7 in my consolidation table. If there is anything else specific you need of me in order to assist me, please request it. Thank you.
Last paragraph ends:
Additionally, to t quinn:
First off, thank you for returning to assist me. I really do appreciate your efforts. Please be aware that I'm avoiding going into details about each and every portion of my spreadsheet because I wish to avoid discussion that is off topic. As I stated earlier, I'm new to using these features of Numbers. My spreadsheet encompasses a much larger amount of data than I'm referring to in the example in my first post. But in my example I'm isolating just the information concerning what I'm now trying to accomplish to finish my spreadsheet project. Moreover, most of what I've done up to this point I was able to figure out on my own, or get help from watching videos on YouTube, or simply using the application help menu. Please be aware that I consulted all of these, repeatedly. I even contacted AppleCare, and was told this sort of support is not available. In spite of this, I've accomplished a great deal in my first large spreadsheet project. Please be aware that when I wrote my second post and specifically responded to you, I didn't want to be rude or ungrateful, and I still don't, but maybe the suggestions you and Hiroto made about gathering the count of wins, ties, and losses are something I've already done. I think I've done that separately. These counts are already in separate cells, and they are working fine. In my first post where I inserted only one image you can see examples of this in my consolidation table image, in cells B3 and E6. I apologize for not making this abundantly clear earlier. Furthermore, the portion of my syntax that shows the COUNTIFS is the exact way I accomplished this, and it is written the way it is written because I need separate sheets, each with their own data tables. Again, in cell E7 I need to determine which of the eight data tables that record wins are also recording 20 minutes, but I need this in a single function and formula with the result appearing only in cell E7. Once this is figured out I will adjust the syntax to do the same thing with every column (these are not shown but they exist) in my consolidation table for the last three footer rows, named Win Column Totals, Tie Column Totals, and Loss Column Totals. The last three rows being footer rows may not be necessary, and if so, I can convert them back to normal rows. Nonetheless, my consolidation table is counting the totals of all data in all data tables. This much I've already accomplished. Now I have one last function and formula I'm working on in order to determine which of the eight data tables record wins, ties, or losses while it simultaneously counts which of the wins, ties, or losses fall within certain categories like elapsed time, and this will be shown on my consolidation table only in the last three rows. Yes, I've gotten the total wins counted, and separately counted the total number of times 20 minutes was the elapsed time used, but so far, just looking at my consolidation table I don't know if the total number of times 20 minutes was used was with a win, tie, or loss. That's what I need to know now. Everything else is already accomplished. So then my consolidation table will show the totals for all data fields in my eight data tables as illustrated in cells B3 and E6. The last three rows of my consolidation table will break this down in a single function and formula with one row for wins, a second for ties, and a third for losses. And each of these respective last three rows will in the same function and formula determine if the win, tie, or loss also is one of the data fields in my eight data tables. How? By the use of columns in my consolidation table. Remember, each of my eight data tables are identical. In the example in my first post I only used one data field, elapsed time (Time in Trade), to illustrate in one column on my consolidation table what I'm trying to accomplish with all of the columns not shown in my consolidation table. Once this is figured out I can adjust it to complete the remainder of the consolidation table. Thank you, t quinn.
To all reading this and attempting to offer assistance, if for any reason I'm still not explaining myself clearly, please continue to ask me more specific questions. I realize it's hard to communicate this way, and if Apple allowed us to upload the actual spreadsheet it would make this entire forum a better place to communicate. But that's going off topic, so let's simply focus on the matter at hand. Thank you.
Blessings! -
Hi,
I wrote the function in formula column, the return value should show in the separate column.
Thx,
BalajiV908509 wrote:
Hi,
I wrote the function in formula column, the return value should show in the separate column.Please provide details when make any question.
What is your report version ?
Choose this formula column as source of item, which display the data on layout view.
Hope understand. -
Problem using SUM standard function during Field Mapping
Hi Experts ,
I am trying to sum all LIFMG 's in in the lineitems of a particular
header and map this result to Lifmg of the header.(Idoc with multiple headers and line item).I am using SUM standard function.
Rough Source structure.
Header1
vbeln
....Lineitem1
vbeln
posnr
......LIFMG
....Lineitem2
vbeln
posnr
......LIFMG
Header2
vbeln
....Lineitem1
vbeln
posnr
......LIFMG
....Lineitem2
vbeln
posnr
......LIFMG
I am able to find the SUM ...but in the target structure's Header field I am getting
repeated value of the corresponding sum in each header ...i.e.
Header1
LFIMG-- 100
LFIMG 100
Header2
LFIMG-- 102
LFIMG 102
How to get a single value for each .
Regards,
DeepakSolved Myself ...
Placed sum after if without else ...
placing it before was causing ...those values to be replicated. -
Function or formula to display the desired color in report
Hi,
I am using Web I rich client in BO XI R3.1 version and would like to know if there is any function or formula to display the desired color in report.
I've used aleters but not getting the desired output. I need to display the color of some regions percentage wise based on a condition in a box i've created alerters for individual colors but they are not working.
I came to know in crystal it is available just want to know if it is available in BO too.
For more information about the issue am facing which had already posted in this forum please have a look in the below post.
Alerter not working in XI R3.1 web I rich client report
Posted: Mar 15, 2010 1:29 PM Eswar Rao
I am desperately looking for solution and trying to resolve this issue. I would really appreciate for your ideas or solutions.
Thanks,
EswarOr just make one alerter. Make sure you are in the cell and open Alerters. Create one that says "Filtered Object or cell" = "Cell Contents" "Less than" and enter the lowest number, like 0.6. Then click format and change to the color text or background you want. Say ok to all of that and make sure it works.
Then edit the same alerter, click add sub-alerter. Make this one "Filtered Object or cell" = "Cell Contents" again, and put Operator of "Greater than or Equal" to 0.7. Then click on the plus sign button to the right and it should give you an "And" option. Make that one "Cell Contents" "Less than" 0.8. Again go into Format and change to the next color you want. Click OK all the way out and check.
Then edit it again, and add another sub-alerter and make this one "Cell Contents" "Greater than or equal to" 0.9. and again format the color, and save.
Does that not work? -
Gamma function in formula node
I am running LabView V.6.1 and try to use the gamma function in a formula node.
According to the HELP text ''Formula Node and Expression Node Functions'', the syntax for the Gamma funtion is gamma(x), but this leads to the block diagram error ''Formula node: Undefined variable''.
Other functions (like exp(x), sqrt(x) etc.) work.
Thanks for helping.Hi,
we ran into this one a little while ago. The help is a little misleading. The Gamma function actually only works with the Expression Nodes, and not the Formula nodes.
Go to the labview help file, and search for "Differences Between the Parser in the Mathematics VIs and the Formula Node "
Also refer to the following link for a bit more information :
http://exchange.ni.com/servlet/ProcessRequest?RHIVEID=101&RPAGEID=135&HOID=50650000000800000020540000&UCATEGORY_0=_49_%24_6_&UCATEGORY_S=0&USEARCHCONTEXT_QUESTION_0=%22Square%22+function+in+formula+node&USEARCHCONTEXT_QUESTION_S=0
it's a bit long winded, but be patient - the information is in there.
Hope that helps
S.
// it takes almost no time to rate an answer -
Sin(wt) function in formula node
How to create a function in formula node and plot it for Vo vs t
V = Vo * sin(wt)
with frequency = 50Hz
Vo = -350 to 350
Nghtcwrlr
********************Kudos are alwayzz Welcome !! ******************Why a formula node? Just use plain LabVIEW!!!
Your specifications seem odd and incomplete. What is the range of t you want? "Vo vs t" only makes sense if V=constant unless you want a 3D or intensity graph: V(Vo, t).
Please clarify!
LabVIEW Champion . Do more with less code and in less time . -
What is the Count function in formula of Query Design?
What is the Count function in formula of Query Design? Could someone gives an example?
Thanks!Example :
COUNT of
Also, check :
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/7e58e690-0201-0010-fd85-a2f29a41c7af -
Hi,
I am using the SUM analytical function to accumulate some data from one record to the other record (data per month):
TPS_MOI_CODE PRD_PRD_CODE PDV_PDV_CODE RTTCAVCANV
200510 01 9302 -8050
200511 01 9302 -15500
200512 01 9302 -16150
200601 01 9302 -16150
200602 01 9302 -16150
200603 01 9302 -16150
The result is correct. However, I also want to restart the sum from January, i.e every months contain the sum of all the previous month, and it must restart in January.
How do I do that ?
Thanks in advance for your answers.You should extract a year and use it as the partition in over() clause, for example:
SQL> select * from t;
DATE# QTY
200510 1
200511 2
200512 3
200601 4
200602 5
200603 6
6 rows selected.
SQL> desc t;
Name Null? Type
DATE# NUMBER
QTY NUMBER
SQL> select date#, sum(qty) over(partition by substr(date#,1,4) order by date#) cum_sum
2 from t;
DATE# CUM_SUM
200510 1
200511 3
200512 6
200601 4
200602 9
200603 15
6 rows selected.Rgds. -
Performance of SUM summary function
Hi All,
I would like to know a little bit about the SUM function from a cost perspective.
I've a SQL query where I'm getting the total time for all users by using "SUM" summary function. The SQL query also has some inetmediate joins/merges
Now my boss says that from the cost perspective we should use application code instead of SUM. He also cited a reason that since the SQL query has so many joins, it would be better to use application code to do the calculations.
Can anyone gimme some insite on this issue?
Appreciate your time
venkI agree with 4 that is unlikely you could write application code that could join better than Oracle. You might be able to write application code that sums better (unlikely, but concievable). However, if you tried, you would probably blow out both the memory on the application server and the bandwidth on the network.
Even if you could write application code to do the joins and summing 10 times as fast as Oracle does (and if you can, you could certainly get a job with Oracle), the benefit would almost certainly be eliminated by the extra time to move the raw data across the network, and to allocate and free the enormous amounts of memeory that would be required.
Real databases are made to join, sort and aggregate, that's why we buy them.
John -
At the company I'm currently at...they have HFM and Essbase 9.3.1. All Function Builder formulas are present if going through HFM. However, only HsGetValue and HsSetValue are present when connecting to Essbase. Are the other not supported via Essbase?
Many of the HFM functions are not available for Essbase . For example HSDescription. In the documentaion on Smartview there is a list of functions and what is supported it can be found at http://download.oracle.com/docs/cd/E12825_01/epm.111/sv_user_help/frameset.htm?launch.htm, but a quick snapshot of the table is
Function Feature
Data Source Providers
Use HsGetValue Essbase, Financial Management, Hyperion Enterprise
Use HsSetValue Essbase, Financial Management, Hyperion Enterprise
Use HsDescription Financial Management, Hyperion Enterprise
Use HsGetText Financial Management
Use HsSetText Financial Management
Use HsCurrency Financial Management, Hyperion Enterprise
Use HsLabel Financial Management, Hyperion Enterprise
Refresh active worksheets or workbooks Essbase, Financial Management, Hyperion Enterprise
Migrate Financial Management spreadsheet add-in functions to new syntax Financial Management, Hyperion Enterprise
Display functions by using smart tags Essbase, Financial Management, Hyperion Enterprise -
Where do I find the SUM & MAX functions under update rule, TYPE: FORMULA
Hi,
If I am setting up an update routine
TYPE: FORMULA
where do I find the function SUM ?
I need to take the sum of a particular key figure under certain condition with the statement:
IF( <condition>, <result when true>, <result when false> )
i.e.
IF( field1 > field2, Sum of Field3, Sum of Field3 )
I canu2019t seem to find the Sum function. I found +, -, / etc under Basic Functions. Even under all u201CAll functionsu201D, I only see u201Csummarizeu201D but not sum.
--Also where do I find the MAX and MIN functions if I want to use them in FORMULAS?
ThanksHi......
Its better you go for calculated keyfigure
Check this link :
http://help.sap.com/saphelp_nw04/helpdata/en/6f/56853c08c7aa11e10000000a11405a/content.htm
http://help.sap.com/saphelp_nw04/helpdata/EN/13/e072abaddb574284d22361f0b824bf/content.htm
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/72f4a790-0201-0010-5b89-a42a32223ffc
It may help you......
Regards,
Debjani......
Edited by: Debjani Mukherjee on Sep 28, 2008 6:17 AM
Edited by: Debjani Mukherjee on Sep 28, 2008 6:23 AM -
Problem with SUM () analytic function
Dear all,
Please have a look at my problem.
SELECT CURR, DT, AMT, RATE,
SUM(AMT) OVER (PARTITION BY CURR ORDER BY DT) SUMOVER,
sum( amt * rate) over (PARTITION BY CURR ORDER BY DT) / SUM(AMT) OVER (PARTITION BY CURR ORDER BY DT) avgrt
FROM
select 'CHF' CURR, ADD_MONTHS(TO_DATE('01-DEC-07'), LEVEL -1) DT, 100 * LEVEL AMT, 1 + ( 5* LEVEL/100) RATE
FROM DUAL CONNECT BY LEVEL < 10
SQL> /
CUR DT AMT RATE SUMOVER AVGRT
CHF 01-DEC-07 100 1.05 100 1.05
CHF 01-JAN-08 200 1.1 300 1.08333333
CHF 01-FEB-08 300 1.15 600 1.11666667
CHF 01-MAR-08 400 1.2 1000 1.15
CHF 01-APR-08 500 1.25 1500 1.18333333
CHF 01-MAY-08 600 1.3 2100 1.21666667
CHF 01-JUN-08 700 1.35 2800 1.25
CHF 01-JUL-08 800 1.4 3600 1.28333333
CHF 01-AUG-08 900 1.45 4500 1.31666667
Table Revaluation
select 'CHF' CURR1, '31-DEC-07' DT , 1.08 RATE FROM DUAL UNION ALL
select 'CHF' CURR1, '31-MAR-08' DT , 1.22 RATE FROM DUAL UNION ALL
select 'CHF' CURR1, '30-JUN-08' DT , 1.38 RATE FROM DUAL
CUR DT RATE
CHF 31-DEC-07 1.08
CHF 31-MAR-08 1.22
CHF 30-JUN-08 1.38.
Problem is with the calculation of average rate.
I want to consider the data in the revaluation table to be used in the calculation of
average rate.
So average rate for Jan-08 will be
(100 * 1.08(dec revaluation rate) + 200 * 1.1 ) / (300) = 1.093333333
for Feb-08
(100 * 1.08(dec revaluation rate) + 200 * 1.1 + 300 * 1.15) / (600) = 1.121666667
for mar-08
(100 * 1.08(dec revaluation rate) + 200 * 1.1 + 300 * 1.15 + 400 * 1.2) / (1000) = 1.153
for Apr-08
(1000 * 1.22(Apr revaluation rate) + 500 * 1.25) /1500 = 1.23
for May-08
(1000 * 1.22(Apr revaluation rate) + 500 * 1.25 + 600 * 1.30 ) /2100 = 1.25
and so on..
Kindly adviceHi,
The main thing in this problem is that for every dt you want to compute the cumulative total from previous rows using the formula
SUM (amt * rate)
But rate can be either the rate from the revaluation table or the rate from the main table. For evaluating prior dates, you wnat to use the most recent rate.
I'm not sure if you can do this using analytic functions. Like Damorgan said, you should use a self-join.
The query below gives you the results you requested:
WITH
revaluation AS
SELECT 'CHF' curr1, TO_DATE ('31-DEC-07', 'DD-MON-RR') dt, 1.08 rate FROM dual UNION ALL
SELECT 'CHF' curr1, TO_DATE ('31-MAR-08', 'DD-MON-RR') dt, 1.22 rate FROM dual UNION ALL
SELECT 'CHF' curr1, TO_DATE ('30-JUN-08', 'DD-MON-RR') dt, 1.38 rate FROM dual
original_data AS
select 'CHF' curr
, ADD_MONTHS(TO_DATE('01-DEC-07'), LEVEL -1) dt
, 100 * LEVEL amt
, 1 + ( 5* LEVEL/100) rate
FROM dual
CONNECT BY LEVEL < 10
two_rates AS
SELECT od.*
SELECT MAX (dt)
FROM revaluation
WHERE curr1 = od.curr
AND dt <= od.dt
) AS r_dt
SELECT AVG (rate) KEEP (DENSE_RANK LAST ORDER BY dt)
FROM revaluation
WHERE curr1 = od.curr
AND dt <= od.dt
) AS r_rate
FROM original_data od
SELECT c.curr
, c.dt
, c.amt
, c.rate
, SUM (p.amt) AS sumover
, SUM ( p.amt
* CASE
WHEN p.dt <= c.r_dt
THEN c.r_rate
ELSE p.rate
END
/ SUM (p.amt) AS avgrt
FROM two_rates c
JOIN original_data p ON c.curr = p.curr
AND c.dt >= p.dt
GROUP BY c.curr, c.dt, c.amt, c.rate
ORDER BY c.curr, c.dt
;
Maybe you are looking for
-
I guess the title said it all - I didn't know there was a body for a post (as I said, I've never had a support issue or problem I couldn't figure out). But what I have is two Apple ID's with different email addresses. I'm sure the second one was set
-
How do I delete 132 e-mails in the sent folder that I can't see?
My 'Sent' folder is showing 132 e-mails in summary but when I click on the folder itself, nothing is visible! The folder appears empty. Also, my e-mail application is occupying 2.0GB of space on the iPad. How do I reduce the size of the application?
-
Exposing XSQL application in portlet
I have already written application in XSQL and XSLT.I want to convert it into oracle portlet.I tried to use URL portlet.Using URL portlet The links are converted to javascript:submitURL2166(' http://servername/root/filename.xsql') and working fine bu
-
Certification Form with database
Hi, I need to know if Oracle application server FORM 10.1.2.0.2 is certified with Oracle database 11.2.0.2. or not. If so where I can found an official document that affirms this. thanks
-
Line Order No doesnt match with Invoice line number
At the line level , the line order no doesnt match with the invocie line number ie. say for example in a sales order we have 3 lines 1. A 2. B 3. C where as in transaction at AR level the line no is different 1. B 2. A 3. C the customer wants in AR a