Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Qlik Open Lakehouse is Now Generally Available! Discover the key highlights and partner resources here.
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Feasibility of use of set analysis

I am trying to count a certain number of orders based on a condition where the sum of required completion date and a certain number of days is less than a certain defined date. To be precise, the expressions is

=count(distinct if([Required Comp Date]+[No.of Days] <= Date($(x),'DD/MM/YYYY'), Orders))

[Required Comp Date] and [No. of Days] are fields there in the data model.

Is it possible to construct this statement using set analysis ?

5 Replies
vishsaggi
Champion III
Champion III

I dont know how feasible it is but is it possible for you to create a new field in Load statement for date+days like

Load col1,

col2,

col3,

Date([Required Comp Date], 'DD/MM/YYYY') + [No.OfDays] AS [Required Comp Date_Days]

FROM ..... ;

And In expression

Expr: =count(distinct {< [Required Comp Date_Days] = { "<= $(=Date(x,'DD/MM/YYYY')) " } >}, Orders))

Let me know if this works I might have to tweak around the set code.

Thanks,
V.

vinieme12
Champion III
Champion III

Try this

vDatevar = NUM(the date you want to compare with)

=count(DISTINCT {<OrderID = {'=NUM([Required Comp Date]+[No.of Days])<$(vDatevar)'}>} OrderID)

Instead of comparing dates compare the numeric values of the dates, it's much more efficient and hassle free to make the formatting right.

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

I think there is not need to add any formatting here. May be try just this:

=Count(DISTINCT {<Order = {"=[Required Comp Date] + [No.of Days] <= x"}>} Orders)

Not applicable
Author

Thanks all for your replies !!

@vishsaggi

That is a solution I had thought of, but creating a separate field in the data model for an expression used once or twice pushed me back.

I will surely delete the other duplicate thread.

@Vineeth Pujari and Sunny T

Both solutions are working for me however, I am surprised to see that the expression

count(distinct {<OID={"=(RCD+GP)<=Date('2016-08-10','DD/MM/YYYY')"}>} OID)

is working even though it compares a number (I checked (RCD+GP) for an OID in a text object and it returned the date in number format) with a date (10/08/2016).

I would definitely try both to see if there is any performance difference, since I have a huge dataset. Will post an update on the same soon.

vinieme12
Champion III
Champion III

If you have a huge data set you are better off adding the additional field in the table , because simpler the expression faster your dashboard.

Cheers

V

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