There are a number of functions and features in QlikView which whilst they are not revolutionary can make your life much easier. One such little known feature is HidePrefix.
This post references QlikView but you can use HidePrefix in Qlik Sense in exactly the same way. It is even more useful there as users are more likely to use Global Search and see table keys and the like.
Often when loading data from complex data sources there are fields in the data model that are required to be pulled in that you do not want to be visible to your analyser users. It may even simply be that there are so many of them that you don’t wan them in your own way all the time either. Typically these fields may be join keys or fields that are only used in Set Analysis.
If this sounds familiar you will be pleased to know that these fields can be hidden from view and treated in the same way as the system fields. As you probably know system fields can be shown or hidden using the check box on the Select Fields dialog.
With HidePrefix you can make your own fields visible or not based on the same check box.
Simply decide which character you wish to use to prefix fields you wish to hide (I always go for the % symbol) and issue the HidePrefix statement:
Once this has been done you simply need to name all fields that you wish to hide so that they start with that character. Typically you will want to do this with an AS statement (as shown below) – but you can do it at source if you wish:
Once the script has been re-run and the data has been loaded you will notice that the fields that were prefixed only appear in the field selection box when Show System Fields is ticked.
Similar to the actual system fields; the hidden fields can be used at will in expressions, they just can not be selected from the pick lists when defining dimensions or from the drop down when building an expression.
No more will join keys or system ID’s clutter your nice pick list of available fields.
Thanks Steve. This is very useful to hide the helper fields. It makes it easier while working the data.
Cheers – DV
I often use free-floating helper tables so, what I most like about HidePrefix is that these hidden fields do not show up in the Current Selections box.
Hi Steve,
Is there anyway to use a button to toggle the show system fields checkbox? I have a health care document that shows patient data that I would like to use a button to “de-identify” sensitive information. The chart table has 4 dimensions and 3 expressions. Whenever one of my users selects a value in the expression column it adds all of my dimension fields to the current selection box, thus showing the fields that I would like hidden. I see the value of using set HidePrefix in the load statement, but I really need to be able to have my user toggle with a button whether the Show System Fields are available.
If I can go to the properties table and flip it on and off, I should be able to use a variable to change it.
Please advise if there is any other solution to my issue or if you are aware of any external plug ins that might work.
Thanks,
Mike Czerwonky
Hi Mike,
I’m not aware of a way that you can hide that tick box, but I don’t think that Hide Prefix is the way to approach this anyway. Take a look at the functionality that is baked in to Section Access around the OMIT statement, and see if that fits your needs. This allows you to specify users or groups that can not see certain fields. The down side of this is the UI can break if you use those fields as dimensions – but that can be fixed by putting show conditions on objects that use those dimensions.
If you want a toggle in the UI that is only available to some users, then that can be done with calculated dimensions, buttons and variables. You would need to ensure that users don’t have the ability to add their own charts though – or they will simply be able to pick the dimensions that you are hiding from them.
Hope that helps,
Steve