Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Alternative Current Selections

Hello all,

I am looking for an alternative way of displaying the current selections.

The standard box (QV11) lacks of (as I think significant) features:

a) I want to show alternative names (labels) rather than the (often used) teccie-names.

(yes, I could solve that by changing field names in code, but in other situations, the teccie names are quite helpful).

b) I want to hide certain fields, where selections are made for the sake of the "sheet logic" only.

No user is interested in these fields.

I.e. I'd like to have a current selections box with labels and the ability to hide a defined set of fields.

Did somebody develop something similar already?

Any "ready to use" solution available ;-)?

Otherwise any hint on how to accomplish something like that is very much welcome.

A Macro-less solution would be a dream 😉

Thank you,

Thilo

PS: I started experiments with the system field "$Fields" and the GetFieldSelection function ... but without satisfying result, yet.

7 Replies
Not applicable
Author

As far as the hiding certain selections goes in the script you can use:

Set hideprefix='%';

then for the fields you want hidden place this symbol before the name like:

%Selection

As far as changing the names, I am not aware of an easy way. You can create a text object to display current selections of a field with your own label but for a large script this could become quite large.

Not applicable
Author

Im keen to understand this if anyone has a solution.

From a users perspective the field names (driven by how they are stored in the original DB)  in the current selection arent staright forward, but if the current selection refers to the relabeling I gave to the list box you make the selection from , it would be far simpler for the user to read.

magavi_framsteg
Partner - Creator III
Partner - Creator III

Hi THe_evaco.

To make a quick and powerful rename of fields, you can do like this.

Say you have a set of fields called DAT02L, TSTRP03, KLK44CN.

Then you can do like this (pseudo code):

MapFieldLabels:

MAPPING LOAD INLINE

CodedFieldName, HumanReadableFieldName

DAT02L, Date of purchase

TSTRP03, Test report number

INV44CS, Invoice customer number

RENAME FIELDS USING MapFieldLabels;

After running the code, all fields in the data model are checked against the mapping table and renamed accordingly.

The same logic can be used for field comments:

COMMENT FIELDS USING MapFieldComments;

Kind regards

Magnus Åvitsland

BI Consultant

Framsteg Business Intelligence Corp.

Not applicable
Author

yes that worked many thanks although for ease i loaded in an excel mapping table

FieldMap:

Mapping LOAD Distinct

  CodedFieldName,  HumanReadableFieldName

FROM

(ooxml, embedded labels, table is Sheet1);

Not applicable
Author

well i thought i got this working but only partially.

if i do

fieldmap

then load table1 to be converted

rename etc

this works fine

if i put the fieldmap and rename around 2 tables to be it doesnt

fieldmap

then load table1 to be converted, then load table 2 to be converted.

rename etc

falls over

if I load the field map in twice , around both tables, only the 1st table is converted. If the 2nd table has values equal to those in the 1st these ie. key fields,  are ignored. Only new unique field names are changed.

So do i need a tablemap for every table i want to convert? Or is there an easy way ,so i can just put all the table map values in one table and this will blanket convert every table in my schema?

thanks

magavi_framsteg
Partner - Creator III
Partner - Creator III

Hi again.

Good I'm glad you got further.

As with all mapping tabled, you need to make sure each key (CodedFieldName) only exists once.

ie: where not exists(CodedFieldName).

Else those fields map to null and thus the rename doesn't happen.

Not applicable
Author

ahh ok, that makes sense. So this isnt something you can do on key fields then or primary keys?