Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Problem Statement :
In UI we have 3 charts
chart1 should not be impacted by chart 2 and chart3
so we initially gave alternate state to chart2 and chart3.(these charts are working with global filters-which are shown in top through scope operator)
However this was impacting UI performance badly. So we are trying to achieve this through data model.
Data Model Table:
KeyField (having values a b c d..)
field1
field2
field3
field4
.
.Chart 1 uses keyfield and field 3, field 4 here. (field 1 and field 2 are for remaining charts)
Island table 1 : (residented data model table)
KeyField as KeyField1 (having values a b c d..)
field1 as field11
Island table 2 : (residented data model table)
KeyField as KeyField2 (having values a b c d..)
field2 as field22
in UI :
in filter2 we are giving field11 when keyfield1 matches a value (amongst the list)
in chart 2 we are giving expression :
count({<keyfield={variable(definition : trigger in page selects a)}>}field11)
what is happening ..
in selection area it shows variable a selected..
when we are navigating to next page where variable value b should be selected.. it does not overwrite that.
The used approach seems to be more complicated as necessary. Just to ignore some selections it's not necessary to use alternate states because these selections could be ignored within a set analysis.
If I understand the applied data-model with the island tables right - just in duplicating two fields within separate tables - and querying later those selections within set analysis it should work very well and could be done quite simply without any variables and/or buttons and selections, for example with something like:
count({< Filter2, Filter1 = p(IslandFilter1) >} Field)
and similar by the other charts. To show further which selections of the filter-fields are applied you could just query the island-table, like:
concat(IslandFilter1, ' + ')