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

Announcements
Want to see what's currently in public preview? We've pulled it all together in one place. Check it out here
cancel
Showing results for 
Search instead for 
Did you mean: 
Broly
Contributor III
Contributor III

Expression conversion to Set Analysis

Hello all,

I would like to ask you whether it is possible to change this expression to a set analysis? Also, would it be possible maybe to change it to a load script?

I need this to put it to a KPI object.

 

time(if(AT_14_TIME_DIFF_CAT>0 and ((num(MAPPED_AT_14) > num(date(today())+ 0.27083333)) and (num(MAPPED_AT_14) < num(date(today())+ 0.5))) ,sum(AT_14_TIME_DIFF),0)+
if(AT_1_TIME_DIFF_CAT>0 and ((num(MAPPED_AT_1) > num(date(today())+ 0.27083333)) and (num(MAPPED_AT_1) < num(date(today())+ 0.5))),sum(AT_1_TIME_DIFF),0) +
if(AT_2_TIME_DIFF_CAT>0 and ((num(MAPPED_AT_2) > num(date(today())+ 0.27083333)) and (num(MAPPED_AT_2) < num(date(today())+ 0.5))),sum(AT_2_TIME_DIFF),0) +
if(AT_3_TIME_DIFF_CAT>0 and ((num(MAPPED_AT_3) > num(date(today())+ 0.27083333)) and (num(MAPPED_AT_3) < num(date(today())+ 0.5))),sum(AT_3_TIME_DIFF),0) +
if(AT_4_TIME_DIFF_CAT>0 and ((num(MAPPED_AT_4) > num(date(today())+ 0.27083333)) and (num(MAPPED_AT_4) < num(date(today())+ 0.5))),sum(AT_4_TIME_DIFF),0) +
if(AT_5_TIME_DIFF_CAT>0 and ((num(MAPPED_AT_5) > num(date(today())+ 0.27083333)) and (num(MAPPED_AT_5) < num(date(today())+ 0.5))),sum(AT_5_TIME_DIFF),0) +
if(AT_6_TIME_DIFF_CAT>0 and ((num(MAPPED_AT_6) > num(date(today())+ 0.27083333)) and (num(MAPPED_AT_6) < num(date(today())+ 0.5))),sum(AT_6_TIME_DIFF),0) +
if(AT_7_TIME_DIFF_CAT>0 and ((num(MAPPED_AT_7) > num(date(today())+ 0.27083333)) and (num(MAPPED_AT_7) < num(date(today())+ 0.5))),sum(AT_7_TIME_DIFF),0) +
if(AT_8_TIME_DIFF_CAT>0 and ((num(MAPPED_AT_8) > num(date(today())+ 0.27083333)) and (num(MAPPED_AT_8) < num(date(today())+ 0.5))),sum(AT_8_TIME_DIFF),0) +
if(AT_9_TIME_DIFF_CAT>0 and ((num(MAPPED_AT_9) > num(date(today())+ 0.27083333)) and (num(MAPPED_AT_9) < num(date(today())+ 0.5))),sum(AT_9_TIME_DIFF),0) +
if(AT_10_TIME_DIFF_CAT>0 and ((num(MAPPED_AT_10) > num(date(today())+ 0.27083333)) and (num(MAPPED_AT_10) < num(date(today())+ 0.5))),sum(AT_10_TIME_DIFF),0) +
if(AT_11_TIME_DIFF_CAT>0 and ((num(MAPPED_AT_11) > num(date(today())+ 0.27083333)) and (num(MAPPED_AT_11) < num(date(today())+ 0.5))),sum(AT_11_TIME_DIFF),0) +
if(AT_12_TIME_DIFF_CAT>0 and ((num(MAPPED_AT_12) > num(date(today())+ 0.27083333)) and (num(MAPPED_AT_12) < num(date(today())+ 0.5))),sum(AT_12_TIME_DIFF),0) +
if(AT_13_TIME_DIFF_CAT>0 and ((num(MAPPED_AT_13) > num(date(today())+ 0.27083333)) and (num(MAPPED_AT_13) < num(date(today())+ 0.5))),sum(AT_13_TIME_DIFF),0)

,'hh:mm:ss')

 

1 Solution

Accepted Solutions
Broly
Contributor III
Contributor III
Author

This is what I came up with

(if(DT_0_TIME_DIFF_CAT>0,1,0) + if(DT_1_TIME_DIFF_CAT>0,1,0) + if(DT_2_TIME_DIFF_CAT>0,1,0) +if(DT_3_TIME_DIFF_CAT>0,1,0) + if(DT_4_TIME_DIFF_CAT>0,1,0) +if(DT_5_TIME_DIFF_CAT>0,1,0) + if(DT_6_TIME_DIFF_CAT>0,1,0) + if(DT_7_TIME_DIFF_CAT>0,1,0) + if(DT_8_TIME_DIFF_CAT>0,1,0) + if(DT_9_TIME_DIFF_CAT>0,1,0) + if(DT_10_TIME_DIFF_CAT>0,1,0) + if(DT_11_TIME_DIFF_CAT>0,1,0) + if(DT_12_TIME_DIFF_CAT>0,1,0) + if(DT_13_TIME_DIFF_CAT>0,1,0)) as #DepartureDelay,

View solution in original post

2 Replies
Kushal_Chawda
MVP
MVP

It will be better to move it to load script with below approach

create a Field in script like below/ I have covered only two condition for example but you need to include all conditions. You can include '0' in else  for last if statement.

LOAD *,

if(AT_14_TIME_DIFF_CAT>0 and ((num(MAPPED_AT_14) > num(date(today())+ 0.27083333)) and (num(MAPPED_AT_14) < num(date(today())+ 0.5))),AT_14_TIME_DIFF,

if(.....,

If(......,


if(AT_1_TIME_DIFF_CAT>0 and ((num(MAPPED_AT_1) > num(date(today())+ 0.27083333)) and (num(MAPPED_AT_1) < num(date(today())+ 0.5))),AT_1_TIME_DIFF,0)) as Total_Time

FROM Source;

Now you can simply use below formula 

=time(sum(Total_Time))

 

Broly
Contributor III
Contributor III
Author

This is what I came up with

(if(DT_0_TIME_DIFF_CAT>0,1,0) + if(DT_1_TIME_DIFF_CAT>0,1,0) + if(DT_2_TIME_DIFF_CAT>0,1,0) +if(DT_3_TIME_DIFF_CAT>0,1,0) + if(DT_4_TIME_DIFF_CAT>0,1,0) +if(DT_5_TIME_DIFF_CAT>0,1,0) + if(DT_6_TIME_DIFF_CAT>0,1,0) + if(DT_7_TIME_DIFF_CAT>0,1,0) + if(DT_8_TIME_DIFF_CAT>0,1,0) + if(DT_9_TIME_DIFF_CAT>0,1,0) + if(DT_10_TIME_DIFF_CAT>0,1,0) + if(DT_11_TIME_DIFF_CAT>0,1,0) + if(DT_12_TIME_DIFF_CAT>0,1,0) + if(DT_13_TIME_DIFF_CAT>0,1,0)) as #DepartureDelay,