Skip to main content
Announcements
Live today at 11 AM ET. Get your questions about Qlik Connect answered, or just listen in. SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Peter_Cammaert
Partner - Champion III
Partner - Champion III

Reload changes field names in expressions

While trying to build a solution for conditionally showing sheets based on Section Access, I ran into some weird QlikView behavior. See model in attachment. It contains the following simple techniques:

  • The script loads a few rows of sheet permissions. Each row contains a userID, a sheet symbol and an access flag. Only sheets with access permission are listed. For example:

LOAD * INLINE [
USER, ITEMTYPE, ITEMNAME, ITEMFLAG

PCA, SHEET, SH06, 1
PCA, SHEET, SH07, 1
PCA, SHEET, SH08, 1
PCA, SHEET, SH09, 1
];

  • Using a GENERIC LOAD, the script creates an access flag per sheet.
  • About 11 sheets in this model have a Condition Show-expression like this: sum([SHEETACCESS.SH06]) = 1

In the default set-up, access permissions work flawlessly. Only sheets 6, 7, 8 & 9 are visible, the others remain hidden.

However, as soon as I change one of the permissions by replacing the value of a single ITEMNAME, funny things start to happen.

For example, if I replace ItemName SH08 in the table at the top with SH02 and perform a reload, sheet SH02 will pop up as expected. But sheet SH08 will remain visible as well, showing a total of 5 sheets.

Closer inspection reveals that the Conditional Show-expression for sheet SH08 has been rewritten: the square brackets are gone, and the expression now looks like sum(SHEETACCESS.SH02) = 1.

Is this normal behavior, or a bug?

2 Replies
swuehl
MVP
MVP

You, respective your generic load, are changing the field name and QV has some built in intelligence to alter expression to adapt changes to field names. I am currently unsure if you can disable this behaviour somewhere in the properties.

What about dropping the use of the generic load completely and using something like this in your conditional show sheet expressions:

=sum({<ITEMNAME = {SH02}>} ITEMFLAG) = 1

Regards,

Stefan

Peter_Cammaert
Partner - Champion III
Partner - Champion III
Author

I read a few of those stories about people getting in touch with "QlikView Intelligence" and some of these are quite old. Has anyone ever gotten an end-all-discussions-explanation from QlikTech about this "intelligence"?

I found out that putting conditional expressions in variables works well too, but neither one of these "solutions" lowers maintenance complexity.

In any case, thanks for your reply.

Peter