Qlik Community

Groupe des Utilisateurs Francophones

Vous êtes francophone? Ce groupe est pour vous. Venez découvrir comment démarrer avec Qlik Sense et QlikView, poser vos questions et partager vos tutos et astuces avec les membres de notre communauté.

Highlighted
geoffrey59
New Contributor

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

1 Solution

Accepted Solutions
martinien
New Contributor III

Re: Gérer les homonymes dans une dimension

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

3 Replies
borislepage
New Contributor III

Re: Gérer les homonymes dans une dimension

[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
New Contributor III

Re: Gérer les homonymes dans une dimension

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
New Contributor

Re: Gérer les homonymes dans une dimension

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,