Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
Announcements
Nov. 20th, Qlik Insider - Lakehouses: Driving the Future of Data & AI - PICK A SESSION
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

calculation between months(addmonths)?

Hi, how can I sum up and divide by 2 the 'totalavg' data for '12/2013 and 1/2014', '1/2014 and 2/2014', etc,...according to site (refer below)? Do I use straight table?

current table:

monthyearsitetotalavg
12/2013A12
1/2014A14
2/2014A35
3/2014A24
4/2014A643
5/2014A564
12/2013B4324
1/2014B5345
2/2014B45
3/2014B434
4/2014B5
5/2014B768
12/2013C67
1/2014C24

expected output:

monthyearsitetotalavgturnover
12/2013A12-
1/2014A1413
2/2014A3524.5
3/2014A2429.5
4/2014A643333.5
5/2014A564603.5
12/2013B43242444
1/2014B53454834.5
2/2014B452695
3/2014B434239.5
4/2014B5219.5
5/2014B768386.5
12/2013C67835
1/2014C2445.5

Thanks.

7 Replies
Not applicable
Author

Try using rangeavg with above in a straight table

jagan
Luminary Alumni
Luminary Alumni

Hi,

Try below expression

=RangeAvg(Above(totalAvg), totalAvg)

Regards,

Jagan.

sujeetsingh
Master III
Master III

Please explain in detail

MK_QSL
MVP
MVP

Like this?

=======

Temp:

Load

  DUAL(Date#(monthyear,'M/YYYY'),Date(Date#(monthyear,'M/YYYY'),'YYYYMM')) as monthyear,

  site,

  totalavg

Inline

[

  monthyear, site, totalavg

  12/2013, A, 12

  1/2014, A, 14

  2/2014, A, 35

  3/2014, A, 24

  4/2014, A, 643

  5/2014, A, 564

  12/2013, B, 4324

  1/2014, B, 5345

  2/2014, B, 45

  3/2014, B, 434

  4/2014, B, 5

  5/2014, B, 768

  12/2013, C, 67

  1/2014, C, 24

];

Final:

Load

  monthyear,

  site,

  totalavg,

  (totalavg + Previous(totalavg))/2 as turnover

Resident Temp

Order By site, monthyear;

Drop Table Temp;

=======

Not applicable
Author

hey sorry the expected output is:

monthyearsitetotalavgturnover
(end of) 12/2013A12

6

(end of) 1/2014A1413
(end of) 2/2014A3524.5
(end of) 3/2014A2429.5
(end of) 4/2014A643333.5
(end of) 5/2014A564603.5
(end of) 12/2013B43242162
(end of) 1/2014B53454834.5
(end of) 2/2014B452695
(end of) 3/2014B434239.5
(end of) 4/2014B5219.5
(end of) 5/2014B768386.5
(end of) 12/2013C6733.5
(end of) 1/2014C2445.5

for the first month for every site, which in this case starts from 12/2013, the totalavg should divide by 2 to get turnover. The dates in 'monthyear' is actually the end of each month, so i want to find the turnover for each month, for eg. from end of 12/2013 to end of 1/2014, im calculating the turnover for 1/2014. so i want to do the same for the rest of the months. Thanks.

Not applicable
Author

sorry it does not work

Not applicable
Author

hi how do i do that? sorry i've changed the expected output:

monthyearsitetotalavgturnover
(end of) 12/2013A12

6

(end of)1/2014A1413
(end of)2/2014A3524.5
(end of)3/2014A2429.5
(end of)4/2014A643333.5
(end of)5/2014A564603.5
(end of)12/2013B43242162
(end of)1/2014B53454834.5
(end of)2/2014B452695
(end of)3/2014B434239.5
(end of)4/2014B5219.5
(end of)5/2014B768386.5
(end of)12/2013C6733.5
(end of)1/2014C2445.5

for the first month for every site, which in this case starts from 12/2013, the totalavg should divide by 2 to get turnover. The dates in 'monthyear' is actually the end of each month, so i want to find the turnover for each month, for eg. from end of 12/2013 to end of 1/2014, im calculating the turnover for 1/2014. so i want to do the same for the rest of the months. Thanks.