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

Announcements
Join us in Bucharest on Sept 18th for Qlik's AI Reality Tour! Register Now
cancel
Showing results for 
Search instead for 
Did you mean: 
byrnel0586
Creator
Creator

Fields values not specific to selection

Hi,

I'm trying to build some calculations in the back end so that I can just use the field names for the values I need on the front end. However, when I use the field names (For instance, Age64_105Num2) I get the value for the entire population even when I have a specific customer selected. But, when I put in the calculation I used in the script I get the customer-specific value. Anyone know how I can fix this?

Here is my script:

PCR_Calc:

LOAD *,

WeightOfAdjProb65_74_2 * AvgAdjProb_65to74_2 as WeightedCal_74_2,
WeightOfAdjProb75_84_2 * AvgAdjProb_75to84_2 as WeightedCal_84_2,
WeightOfAdjProb85_105_2 * AvgAdjProb_85to105_2 as WeightedCal_105_2;


LOAD

_PCR2CalcMoYr as _PCR2Calc_KEY,
Sum(If(AgeFlag=1,NUMERATOR_PCR,0)) as Age64_105Num2,
Sum(If(AgeFlag74=1,AgeFlag74,0))/sum(AgeFlag) as WeightOfAdjProb65_74_2,
Sum(If(AgeFlag84=1,AgeFlag84,0))/sum(AgeFlag) as WeightOfAdjProb75_84_2,
Sum(If(AgeFlag105=1,AgeFlag105,0))/sum(AgeFlag) as WeightOfAdjProb85_105_2,
Sum(If(AgeFlag74=1,[Average Probability of readmission],0))/Sum(AgeFlag74) as AvgAdjProb_65to74_2,
Sum(If(AgeFlag84=1,[Average Probability of readmission],0))/Sum(AgeFlag84) as AvgAdjProb_75to84_2,
Sum(If(AgeFlag105=1,[Average Probability of readmission],0))/Sum(AgeFlag105) as AvgAdjProb_85to105_2


Resident PCR_DETAILS_HEDIS2016

Where (Match (_PCR2CalcMoYr, 'PCR2Feb2017'))
Group By _PCR2CalcMoYr;

7 Replies
byrnel0586
Creator
Creator
Author

I'm pretty sure I know that it is because these calculated fields are static numbers and they need to be variables, but that is what I'm trying to get away from...

sunny_talwar

So are you looking to get static value or do you want it to vary? I am confused and not sure I understand?

byrnel0586
Creator
Creator
Author

I need them to vary with each customer selection. I'm thinking I may have to add the calculations to my master table with the Customer IDs??

sunny_talwar

May be add CustomerID as your dimension here:

PCR_Calc:
LOAD *,

WeightOfAdjProb65_74_2 * AvgAdjProb_65to74_2 as WeightedCal_74_2,
WeightOfAdjProb75_84_2 * AvgAdjProb_75to84_2 as WeightedCal_84_2,
WeightOfAdjProb85_105_2 * AvgAdjProb_85to105_2 as WeightedCal_105_2;
LOAD
Customer_ID,
_PCR2CalcMoYr as _PCR2Calc_KEY,
Sum(If(AgeFlag=1,NUMERATOR_PCR,0)) as Age64_105Num2,
Sum(If(AgeFlag74=1,AgeFlag74,0))/sum(AgeFlag) as WeightOfAdjProb65_74_2,
Sum(If(AgeFlag84=1,AgeFlag84,0))/sum(AgeFlag) as WeightOfAdjProb75_84_2,
Sum(If(AgeFlag105=1,AgeFlag105,0))/sum(AgeFlag) as WeightOfAdjProb85_105_2,
Sum(If(AgeFlag74=1,[Average Probability of readmission],0))/Sum(AgeFlag74) as AvgAdjProb_65to74_2,
Sum(If(AgeFlag84=1,[Average Probability of readmission],0))/Sum(AgeFlag84) as AvgAdjProb_75to84_2,
Sum(If(AgeFlag105=1,[Average Probability of readmission],0))/Sum(AgeFlag105) as AvgAdjProb_85to105_2

Resident PCR_DETAILS_HEDIS2016

Where (Match (_PCR2CalcMoYr, 'PCR2Feb2017'))
Group By _PCR2CalcMoYr, Customer_ID;

swuehl
MVP
MVP

You have calculated you number for a dimensional context of _PCR2CalcMoYr.

If you need it per customer (but calculated statically in the script), you would need to calculate it per required dimensional context (and maybe for different contexts).

Have a look at

Fact Table with Mixed Granularity

of how you can create a table with facts of mixed granularity (i.e. use several LOADs to  calculate your number for the specific context, and concatenate the resuls into one table. Create a key field  to access the numbers for the specific context you want to retrieve in the frontend).

This can create a huge script and table though.

byrnel0586
Creator
Creator
Author

Unfortunately my Customer_ID field is in another table and not Resident PCR_DETAILS_HEDIS2016

Is there a way to still pull it in?

byrnel0586
Creator
Creator
Author

Thank you, I will check it out!