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

Announcements
Join us in Toronto Sept 9th for Qlik's AI Reality Tour! Register Now
cancel
Showing results for 
Search instead for 
Did you mean: 
danosoft
Specialist
Specialist

Filter Chart with variable

Hi i have those two variables:

Set vAnnoTempo = GetFieldSelections(ANNOTEMPO);

Set vMeseTempo = GetFieldSelections(MESETEMPO);

ANNOTEMPO and MESETEMPO are fields of my TIME_TABLE

i want those variables takes from my fields selection:

When i choose for example Anno: 2017          Mese: 2

I want my chart will be filter from my vAnnoTempo and vMeseTempo, but its not start

The set analisys expression i have in my chart is:

=Sum({<ANNO_IN={"=$(vAnnoTempo)"},MESE_IN={"=$(vMeseTempo)"}>} CONSUMO_TOT_ANNUO)

ANNO_IN and MESE_IN are my fields in my CONTR table.

p.s.: CONTR table and TIME_TABLE are not connected, and this is correct, i not want are connected, i want do my filter with set analisys in this way, becouse for every dimension i have in my chart i need to do a different set analisys

Thanks

49 Replies
danosoft
Specialist
Specialist
Author

yes only the rows  belonging to the COD_PUNTO having max(date).

sure there are more cod_punto

i don't know this function P()

i tried it do an error: =Sum({<COD_PUNTO=P({<DATA_IN={'$(=Max(DATA_IN))'>}),ANNOIN={'$(=GetFieldSelections(ANNOTEMPO))'},MESEIN={'$(=Concat(GetFieldSelections(MESETEMPO, chr(39) & ',' & chr(39))))'},STATO_IN={'INGRESSO'}>} CONSUMO_TOT_ANNUO)

"error in set modifier element in function set"

olivierrobin
Specialist III
Specialist III

have a look at qlik documentation, in chapter set analysis

i wrote the set rapidly and it maybe syntacticaly incorrect

this part should be better

COD_PUNTO=P({<DATA_IN={'$(=Max(DATA_IN))'}>}COD_PUNTO)

danosoft
Specialist
Specialist
Author

no sorry in this way it return 0

=Sum({<COD_PUNTO=P({<DATA_IN={'$(=Max(DATA_IN))'}>}COD_PUNTO),ANNOIN={'$(=GetFieldSelections(ANNOTEMPO))'},MESEIN={'$(=Concat(GetFieldSelections(MESETEMPO, chr(39) & ',' & chr(39))))'},STATO_IN={'INGRESSO'}>} CONSUMO_TOT_ANNUO)

olivierrobin
Specialist III
Specialist III

problem with date format

COD_PUNTO=P({<DATA_IN={'$(=date(Max(DATA_IN),'DD/MM/YYYY'))'}>}COD_PUNTO)

danosoft
Specialist
Specialist
Author

no is not, always 0

=Sum({<COD_PUNTO=P({<DATA_IN={'$(=Date(Max(DATA_IN),"DD/MM/YYYY"))'}>}COD_PUNTO),ANNOIN={'$(=GetFieldSelections(ANNOTEMPO))'},MESEIN={'$(=Concat(GetFieldSelections(MESETEMPO, chr(39) & ',' & chr(39))))'},STATO_IN={'INGRESSO'}>} CONSUMO_TOT_ANNUO)

olivierrobin
Specialist III
Specialist III

be careful with field names !!!!!

in examples you have mese_in, anno_in

so you have to put those names in set analysis to conform to your data

=Sum({<

COD_PUNTO=P({<DATA_IN={'$(=date(Max(DATA_IN),'DD/MM/YYYY'))'}>}COD_PUNTO),

ANNO_IN={'$(=GetFieldSelections(ANNOTEMPO))'},MESE_IN={'$(=Concat(GetFieldSelections(MESETEMPO, chr(39) & ',' & chr(39))))'}>} CONSUMO_TOT_ANNUO)

danosoft
Specialist
Specialist
Author

nono the name are correct look i always wrote those kind of fields, perhaps in first example i wrote those...

the names are correct and this i write result 0, sorry

=Sum({<COD_PUNTO=P({<DATA_IN={'$(=Date(Max(DATA_IN),"DD/MM/YYYY"))'}>}COD_PUNTO),ANNOIN={'$(=GetFieldSelections(ANNOTEMPO))'},MESEIN={'$(=Concat(GetFieldSelections(MESETEMPO, chr(39) & ',' & chr(39))))'},STATO_IN={'INGRESSO'}>} CONSUMO_TOT_ANNUO)

olivierrobin
Specialist III
Specialist III

it works here (i don't have field STATO_IN)

Are you sure there are values with this STATO_IN correponding to you selection ?

danosoft
Specialist
Specialist
Author

yes, can you upload this example please so i can try to use this?

olivierrobin
Specialist III
Specialist III

here is the code for the script

TIME_TABLE:

load * inline [

ANNOTEMPO,MESETEMPO

2018,12

2018,3

2018,1

]

;

t:

load * inline [

ANNO_IN,MESE_IN,COD_PUNTO,DATA_IN,CONSUMO_TOT_ANNUO

2018,12,PR01,10/10/2018,100

2018,3,PR01,4/10/2018,50

2018,1,PR02,10/10/2018,300

];

Set vAnnoTempo = GetFieldSelections(ANNOTEMPO);

Set vMeseTempo = GetFieldSelections(MESETEMPO);

exit script;

and the expression in the graph :

=Sum({<

COD_PUNTO=P({<DATA_IN={'$(=date(Max(DATA_IN),'DD/MM/YYYY'))'}>}COD_PUNTO),

ANNO_IN={'$(=GetFieldSelections(ANNOTEMPO))'},MESE_IN={'$(=Concat(GetFieldSelections(MESETEMPO, chr(39) & ',' & chr(39))))'}>} CONSUMO_TOT_ANNUO)