Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
I have two tables, in which one table contains list of languages, other table contains the translation information, according the user selection language the dashboard will translate to that language.
there is no relation between two tables.
How can i we do this, can any one help me in this.
I'm attaching the QVD files.
Thanks in advance.
Pradeep
Hi Pradeep:
You can can refer to this in which I've talked about such a thing (translation):
Creating our own Narratives in Sense by Omar BEN SALEM. | LinkedIn
In fact, I was enjoying using the Qlik Sense Narrative extension till It became no free no more.. For those of you not familiar with the Narrative extension; here's a link to it :
https://narrativescience.com/Partners/Business-Intelligence/Qlik-Sense
Basically, it describes a chart in a humain language.
Why? Because sometimes, even though a graphic chart could be very powerful to analyze data, some users always prefer a good old humain way summary.
With that in mind, I thought about creating my own version of a chart's summary:
Today, we'll be describing how to achieve such a thing.
Ps: Even though the expressions used can appear complex; It's all generic expressions; you'll just have to change the dimension and measure to replicate all the expressions based on your own data.
First of all, let's build a test application everybody can use; to do so: go to the script and tap : ctrl+00 and Qlik Sense will automatically generate a script we can use in our test:
Now, let's create the Chart we want to summarize:
if(Num= '$(=FirstSortedValue(Num,- aggr(sum(Expression1),Num)))',Green(),if(Num= '$(=FirstSortedValue(Num, aggr(sum(Expression1),Num)))',red(), '#7b7a78'))Now, let's create a text and image chart to describe the main points related in this bar chart :We'll be showing :
To even make our narrative better, we'll be creating a variable : vLanguage and 2 buttons objects (using this certified extension https://github.com/stefanwalther/sense-navigation ).
First button to show the narrative in English (vLangage=1) / Second button to show narrative in French (vLanguage=2)
Let's begin :
1) First thing to do is creating a title for our text and image object :
=if(vLangue=1,'A narrative of the main points relative to the bar chart :', 'Ci-dessous un résumé des informations clés récoltées du graphique en bars')
2) Create our measures:
Measure1: =if(vLangue=1,'* In the selected frame, ' , '* Dans la partie sélectionnée, ' )
Measure2: =if(vLangue=1,'FIRST is number '& FirstSortedValue(Num,- aggr(sum(Expression1),Num)), 'le 1er est '& FirstSortedValue(Num,- aggr(sum(Expression1),Num)))
Measure3: =if(vLangue=1,' with '&num(sum({<Num={"$(= FirstSortedValue(Num,- aggr(sum(Expression1),Num)))"}>} Expression1),'# ##0')&' points ',' avec '&num(sum({<Num={"$(= FirstSortedValue(Num,- aggr(sum(Expression1),Num)))"}>} Expression1),'# ##0')&' points ')
Measure4: =if(vLangue=1,', the LAST is number '&FirstSortedValue(Num, aggr(sum(Expression1),Num)), ', le dernier est '&FirstSortedValue(Num, aggr(sum(Expression1),Num)))
Measure5: =if(vLangue=1,' with '&num(sum({<Num={"$(= FirstSortedValue(Num, aggr(sum(Expression1),Num)))"}>} Expression1),'# ##0'), ' avec '&num(sum({<Num={"$(= FirstSortedValue(Num, aggr(sum(Expression1),Num)))"}>} Expression1),'# ##0'))
Measure6: =if(vLangue=1, '* The Sum is : ','* La somme est de : ')
Measure7: num(sum(Expression1),'# ##0')&' points'
Measure8: =if(vLangue=1, '* The Average is : ','* La moyenne est de : ')
Measure9: =num((sum(Expression1) / count(distinct Num)),'# ##0,00')&' points'
Measure10: =if(vLangue=1,'* The difference between the FIRST ('& FirstSortedValue(Num,- aggr(sum(Expression1),Num))&')'&' and the last ('&FirstSortedValue(Num, aggr(sum(Expression1),Num))&') is : ', '* La différence entre le 1er ('& FirstSortedValue(Num,- aggr(sum(Expression1),Num))&')'&' et le dernier '&FirstSortedValue(Num, aggr(sum(Expression1),Num))&') est : ')
Measure11: =if(vLangue=1,num((sum({<Num={"$(= FirstSortedValue(Num,- aggr(sum(Expression1),Num)))"}>} Expression1) -sum({<Num={"$(= FirstSortedValue(Num, aggr(sum(Expression1),Num)))"}>} Expression1)),'# ##0')& ' points', num((sum({<Num={"$(= FirstSortedValue(Num,- aggr(sum(Expression1),Num)))"}>} Expression1) -sum({<Num={"$(= FirstSortedValue(Num, aggr(sum(Expression1),Num)))"}>} Expression1)),'# ##0')& ' points')
Measure12: =if(vLangue=1,'* The difference between the right born ('&max(Num)&') '&'and the left one('& min(Num)&')'&' is : ', '* La différence entre la barre droite ('&max(Num)&') '&'et gauche('& min(Num)&')'&' est : ')
Measure13: =if(vLangue=1,num((sum({<Num={"$(=max(Num))"}>}Expression1) - sum({<Num={"$(=min(Num))"}>}Expression1)),'# ##0')&' points', num((sum({<Num={"$(=max(Num))"}>}Expression1) - sum({<Num={"$(=min(Num))"}>}Expression1)),'# ##0')&' points')
Now make sure you depose the measures the right way:
Result:
if we select Français, It'll be translated in French:
If we select another frame of values in our chart, the narrative will automatically focus on the newly selected values:
Hope you like it !
You may use cross table to make relation like this -
Translation:
LOAD
"Index",
English,
Japanese,
French,
German,
Portuguese,
Spanish,
Bulgarian
FROM [lib://source/Translations.qvd]
(qvd);
Crosstable(Language,Text)
Load *
resident Translation;
Drop table Translation;
Language:
LOAD
_LANGUAGE as Language
FROM [lib://source/LanguageList.qvd]
(qvd);
Somehow I am not being able to see Language list in fields when it is in data.
How to remove the hidden Tag?