Qlik Community

Groupe des Utilisateurs Francophones

Announcements
Submit your remarkable customer story for the Global Transformation Awards at QlikWorld Denver 2022. SUBMIT A STORY
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Calcul d'expression à partir de 2 dimensions décorrélées

Bonjour,

J'ai dans mon modèle 2 tables, contenant chacune, entre autre, un champ date, un identifiant, et plusieurs indicateurs :

Table A (dateA, identifiantA, indicateur1, indicateur2)

------------------------------------------------------

'20/07/2017', 'idA1', '0', '1'

'20/07/2017', 'idA2', '1', '1'

'21/07/2017', 'idA3', '1', '1'

'21/07/2017', 'idA4', '1', '0'

'22/07/2017', 'idA5', '0', '1'

'23/07/2017', 'idA6', '1', '0'

Table B (dateB, identifiantB, indicateur3)

-------------------------------------

'20/07/2017', 'idB1', '1'

'21/07/2017', 'idB2', '1'

'22/07/2017', 'idB3', '0'

'22/07/2017', 'idB4', '1'

'22/07/2017', 'idB5', '1'

'23/07/2017', 'idB6', '0'

'23/07/2017', 'idB7', '1'

J'ai également une table de fait, qui créer un lien entre mes deux tables

Table Fait (identifiantA, identifiantB)

---------------------------------------

'idA1', 'idB2'

'idA1', 'idB3'

'idA2', 'idB1'

'idA2', 'idB2'

'idA3', 'idB4'

...

Je souhaite créer un tableau  qui pour chaque date (DateA & DateB), m'indique le nombre d'enregistrement avec chaque indicateur ayant la valeur 1, et celà, indépendamment du lien créé par ma table de fait.

Tableau (date, nb indicateur1, nb indicateur2, nb indicateur3)

---------------------------------------------------------------------------------

'20/07/2017', 1, 2, 1

'21/07/2017', 2, 1, 1

'22/07/2017', 0, 1, 2

'23/07/2017', 1, 0, 1

Je sais que dans l'idéal, il me faudrait dans ma table de fait, créer un seul champ date qui me permettrait ensuite de réaliser facilement mes calculs. Cependant, au vu de mon nombre de données très importants dans chacune de mes table A & B (plusieurs centaines de milliers), ça me générerait un nombre astronomique d'enregistrements qui me ralentirait beaucoup trop l'application.

J'essaie donc de trouver une autre solution.

J'aimerais donc créer un tableau simple, avec le champ dateA comme dimension.

Je calcule mes expressions nb indicateur1, nb indicateur2 de la manière suivante :

count({<indicateur1={'1'}>} identifiantA)

count({<indicateur2={'1'}>} identifiantA)

Et pour mon expression nb indicateur3, je voulais calculer le nombre d'identifiantB, avec mon indicateur='1', pour lesquels dateB=dateA

count({<indicateur3={'1'}, dateA=, dateB=dateA>} total identifiantB)

Malheureusement, cela ne fonctionne que si je sélectionne, dans ma sélection active le champ dateA.

2017-07-25_08h43_44.png

2017-07-25_08h44_03.png

Est-ce que ce que je souhaite faire est faisable ?

Si oui, comment m'y prendre ?

A savoir que je travaille actuellement sous QlikView pour trouver plus facilement la formule adéquate, mais l'objectif final est de créer un histogramme combiné dans Qliksence

Merci d'avance pour vos conseils.

1 Reply
kevinchevrier
Partner
Partner

Bonjour Emilie,

Tu devrais faire un left join de ta TABLE A et de ta TABLE B. Tu renommes DateA par Date et DateB par Date. Ainsi, tu auras bien la même référence de date.

Une fois le left join effectué, tu pourras faire ta 3ème formule comme cela :

count({<indicateur3={'1'}>} identifiantB)

Kevin