Skip to main content
Announcements
Introducing Qlik Answers: A plug-and-play, Generative AI powered RAG solution. READ ALL ABOUT IT!
cancel
Showing results for 
Search instead for 
Did you mean: 
MariyamS
Contributor II
Contributor II

Fonction Dual()

Bonjour la communauté,

Je voudrai savoir les avantages d'utilisation de cette fonction : Dual () .

Est ce qu'elle permet d'optimiser le script/affichage ? Physiquement, est ce que les valeurs stockées sont les valeurs numériques ou bien les chaînes de caractères ?

Brève description de la fonction :

Dual() combine un nombre et une chaîne dans un même enregistrement, de sorte que la représentation numérique de l'enregistrement puisse servir à des fins de tri et de calcul tandis que la valeur de chaîne peut être utilisée à des fins d'affichage.

Merci,

Mariyam

6 Replies
tresesco
MVP
MVP

All data in QlikView and Qlik Sense is stored as dual value

That means, for any dual value it has string representation and a numeric - qlik stores both. And for those which is not a dual it stores the string representation and for not available numeric representation - qlik stores null. I.e. -

Dual - String+Number

String - String+null

MariyamS
Contributor II
Contributor II
Author

Je vous remercie pour votre réponse.

Donc concrètement, l'utilisation de cette fonction n'a aucune valeur ajoutée sur les aspects : optimisation  du chargement de script ou bien optimisation de la navigation?

tresesco
MVP
MVP

Dual() has a different use-case at the script. For example, you have a string field that is needed to be sorted in a specific order (and not in alphabetic order). Here you can create a dual field that gives you the string at the users' eye but a number (that helps you in sort) at the back. 

Load Dual(Range, Rank) as Range;

Load * inline [

Range, Rank

<0, 0

>=0<10, 1

>10<20, 2

Above twenty, 3];

 

Now if you use this Range field in the UI, you wouldn't have to write custom expression everywhere where you need this to be sorted. That way, you optimize your app. Also, these values would be numerically comparable (>,<) that might come handy in set analysis or at other scenarios.

brunobertels
Master
Master

bonjour 

exemple de l'utilisation de dual() dans le script :

ici je veux faire des regroupements dans le script :  j'utilise la fonction dual pour ensuite controler l'ordre d'affichage de la dimension Type_ACTION en ayant dasn mon graphique cet ordre d'affichage : 

1- PROD

2- PAUSE

3 - HORS PROD

//Regroupement des temps par Type PROD PAUSE HORS PROD
if(Match(INDICATEURS,'Numérotation','Attente','Sonnerie','Appel entrant','Rappel','Appel interne','Post-travail','Saisie numéro'),
dual('PROD',1),
if( Match(INDICATEURS,'Pause','Personnelle'),dual('PAUSE',2),
if( not match(INDICATEURS,'Pause_Total','Traitement','En attente','Nbr_Appel'),dual('HORS_PROD',3)
,null()))) as TYPE_ACTION

 

brunobertels_0-1620213122918.png

options de tri : 

brunobertels_1-1620213180096.png

Du coup je force l'affiche en fonction de l'ordre de dual plutôt que d'avoir l'ordre basé sur le chargement de donné ou d'avoir a écrire une expression complexe pour forcer l'ordre 

MariyamS
Contributor II
Contributor II
Author

Je vous remercie pour votre retour.

En fait, nous cherchons à optimiser l'affichage de nos applications pour raccourcir les délais de calcul ou de filtre.

Nous nous sommes tournés vers la fonction Dual () qui semble pouvoir stocker des valeurs numériques associées à des valeurs textuelles mais n'avons pas constaté d'amélioration à son utilisation.

En effet, on constate au niveau du modèle que c'est la valeur textuelle qui est stockée alors que nous avons compris que pour optimiser l'application c'est la valeur numérique qui doit être stockée (pour faciliter la recherche).

Est ce que vous auriez plus d'informations là-dessus ?

 

Merci beaucoup

 

brunobertels
Master
Master

Bonjour , 

Regarde du coté de la fonction autonumber() plutot que dual() : 

https://help.qlik.com/fr-FR/sense/February2021/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegu...