Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Active selection & multi-language data columns

Hi all,

I have tried a solution to manage the multilanguage data, that is adding columns storing translations in different languages, for example:

cancellation_reason_E

cancellation_reason_F

cancellation_reason_D

and on the interface, I use this expression

if(left(vDataLanguage,1)='D',cancellation_reason_D,if(left(vDataLanguage,1)='E',cancellation_reason_E,cancellation_reason_F))

The problem is whenver I select a value (cancellation reason), those 3 fields are displayed in the Active selection box.

I've thought about hiding them with prefix _ but then they will not show up at all

What should I do ? Or should I replace the expression using "if" with a set analysis or whatever..

Any idea is welcomed. Thank you

4 Replies
gmoraleswit
Partner - Creator II
Partner - Creator II

Can you upload an example?

marcus_sommer

I think you should rather use a single field for your translations and a flag-field to select them instead of many cloumns and a variable-control, more like these logic:

translation:

Load * Inline [

Flag, Value

D, german

E, english

F, french

];

There are demo-apps within the your install-demos which have a language-switch and also here:

http://community.qlik.com/search.jspa?q=multi-language

- Marcus

Anonymous
Not applicable
Author


In our projects i have seen handling such situation.

Normally we approach in below manner:

1. Create a mapping file which will store different levels(for column) in the multiple languages wher one of the column is related to language

2. Create an inline table like Marcus where Language information is kept.

3. Apply "ApplyMapping".

hope this should help.

Not applicable
Author

Hi all cannot upload an example as the doc is too big.

Here are few more elements:

- application language is chang-able at runtime. Which means every text needs to be refreshed and displayed in the selected language.

- To my knowledge, Applymap do not work in interface so you should use it to write the translated text and have them in 3 languages during script run only.

- the cancellation reason is stored in a reference table and it is "connected" to the fact table by more than 1 field (its display does not depend only on the language, but on other selected field, for example the Country

--> if I load the reference table as is, and link it to the fact table in data model, I will 3 rows of translation for each row in the fact table, and it may triple the data in the fact table by 3

So what I did is to use ApplyMap (with all linked conditions like Country) and load 3 additional columns into the fact table. Then once on the interface I set up that expression to show the corresponding column of the selected language. And you can change as many language as you like, the translation will be refreshed and appeared correctly (I have listbox and dimension of the pivot table implemented this way). Everything is fine except that annoying display in the Active selection box