Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

How to write set analysis function based on two condition?

Hi All,

I want to find sum of particular field based on two or more condition, let me elaborate this;

1. I want to find  sum of "Field1"

2. one condition I want to check is if variable  value is matching with some field then find sum, code is below;

sum(if(FieldB=$(variable),Field1))

this is working fine.

3. along with this I want to restrict  data for sum of "Field1" is for last N (Say 3,6,9,12) months. for that I am using below code;

sum({<DateField = {">=$(=MonthStart(AddMonths(Today(),-([LastMonth]-1))))<=$(=MonthEnd(AddMonths(Today(),0)))"}>}Field1)

where LastmMonth value will be 3,6,9 or 12

this is also working fine.

4. Now I want to add both 2 and 3 condition to find sum of FieldA, I used following code

sum(if(FieldB=$(variable) and {<DateField = {">=$(=MonthStart(AddMonths(Today(),-([LastMonth]-1))))<=$(=MonthEnd(AddMonths(Today(),0)))"}>},Field1))

but did't worked

So I request you can  you suggest how to check two condition in set analysis to use aggregate functions.

Thanks in advance..

Regards,

Sharath

1 Solution

Accepted Solutions
ChennaiahNallani
Creator III
Creator III

try this.

sum({<FieldB = $(variable),DateField = {">=$(=MonthStart(AddMonths(Today(),-([LastMonth]-1))))<=$(=MonthEnd(AddMonths(Today(),0)))"}>},Field1))

View solution in original post

5 Replies
ChennaiahNallani
Creator III
Creator III

try this.

sum({<FieldB = $(variable),DateField = {">=$(=MonthStart(AddMonths(Today(),-([LastMonth]-1))))<=$(=MonthEnd(AddMonths(Today(),0)))"}>},Field1))

jonathandienst
Partner - Champion III
Partner - Champion III

Like this:

Sum({<

     FieldB = {$(variable)},

     DateField = {">=$(=MonthStart(AddMonths(Today(),-([LastMonth]-1))))<=$(=MonthEnd(AddMonths(Today(),0)))"}

>} Field1)

Logic will get you from a to b. Imagination will take you everywhere. - A Einstein
jonathandienst
Partner - Champion III
Partner - Champion III

And this

MonthStart(AddMonths(Today(),-([LastMonth]-1)))

can be simplified to

MonthStart(Today(), -(LastMonth - 1))

or

MonthStart(Today(), 1 - LastMonth)


And

MonthEnd(AddMonths(Today(),0))


simplifies to

MonthEnd(Today())


So the whole expression becomes

Sum({<

  FieldB = {$(variable)},

  DateField = {">=$(=MonthStart(Today(), 1 - LastMonth)) <=$(=MonthEnd(Today())"}

>} Field1)

Logic will get you from a to b. Imagination will take you everywhere. - A Einstein
rahulpawarb
Specialist III
Specialist III

Please refer below:

Sum({<FieldB={"$(variable)"}, DateField={">=$(=MonthStart(AddMonths(Today(),-([LastMonth]-1)))) <=$(=MonthEnd(AddMonths(Today(),0)))"}>}Field1))

Anonymous
Not applicable
Author

Thank  you Chennaiah..  Its working..

Sharath