Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
MindaugasBacius
Partner - Specialist III
Partner - Specialist III

Need help with RangeSum(Above(...

Hey,

I have data like this:

MindaugasBacius_0-1669643606719.png

I wish to provide the comparison YoY by month:

MindaugasBacius_1-1669643646857.png

Yet I wish to show only data that belongs to:

Current - [2022-01-01 / 2022-11-28]

Previous - [2021-01-01 / 2021-11-28]

I cannot reduce the data in the backend need to do this in the frontend.

How should I accomplish this?

Thank you!

Labels (1)
1 Solution

Accepted Solutions
vinieme12
Champion III
Champion III

as below

Current YEar toDate

rangesum(above(Sum({<Date={">=$(=Date(YearStart(Max(Date)),'YYYY-MM-DD'))<=$(=Date(Today(),'YYYY-MM-DD'))"}>}Sale),0,rowno()))

 

PRevious Year toDate 

rangesum(above(Sum({<Date={">=$(=Date(YearStart(Max(Date),-1),'YYYY-MM-DD'))<=$(=Date(addyears(Today(),-1),'YYYY-MM-DD'))"}>}Sale),0,rowno()))

 

 

tmp:
LOAD date#(Date,'YYYY-MM-DD') as Date, Sale, CYTD, PYTD, Month INLINE [
    Date, Sale, CYTD, PYTD, Month
    2021-01-01, , 0, 1, 1
    2021-02-01, 1, 0, 1, 2
    2021-03-01, 2, 0, 1, 3
    2021-04-01, 3, 0, 1, 4
    2021-05-02, 4, 0, 1, 5
    2021-06-08, 5, 0, 1, 6
    2021-07-15, 6, 0, 1, 7
    2021-08-10, 7, 0, 1, 8
    2021-09-20, 8, 0, 1, 9
    2021-10-16, 9, 0, 1, 10
    2021-11-23, 1, 0, 1, 11
    2021-12-20, 5, 0, 1, 12
    2022-01-02, 2, 1, 0, 1
    2022-02-03, 2, 1, 0, 2
    2022-03-05, 3, 1, 0, 3
    2022-04-15, 2, 1, 0, 4
    2022-05-02, 2, 1, 0, 5
    2022-06-03, 2, 1, 0, 6
    2022-07-05, 3, 1, 0, 7
    2022-08-15, 2, 1, 0, 8
    2022-09-02, 2, 1, 0, 9
    2022-10-03, 2, 1, 0, 10
    2022-11-05, 3, 1, 0, 11
];

 

vinieme12_0-1669694543774.png

 

 

Vineeth Pujari
If a post helps to resolve your issue, please accept it as a Solution.

View solution in original post

3 Replies
vinieme12
Champion III
Champion III

as below

Current YEar toDate

rangesum(above(Sum({<Date={">=$(=Date(YearStart(Max(Date)),'YYYY-MM-DD'))<=$(=Date(Today(),'YYYY-MM-DD'))"}>}Sale),0,rowno()))

 

PRevious Year toDate 

rangesum(above(Sum({<Date={">=$(=Date(YearStart(Max(Date),-1),'YYYY-MM-DD'))<=$(=Date(addyears(Today(),-1),'YYYY-MM-DD'))"}>}Sale),0,rowno()))

 

 

tmp:
LOAD date#(Date,'YYYY-MM-DD') as Date, Sale, CYTD, PYTD, Month INLINE [
    Date, Sale, CYTD, PYTD, Month
    2021-01-01, , 0, 1, 1
    2021-02-01, 1, 0, 1, 2
    2021-03-01, 2, 0, 1, 3
    2021-04-01, 3, 0, 1, 4
    2021-05-02, 4, 0, 1, 5
    2021-06-08, 5, 0, 1, 6
    2021-07-15, 6, 0, 1, 7
    2021-08-10, 7, 0, 1, 8
    2021-09-20, 8, 0, 1, 9
    2021-10-16, 9, 0, 1, 10
    2021-11-23, 1, 0, 1, 11
    2021-12-20, 5, 0, 1, 12
    2022-01-02, 2, 1, 0, 1
    2022-02-03, 2, 1, 0, 2
    2022-03-05, 3, 1, 0, 3
    2022-04-15, 2, 1, 0, 4
    2022-05-02, 2, 1, 0, 5
    2022-06-03, 2, 1, 0, 6
    2022-07-05, 3, 1, 0, 7
    2022-08-15, 2, 1, 0, 8
    2022-09-02, 2, 1, 0, 9
    2022-10-03, 2, 1, 0, 10
    2022-11-05, 3, 1, 0, 11
];

 

vinieme12_0-1669694543774.png

 

 

Vineeth Pujari
If a post helps to resolve your issue, please accept it as a Solution.
MindaugasBacius
Partner - Specialist III
Partner - Specialist III
Author

Hei, vinieme12,

It works well, yet I do not get the logic laying behind it.

Why it's not working while using Set analysis with CYTD, and PYTD?

How does the ROWNO() effects the formula?

Thank you

vinieme12
Champion III
Champion III

PYTD -   this flag marks all months of the previous therefore you won't be able to use this to do a YearToDate

you can use the function inYeartodate() to mark dates from previous years but base the dates on today()

example 

InYearToDate (datefield,addyears(today(),-1),1)   as PYTD

 

Rowno() is needed to specify which rows to accumulate

https://community.qlik.com/t5/QlikView-Documents/Missing-Manual-Above-and-Below/ta-p/1481948

 

Vineeth Pujari
If a post helps to resolve your issue, please accept it as a Solution.