If you’re new to Qlik Sense, start with this Discussion Board and get up-to-speed quickly.
Hi Friends,
I have a chart requirement to count the no of persons for each decision label.
Below are the decision labels:
1. CAction-- tagged to Decision rank 1
2. DAction -- tagged to Decision rank 2
3. GAction --tagged to Decision rank 3
4. Warn -- tagged to Decision rank 4
5. Pending -- tagged to Decision rank 5
There are cases where a person tagged to CAction, DAction, Warn, please see below data. But we need to consider the person only one time under the highest priority.
I have written
dimension as :AGGR(FirstSortedValue([DECISION],DECISION_RANK),[PERSONNO])
Expression: count(distinct(PERSONNO)).
The outcome of the script is still considering the persons for multiple decision labels. Please help how to correct the above expression.
I have given sample of data, please find below.
DECISION | PERSON | Year |
CAction | - | 2018 |
CAction | XXXXX1 | 2018 |
CAction | XXXXX2 | 2018 |
CAction | XXXXX3 | 2018 |
CAction | XXXXX4 | 2018 |
CAction | XXXXX5 | 2018 |
CAction | XXXXX6 | 2018 |
CAction | XXXXX7 | 2018 |
CAction | XXXXX8 | 2018 |
CAction | XXXXX9 | 2018 |
CAction | XXXXX10 | 2018 |
CAction | XXXXX11 | 2018 |
CAction | XXXXX12 | 2018 |
CAction | XXXXX13 | 2018 |
CAction | XXXXX14 | 2018 |
CAction | XXXXX15 | 2018 |
CAction | XXXXX16 | 2018 |
CAction | XXXXX17 | 2018 |
CAction | XXXXX18 | 2018 |
CAction | XXXXX19 | 2018 |
CAction | XXXXX20 | 2018 |
CAction | XXXXX21 | 2018 |
CAction | XXXXX22 | 2018 |
CAction | XXXXX23 | 2018 |
CAction | XXXXX24 | 2018 |
CAction | XXXXX25 | 2018 |
CAction | XXXXX26 | 2018 |
CAction | XXXXX27 | 2018 |
CAction | XXXXX28 | 2018 |
CAction | XXXXX29 | 2018 |
CAction | XXXXX30 | 2018 |
CAction | XXXXX31 | 2018 |
CAction | XXXXX32 | 2018 |
CAction | XXXXX33 | 2018 |
CAction | XXXXX34 | 2018 |
CAction | XXXXX35 | 2018 |
CAction | XXXXX36 | 2018 |
CAction | XXXXX37 | 2018 |
CAction | XXXXX38 | 2018 |
CAction | XXXXX39 | 2018 |
CAction | XXXXX40 | 2018 |
CAction | XXXXX41 | 2018 |
CAction | XXXXX42 | 2018 |
CAction | XXXXX43 | 2018 |
CAction | XXXXX44 | 2018 |
Daction | XXXXX4 | 2018 |
Daction | XXXXX1 | 2018 |
Daction | XXXXX2 | 2018 |
Daction | XXXXX5 | 2018 |
Daction | XXXXX44 | 2018 |
Daction | XXXXX45 | 2018 |
Daction | XXXXX46 | 2018 |
Daction | XXXXX47 | 2018 |
Daction | XXXXX48 | 2018 |
Daction | XXXXX49 | 2018 |
Daction | XXXXX50 | 2018 |
Daction | XXXXX51 | 2018 |
Daction | XXXXX52 | 2018 |
Daction | XXXXX53 | 2018 |
Warn | XXXXX53 | 2018 |
Warn | XXXXX54 | 2018 |
Warn | XXXXX2 | 2018 |
Warn | XXXXX5 | 2018 |
Warn | XXXXX57 | 2018 |
Warn | XXXXX58 | 2018 |
Warn | XXXXX45 | 2018 |
Warn | XXXXX46 | 2018 |
Warn | XXXXX61 | 2018 |
Warn | XXXXX62 | 2018 |
Warn | XXXXX63 | 2018 |
Warn | XXXXX64 | 2018 |
Warn | XXXXX65 | 2018 |
Warn | XXXXX66 | 2018 |
Warn | XXXXX67 | 2018 |
Warn | XXXXX68 | 2018 |
Warn | XXXXX69 | 2018 |
Warn | XXXXX70 | 2018 |
Warn | XXXXX71 | 2018 |
Warn | XXXXX72 | 2018 |
Warn | XXXXX73 | 2018 |
Warn | XXXXX74 | 2018 |
Warn | XXXXX75 | 2018 |
Warn | XXXXX76 | 2018 |
Warn | XXXXX77 | 2018 |
Warn | XXXXX78 | 2018 |
Warn | XXXXX79 | 2018 |
Warn | XXXXX80 | 2018 |
Warn | XXXXX81 | 2018 |
Warn | XXXXX82 | 2018 |
Warn | XXXXX83 | 2018 |
Warn | XXXXX84 | 2018 |
Warn | XXXXX85 | 2018 |
Warn | XXXXX86 | 2018 |
Warn | XXXXX87 | 2018 |
Warn | XXXXX88 | 2018 |
Warn | XXXXX89 | 2018 |
Warn | XXXXX90 | 2018 |
Warn | XXXXX91 | 2018 |
Warn | XXXXX92 | 2018 |
Warn | XXXXX93 | 2018 |
Warn | XXXXX94 | 2018 |
Warn | XXXXX95 | 2018 |
Warn | XXXXX96 | 2018 |
Warn | XXXXX97 | 2018 |
Warn | XXXXX98 | 2018 |
Warn | XXXXX99 | 2018 |
Warn | XXXXX100 | 2018 |
Warn | XXXXX101 | 2018 |
Warn | XXXXX102 | 2018 |
Warn | XXXXX103 | 2018 |
Warn | XXXXX104 | 2018 |
Warn | XXXXX105 | 2018 |
Warn | XXXXX106 | 2018 |
Warn | XXXXX107 | 2018 |
Warn | XXXXX108 | 2018 |
Warn | XXXXX109 | 2018 |
Warn | XXXXX110 | 2018 |
Warn | XXXXX111 | 2018 |
Warn | XXXXX112 | 2018 |
Warn | XXXXX113 | 2018 |
Warn | XXXXX114 | 2018 |
Warn | XXXXX115 | 2018 |
Warn | XXXXX116 | 2018 |
Warn | XXXXX117 | 2018 |
Warn | XXXXX118 | 2018 |
Warn | XXXXX119 | 2018 |
Warn | XXXXX120 | 2018 |
Warn | XXXXX121 | 2018 |
Warn | XXXXX122 | 2018 |
Warn | XXXXX123 | 2018 |
GAction | XXXXX123 | 2018 |
GAction | XXXXX124 | 2018 |
GAction | XXXXX125 | 2018 |
GAction | XXXXX126 | 2018 |
GAction | XXXXX115 | 2018 |
GAction | XXXXX116 | 2018 |
GAction | XXXXX117 | 2018 |
GAction | XXXXX118 | 2018 |
GAction | XXXXX1 | 2018 |
GAction | XXXXX132 | 2018 |
GAction | XXXXX133 | 2018 |
GAction | XXXXX134 | 2018 |
GAction | XXXXX135 | 2018 |
GAction | XXXXX136 | 2018 |
GAction | XXXXX137 | 2018 |
GAction | XXXXX138 | 2018 |
GAction | XXXXX139 | 2018 |
GAction | XXXXX140 | 2018 |
GAction | XXXXX141 | 2018 |
GAction | XXXXX142 | 2018 |
GAction | XXXXX143 | 2018 |
GAction | XXXXX144 | 2018 |
GAction | XXXXX145 | 2018 |
GAction | XXXXX146 | 2018 |
GAction | XXXXX147 | 2018 |
GAction | XXXXX148 | 2018 |
GAction | XXXXX149 | 2018 |
Pending | XXXXX150 | 2018 |
Pending | XXXXX1 | 2018 |
Pending | XXXXX152 | 2018 |
Pending | XXXXX153 | 2018 |
Pending | XXXXX135 | 2018 |
Pending | XXXXX155 | 2018 |
Pending | XXXXX156 | 2018 |
Hello,
I was able to solve your issue on the load script.
TST: Load pick(match(Decision,'CAction','DAction'),dual('CAction',1),dual('DAction',2)) as Decision, Person, Year Inline [ Decision, Person, Year 'CAction', 'XXXXX1', 2018 'CAction', 'XXXXX2', 2018 'CAction', 'XXXXX3', 2018 'CAction', 'XXXXX4', 2018 'CAction', 'XXXXX5', 2018 'CAction', 'XXXXX6', 2018 'CAction', 'XXXXX7', 2018 'CAction', 'XXXXX8', 2018 'CAction', 'XXXXX9', 2018 'DAction', 'XXXXX1', 2018 'DAction', 'XXXXX2', 2018 'DAction', 'XXXXX4', 2018 'DAction', 'XXXXX5', 2018 ]; TST2: noconcatenate Load Person, Year, Max(Decision) as Decision Resident TST group by Person, Year; drop table TST;
After this you are able to simply use following chart expressions:
Dimension: Decision
Measure: count(distinct Person)
This will reduce the rows on your data model. In case you need to have all initial rows in your data model for some reason, you can use the following script:
TST: Load pick(match(Decision,'CAction','DAction'),dual('CAction',1),dual('DAction',2)) as Decision, Person, Year Inline [ Decision, Person, Year 'CAction', 'XXXXX1', 2018 'CAction', 'XXXXX2', 2018 'CAction', 'XXXXX3', 2018 'CAction', 'XXXXX4', 2018 'CAction', 'XXXXX5', 2018 'CAction', 'XXXXX6', 2018 'CAction', 'XXXXX7', 2018 'CAction', 'XXXXX8', 2018 'CAction', 'XXXXX9', 2018 'DAction', 'XXXXX1', 2018 'DAction', 'XXXXX2', 2018 'DAction', 'XXXXX4', 2018 'DAction', 'XXXXX5', 2018 ]; TST2: noconcatenate Load Person, Year, Max(Decision) as Decision Resident TST group by Person, Year; left join(TST) Load *, 1 as HighestPriorityFlag Resident TST2; Drop table TST2;
After this your chart expressions should be:
Dimension: Decision
Measure: count(distinct {<HighestPriorityFlag={1}>} Person)
- Pasi