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: 
byrnel0586
Creator
Creator

Set Analysis not returning correct result

Hi all,

I'm going to apologize for this long-winded question in advance, hoping someone can help.

I have a large expression which returns a star value based on a certain threshold ("rate") value determined in the table below:

 

Measure_IDSTAR1STAR2STAR3STAR4STAR5PCP_ReportDate
PartD_MA00.730.770.810.8412/31/2017

1. I have an expression I am using to determine the "rate":

=round(Sum({<PCP_Year, PCP_MonthNum = {"=PCP_MonthNum = Max(TOTAL <PCP_Year> Aggr(PCP_MonthNum, PCP_MonthNum, PCP_Year))"}>} PCP_NUM_STATUS)/Sum({<PCP_Year, PCP_MonthNum = {"=PCP_MonthNum = Max(TOTAL <PCP_Year> Aggr(PCP_MonthNum, PCP_MonthNum, PCP_Year))"}>} PCP_DEN_STATUS),0.01)

This expression results in .84 for my example.

2. Based on the threshold table, a value of .84 should return a value of "5" in the expression below. However, it is returning a "4" value instead.

= if(num(PCP_ReportDate)> '42947',
if(round(Sum({<PCP_Year, PCP_MonthNum = {"=PCP_MonthNum = Max(TOTAL <PCP_Year> Aggr(PCP_MonthNum, PCP_MonthNum, PCP_Year))"}>} PCP_NUM_STATUS)/Sum({<PCP_Year, PCP_MonthNum = {"=PCP_MonthNum = Max(TOTAL <PCP_Year> Aggr(PCP_MonthNum, PCP_MonthNum, PCP_Year))"}>} PCP_DEN_STATUS),0.01)
>=
Max({<PCP_Year, PCP_MonthNum = {"$(=Max({1<PCP_Year = {$(=Max({1}PCP_Year))}>} PCP_MonthNum))"}>} STAR4) and
round(Sum({<PCP_Year, PCP_MonthNum = {"=PCP_MonthNum = Max(TOTAL <PCP_Year> Aggr(PCP_MonthNum, PCP_MonthNum, PCP_Year))"}>} PCP_NUM_STATUS)/Sum({<PCP_Year, PCP_MonthNum = {"=PCP_MonthNum = Max(TOTAL <PCP_Year> Aggr(PCP_MonthNum, PCP_MonthNum, PCP_Year))"}>} PCP_DEN_STATUS),0.01)
<
Max({<PCP_Year, PCP_MonthNum = {"$(=Max({1<PCP_Year = {$(=Max({1}PCP_Year))}>} PCP_MonthNum))"}>} STAR5),4,
if(num(PCP_ReportDate)> '42947',
if(round(Sum({<PCP_Year, PCP_MonthNum = {"=PCP_MonthNum = Max(TOTAL <PCP_Year> Aggr(PCP_MonthNum, PCP_MonthNum, PCP_Year))"}>} PCP_NUM_STATUS)/Sum({<PCP_Year, PCP_MonthNum = {"=PCP_MonthNum = Max(TOTAL <PCP_Year> Aggr(PCP_MonthNum, PCP_MonthNum, PCP_Year))"}>} PCP_DEN_STATUS),0.01)
>=
Max({<PCP_Year, PCP_MonthNum = {"$(=Max({1<PCP_Year = {$(=Max({1}PCP_Year))}>} PCP_MonthNum))"}>} STAR5),5))))

Is there something I am missing? I've

I appreciate any help you can provide!

1 Solution

Accepted Solutions
sunny_talwar

STAR expressions needed rounding

=if(num(PCP_ReportDate)> '42947', if(round(Sum({<PCP_Year, PCP_MonthNum = {"=PCP_MonthNum  = Max(TOTAL <PCP_Year> Aggr(PCP_MonthNum, PCP_MonthNum, PCP_Year))"}>} PCP_NUM_STATUS)/Sum({<PCP_Year, PCP_MonthNum = {"=PCP_MonthNum  = Max(TOTAL <PCP_Year> Aggr(PCP_MonthNum, PCP_MonthNum, PCP_Year))"}>} PCP_DEN_STATUS),0.01)

>= Round(Max({<PCP_Year, PCP_MonthNum = {"$(=Max({1<PCP_Year = {$(=Max({1}PCP_Year))}>} PCP_MonthNum))"}>} STAR1), 0.01) and

round(Sum({<PCP_Year, PCP_MonthNum = {"=PCP_MonthNum  = Max(TOTAL <PCP_Year> Aggr(PCP_MonthNum, PCP_MonthNum, PCP_Year))"}>} PCP_NUM_STATUS)/Sum({<PCP_Year, PCP_MonthNum = {"=PCP_MonthNum  = Max(TOTAL <PCP_Year> Aggr(PCP_MonthNum, PCP_MonthNum, PCP_Year))"}>} PCP_DEN_STATUS),0.01)

< Round(Max({<PCP_Year, PCP_MonthNum = {"$(=Max({1<PCP_Year = {$(=Max({1}PCP_Year))}>} PCP_MonthNum))"}>} STAR2), 0.01),1,

if(num(PCP_ReportDate)> '42947',

if(round(Sum({<PCP_Year, PCP_MonthNum = {"=PCP_MonthNum  = Max(TOTAL <PCP_Year> Aggr(PCP_MonthNum, PCP_MonthNum, PCP_Year))"}>} PCP_NUM_STATUS)/Sum({<PCP_Year, PCP_MonthNum = {"=PCP_MonthNum  = Max(TOTAL <PCP_Year> Aggr(PCP_MonthNum, PCP_MonthNum, PCP_Year))"}>} PCP_DEN_STATUS),0.01)

>= Round(Max({<PCP_Year, PCP_MonthNum = {"$(=Max({1<PCP_Year = {$(=Max({1}PCP_Year))}>} PCP_MonthNum))"}>} STAR2), 0.01) and

round(Sum({<PCP_Year, PCP_MonthNum = {"=PCP_MonthNum  = Max(TOTAL <PCP_Year> Aggr(PCP_MonthNum, PCP_MonthNum, PCP_Year))"}>} PCP_NUM_STATUS)/Sum({<PCP_Year, PCP_MonthNum = {"=PCP_MonthNum  = Max(TOTAL <PCP_Year> Aggr(PCP_MonthNum, PCP_MonthNum, PCP_Year))"}>} PCP_DEN_STATUS),0.01)

< Round(Max({<PCP_Year, PCP_MonthNum = {"$(=Max({1<PCP_Year = {$(=Max({1}PCP_Year))}>} PCP_MonthNum))"}>} STAR3), 0.01),2,

if(num(PCP_ReportDate)> '42947',

if(round(Sum({<PCP_Year, PCP_MonthNum = {"=PCP_MonthNum  = Max(TOTAL <PCP_Year> Aggr(PCP_MonthNum, PCP_MonthNum, PCP_Year))"}>} PCP_NUM_STATUS)/Sum({<PCP_Year, PCP_MonthNum = {"=PCP_MonthNum  = Max(TOTAL <PCP_Year> Aggr(PCP_MonthNum, PCP_MonthNum, PCP_Year))"}>} PCP_DEN_STATUS),0.01)

>= Round(Max({<PCP_Year, PCP_MonthNum = {"$(=Max({1<PCP_Year = {$(=Max({1}PCP_Year))}>} PCP_MonthNum))"}>} STAR3), 0.01) and

round(Sum({<PCP_Year, PCP_MonthNum = {"=PCP_MonthNum  = Max(TOTAL <PCP_Year> Aggr(PCP_MonthNum, PCP_MonthNum, PCP_Year))"}>} PCP_NUM_STATUS)/Sum({<PCP_Year, PCP_MonthNum = {"=PCP_MonthNum  = Max(TOTAL <PCP_Year> Aggr(PCP_MonthNum, PCP_MonthNum, PCP_Year))"}>} PCP_DEN_STATUS),0.01)

< Round(Max({<PCP_Year, PCP_MonthNum = {"$(=Max({1<PCP_Year = {$(=Max({1}PCP_Year))}>} PCP_MonthNum))"}>} STAR4), 0.01),3,

if(num(PCP_ReportDate)> '42947',

if(round(Sum({<PCP_Year, PCP_MonthNum = {"=PCP_MonthNum  = Max(TOTAL <PCP_Year> Aggr(PCP_MonthNum, PCP_MonthNum, PCP_Year))"}>} PCP_NUM_STATUS)/Sum({<PCP_Year, PCP_MonthNum = {"=PCP_MonthNum  = Max(TOTAL <PCP_Year> Aggr(PCP_MonthNum, PCP_MonthNum, PCP_Year))"}>} PCP_DEN_STATUS),0.01)

>= Round(Max({<PCP_Year, PCP_MonthNum = {"$(=Max({1<PCP_Year = {$(=Max({1}PCP_Year))}>} PCP_MonthNum))"}>} STAR4), 0.01) and

round(Sum({<PCP_Year, PCP_MonthNum = {"=PCP_MonthNum  = Max(TOTAL <PCP_Year> Aggr(PCP_MonthNum, PCP_MonthNum, PCP_Year))"}>} PCP_NUM_STATUS)/Sum({<PCP_Year, PCP_MonthNum = {"=PCP_MonthNum  = Max(TOTAL <PCP_Year> Aggr(PCP_MonthNum, PCP_MonthNum, PCP_Year))"}>} PCP_DEN_STATUS),0.01)

< Round(Max({<PCP_Year, PCP_MonthNum = {"$(=Max({1<PCP_Year = {$(=Max({1}PCP_Year))}>} PCP_MonthNum))"}>} STAR5), 0.01),4,

if(num(PCP_ReportDate)> '42947',

if(round(Sum({<PCP_Year, PCP_MonthNum = {"=PCP_MonthNum  = Max(TOTAL <PCP_Year> Aggr(PCP_MonthNum, PCP_MonthNum, PCP_Year))"}>} PCP_NUM_STATUS)/Sum({<PCP_Year, PCP_MonthNum = {"=PCP_MonthNum  = Max(TOTAL <PCP_Year> Aggr(PCP_MonthNum, PCP_MonthNum, PCP_Year))"}>} PCP_DEN_STATUS),0.01)

>= Round(Max({<PCP_Year, PCP_MonthNum = {"$(=Max({1<PCP_Year = {$(=Max({1}PCP_Year))}>} PCP_MonthNum))"}>} STAR5), 0.01),5))))))))))

View solution in original post

6 Replies
sunny_talwar

Almost seems like I have looked at this dashboard before . Anyways, would you be able to share a sample... difficult to know what might be going on without playing around with it

byrnel0586
Creator
Creator
Author

I believe you have   Now they want to add in rounding from a certain date forward. I think it's still looking at the unrounded number, that's why it's pulling in a 4 instead of 5, but can't figure out how to fix it  The expression is "Star" in the table under the chart. Thank you!

sunny_talwar

STAR expressions needed rounding

=if(num(PCP_ReportDate)> '42947', if(round(Sum({<PCP_Year, PCP_MonthNum = {"=PCP_MonthNum  = Max(TOTAL <PCP_Year> Aggr(PCP_MonthNum, PCP_MonthNum, PCP_Year))"}>} PCP_NUM_STATUS)/Sum({<PCP_Year, PCP_MonthNum = {"=PCP_MonthNum  = Max(TOTAL <PCP_Year> Aggr(PCP_MonthNum, PCP_MonthNum, PCP_Year))"}>} PCP_DEN_STATUS),0.01)

>= Round(Max({<PCP_Year, PCP_MonthNum = {"$(=Max({1<PCP_Year = {$(=Max({1}PCP_Year))}>} PCP_MonthNum))"}>} STAR1), 0.01) and

round(Sum({<PCP_Year, PCP_MonthNum = {"=PCP_MonthNum  = Max(TOTAL <PCP_Year> Aggr(PCP_MonthNum, PCP_MonthNum, PCP_Year))"}>} PCP_NUM_STATUS)/Sum({<PCP_Year, PCP_MonthNum = {"=PCP_MonthNum  = Max(TOTAL <PCP_Year> Aggr(PCP_MonthNum, PCP_MonthNum, PCP_Year))"}>} PCP_DEN_STATUS),0.01)

< Round(Max({<PCP_Year, PCP_MonthNum = {"$(=Max({1<PCP_Year = {$(=Max({1}PCP_Year))}>} PCP_MonthNum))"}>} STAR2), 0.01),1,

if(num(PCP_ReportDate)> '42947',

if(round(Sum({<PCP_Year, PCP_MonthNum = {"=PCP_MonthNum  = Max(TOTAL <PCP_Year> Aggr(PCP_MonthNum, PCP_MonthNum, PCP_Year))"}>} PCP_NUM_STATUS)/Sum({<PCP_Year, PCP_MonthNum = {"=PCP_MonthNum  = Max(TOTAL <PCP_Year> Aggr(PCP_MonthNum, PCP_MonthNum, PCP_Year))"}>} PCP_DEN_STATUS),0.01)

>= Round(Max({<PCP_Year, PCP_MonthNum = {"$(=Max({1<PCP_Year = {$(=Max({1}PCP_Year))}>} PCP_MonthNum))"}>} STAR2), 0.01) and

round(Sum({<PCP_Year, PCP_MonthNum = {"=PCP_MonthNum  = Max(TOTAL <PCP_Year> Aggr(PCP_MonthNum, PCP_MonthNum, PCP_Year))"}>} PCP_NUM_STATUS)/Sum({<PCP_Year, PCP_MonthNum = {"=PCP_MonthNum  = Max(TOTAL <PCP_Year> Aggr(PCP_MonthNum, PCP_MonthNum, PCP_Year))"}>} PCP_DEN_STATUS),0.01)

< Round(Max({<PCP_Year, PCP_MonthNum = {"$(=Max({1<PCP_Year = {$(=Max({1}PCP_Year))}>} PCP_MonthNum))"}>} STAR3), 0.01),2,

if(num(PCP_ReportDate)> '42947',

if(round(Sum({<PCP_Year, PCP_MonthNum = {"=PCP_MonthNum  = Max(TOTAL <PCP_Year> Aggr(PCP_MonthNum, PCP_MonthNum, PCP_Year))"}>} PCP_NUM_STATUS)/Sum({<PCP_Year, PCP_MonthNum = {"=PCP_MonthNum  = Max(TOTAL <PCP_Year> Aggr(PCP_MonthNum, PCP_MonthNum, PCP_Year))"}>} PCP_DEN_STATUS),0.01)

>= Round(Max({<PCP_Year, PCP_MonthNum = {"$(=Max({1<PCP_Year = {$(=Max({1}PCP_Year))}>} PCP_MonthNum))"}>} STAR3), 0.01) and

round(Sum({<PCP_Year, PCP_MonthNum = {"=PCP_MonthNum  = Max(TOTAL <PCP_Year> Aggr(PCP_MonthNum, PCP_MonthNum, PCP_Year))"}>} PCP_NUM_STATUS)/Sum({<PCP_Year, PCP_MonthNum = {"=PCP_MonthNum  = Max(TOTAL <PCP_Year> Aggr(PCP_MonthNum, PCP_MonthNum, PCP_Year))"}>} PCP_DEN_STATUS),0.01)

< Round(Max({<PCP_Year, PCP_MonthNum = {"$(=Max({1<PCP_Year = {$(=Max({1}PCP_Year))}>} PCP_MonthNum))"}>} STAR4), 0.01),3,

if(num(PCP_ReportDate)> '42947',

if(round(Sum({<PCP_Year, PCP_MonthNum = {"=PCP_MonthNum  = Max(TOTAL <PCP_Year> Aggr(PCP_MonthNum, PCP_MonthNum, PCP_Year))"}>} PCP_NUM_STATUS)/Sum({<PCP_Year, PCP_MonthNum = {"=PCP_MonthNum  = Max(TOTAL <PCP_Year> Aggr(PCP_MonthNum, PCP_MonthNum, PCP_Year))"}>} PCP_DEN_STATUS),0.01)

>= Round(Max({<PCP_Year, PCP_MonthNum = {"$(=Max({1<PCP_Year = {$(=Max({1}PCP_Year))}>} PCP_MonthNum))"}>} STAR4), 0.01) and

round(Sum({<PCP_Year, PCP_MonthNum = {"=PCP_MonthNum  = Max(TOTAL <PCP_Year> Aggr(PCP_MonthNum, PCP_MonthNum, PCP_Year))"}>} PCP_NUM_STATUS)/Sum({<PCP_Year, PCP_MonthNum = {"=PCP_MonthNum  = Max(TOTAL <PCP_Year> Aggr(PCP_MonthNum, PCP_MonthNum, PCP_Year))"}>} PCP_DEN_STATUS),0.01)

< Round(Max({<PCP_Year, PCP_MonthNum = {"$(=Max({1<PCP_Year = {$(=Max({1}PCP_Year))}>} PCP_MonthNum))"}>} STAR5), 0.01),4,

if(num(PCP_ReportDate)> '42947',

if(round(Sum({<PCP_Year, PCP_MonthNum = {"=PCP_MonthNum  = Max(TOTAL <PCP_Year> Aggr(PCP_MonthNum, PCP_MonthNum, PCP_Year))"}>} PCP_NUM_STATUS)/Sum({<PCP_Year, PCP_MonthNum = {"=PCP_MonthNum  = Max(TOTAL <PCP_Year> Aggr(PCP_MonthNum, PCP_MonthNum, PCP_Year))"}>} PCP_DEN_STATUS),0.01)

>= Round(Max({<PCP_Year, PCP_MonthNum = {"$(=Max({1<PCP_Year = {$(=Max({1}PCP_Year))}>} PCP_MonthNum))"}>} STAR5), 0.01),5))))))))))

byrnel0586
Creator
Creator
Author

It is working, so thank you so much! But, I guess I'm not understanding why to round those values when they're fixed already in the table?

sunny_talwar

Looks like an issue related to

Rounding Errors

byrnel0586
Creator
Creator
Author

I appreciate your help as always!