Skip to main content
Announcements
NEW: Seamless Public Data Sharing with Qlik's New Anonymous Access Capability: TELL ME MORE!
cancel
Showing results for 
Search instead for 
Did you mean: 
geoffrey59
Contributor II
Contributor II

Gérer les homonymes dans une dimension

Bonjour,

Je fait mes premiers pas avec Qlik Sense et ma question pourrait paraître naîve.

J'ai un modèle de données contenant une table d'entreprises.

Je souhaite afficher un graphique en barre dont la dimension est le nom de l'entreprise et les mesures sont différents indicateurs que j'empile.

Vue synthetique de mes données

Identifiant uniqueRaison socialeVilleIndicateur 1Indicateur 2
abcde1234Etablissement DUPONTParis1074
azerty1234Etablissement DUPONTLille2514
qwerty1245Etablissement DUPONTNantes8963


Si j'utilise mon identifiant unique comme dimension, j'obtient le résultat souhaité, une barre par entreprise, mais l'étiquete au bas du graphique est incompréhensible, ce n'est pas très "user-friendly".

Si j'utilise la "Raison sociale", l'affichage au bas de mon graphique est bon, mais les mesures sont totalement erronées car elles groupées sur un colonne non fiable.


Je souhaite pouvoir créer une dimension qui "affiche" la raison sociale, mais qui "groupe" sur l'identifiant unique.

J'ai beau chercher, je ne trouve pas. Soit je passe à coté de la logique de Qlik, soit je pose la mauvaise question.


Pouvez vous m'éclairer ?


merci

Correction d'une faute dans le titre

Labels (1)
1 Solution

Accepted Solutions
martinien
Partner - Contributor III
Partner - Contributor III

Bonjour Geoffrey,

Effectivement ce comportement est liée à la logique de Qlik.

Une solution est d'utiliser la fonction Dual() qui crée des valeurs qui contiennent à la fois un texte "user friendly" et un id distinct pour chaque entreprise:

LOAD

    [Identifiant unique],

    [Raison sociale],

    Dual([Raison sociale],autonumber([Identifiant unique])) as Entreprise,

    [Ville],

    [Indicateur 1],

    [Indicateur 2]

FROM [lib://ent]

(html, codepage is 1252, embedded labels, table is @1);

Ainsi, il y aura une valeur distincte du champ Entreprise par identifiant unique, mais le label sera la raison sociale

Après le problème qui se pose est celui de la lisibilité de la donnée; pour cela la solution de Boris fonctionne également très bien en permettant de créer une dimension avec des valeurs distinctes et lisibles.

Martin

View solution in original post

3 Replies
Anonymous
Not applicable

[Test]:

Load

    [Identifiant unique],

    [Raison sociale],

    [Ville],

    [Raison sociale] & ' | ' & [Ville]    As [Détail_Raison_Sociale], // A mettre en dimension

    [Indicateur 1],

    [Indicateur 2]

Inline [

Identifiant unique,Raison sociale,Ville,Indicateur 1,Indicateur 2

abcde1234,Etablissement DUPONT,Paris,10,74

azerty1234,Etablissement DUPONT,Lille,25,14

qwerty1245,Etablissement DUPONT,Nantes,89,63

]

martinien
Partner - Contributor III
Partner - Contributor III

Bonjour Geoffrey,

Effectivement ce comportement est liée à la logique de Qlik.

Une solution est d'utiliser la fonction Dual() qui crée des valeurs qui contiennent à la fois un texte "user friendly" et un id distinct pour chaque entreprise:

LOAD

    [Identifiant unique],

    [Raison sociale],

    Dual([Raison sociale],autonumber([Identifiant unique])) as Entreprise,

    [Ville],

    [Indicateur 1],

    [Indicateur 2]

FROM [lib://ent]

(html, codepage is 1252, embedded labels, table is @1);

Ainsi, il y aura une valeur distincte du champ Entreprise par identifiant unique, mais le label sera la raison sociale

Après le problème qui se pose est celui de la lisibilité de la donnée; pour cela la solution de Boris fonctionne également très bien en permettant de créer une dimension avec des valeurs distinctes et lisibles.

Martin

geoffrey59
Contributor II
Contributor II
Author

Bonjour,

merci pour vos retour,

La solution de Martin est plus approprié à ce que je souhaite faire.

J'avais déjà testé la fonction Dual(), mais j'avais entré un identifiant unique au format "string et non un chiffre", donc ce ne fonctionnait pas.

Cdt,