Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
We’ve all experienced pain when using section access. Qlik Sense addressed one of the headaches by allowing you to right-click on an app and “open without data” in order to access your script if you lock yourself out. However, Sense has introduced a problem that never existed in QlikView; that omitted fields cause visualisations to fail.
I examine this in more depth on my blog https://adventuresinqlik.com/2018/03/11/the-problem-with-section-access-in-sense-with-workarounds/ but the basics of my suggested solutions are below...
In QlikView if you introduced section access and invoked OMIT fields (a list of fields which the user should not have visability of) any charts which contained omitted fields would still show up, just without the fields in question. In Qlik Sense the chart will fail and display an ‘incomplete’ visualisation error. Essentially, Sense has looked for the field and hasn’t found it because it has been omitted so it cannot render the chart.
Some possible workarounds: !
Hi Michael,
Thank you for the explanation, the second workaround you described works like a charm for 'simple' dimensions. I have an issue for calculated dimensions, where there I am already using aggregation, there the =if(isnull(vUserOMIT),FieldToShow/Hide,Null()) has been difficult to implement.
Do you have a suggestion for a workaround for more complex dimensions? Is it possible to plug the vUserOMIT variable into the "Show column if" field?
Here answering my own questions: measures <> dimensions and measures, unlike dimensions, do not seem to 'crash' once the field gets omitted, the worst is that you will get NULL values or for some aggregations you might get some 0s.
Michael's solutions works swell for the actual dimensions.
Piggy-backing on this thread again. For some reason, using the formula =if(isnull(vUserOMIT),FieldToShow/Hide,Null()) does not work in one of my dashboards. I have found an easy workaround by using not(isnull(vUserOmit)) in the "show column if" field.