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

Dimension hiérarchique colorisation

Bonjour

J'ai des familles d'articles avec 2 niveaux de sous famille :

  • Matières premières
  • Produits Intermédiaires
  • Négoce
  • Produits finis
    • Surgélation
      • Cellule de surgélation
      • Surgélateur
      • Tunnel de surgélation
    • Conservation
      • Armoire de conservation positive
      • Armoire de conservation négative
      • Conservateur positif
      • Conservateur négatif
    • Fermentation
      • Armoire de fermentation à grilles
      • Armoires de fermentation à chariots
      • Chambres de fermentation à grilles
      • Chambres de fermentation à filets

Chaque sous famille à une couleur, ex surgélation : bleu; conservation:vert; fermentation:jaune

Chaque sous sous famille à la couleur de la famille parent avec une opacité différente.

J'ai fait un graphique en secteur sur les produits finis pour indiquer les quantités vendues pour chaque sous sous famille (niveau 3). (dimension sous famille, mesure qté vendue)

Tout fonctionne bien, mais j'aimerais bien que mes éléments soient triés par sous-famille (niveau2) pour avoir un graphique avec tous les différents bleu à côtés, puis tous les différents jaunes à côtés puis tous les différents verts à côté par soucis de lisibilité.

Dans le volet "Tri" j'ai donc mis la "sous-famille" en premier et la quantité en 2eme.

J'ai essayé de mettre une expression de tri sur la famille niveau 2 mais ça ne fonctionne pas.

Comment dois-je procéder ?

D'avance merci

Tags (2)
6 Replies
sfatoux72
Valued Contributor

Re: Dimension hiérarchique colorisation

‌je pense que ton expression doit retourner une valeur numérique

essaye ca :

=Aggr(Sum(Quantity), [Family Article2])

s_guyennon
New Contributor III

Re: Dimension hiérarchique colorisation

merci, mais ça ne fonctionne pas. J'obtiens toujours des familles séparées.

Voici ma formule

=Aggr($(HQuantityInvoicesSales), [Family Article2])

$(HQuantityInvoicesSales) = sum ({$<[_Type Movement]={'Sales'},[Origin Article]={'Article'}, [Type Register_id]={'5'}, [Mot cle]-={'SAV'}, [Family Article]={'PF-HENGEL'}>}Quantity)

Voici comment est construit ma dimension hiérarchique

Niveau 1 =only({<[Family Article]={'PF-HENGEL'} >}[Family Article2])

Niveau 2  = [Family Article3]

christophebrault
Valued Contributor

Re: Dimension hiérarchique colorisation

Bonjour,

Pour gérer l'ordre de tri de libellés comme tes familles, et quand toutes tes valeurs sont connues comme c'est le cas, tu peux utiliser la fonction Dual dans le script :

Map_Tri_SsFamille:

MAPPING

LOAD * INLINE [

Cellules surgélation,1

Surgélateur,2

Tunnel de surgélation,3

Conservateur positif,4

Conservateur négatif,5

etc...

];

Dans le chargement de ta table tu modifie  ton champ :

LOAD dual([Famille Article2],Applymap('Map_Tri_SsFamille',[Famille Article2]) as [Famille Article2]

Ensuite dans les proriété de tri tu à simplement à trier en nombre sur cette dimension

s_guyennon
New Contributor III

Re: Dimension hiérarchique colorisation

Merci j'ai créé la table de Mapping, je comprends l'idée mais je ne comprends pas trop sur quelle table mettre ce code ?

LOAD dual([Famille Article2],Applymap('Map_Tri_SsFamille',[Famille Article2]) as [Famille Article2]


Sinon je peux rajouter un champ ordre dans ma table de couleur et faire un tri dessus ?


COULEUR_SUBFAMILY:

Load * inline [

Family Article3, A_Family3, R_Family3, V_Family3, B_Family3, ordre

    SURGEL-MOD-600X800, 150,48, 123, 191,1

    SURGEL-MOD-600X400, 150,48, 123, 191,2

SURGEL-NON-MOD-600X800, 120, 48, 123, 91,3

    SURGEL-NON-MOD-600X400, 120,48, 123, 191,4

TUNNEL-SURGELATION, 240 ,48, 123, 191,5

...

];

christophebrault
Valued Contributor

Re: Dimension hiérarchique colorisation

Oui, ou ci dessous j'ai adapté le script :

Map_Tri_SsFamille:

MAPPING

LOAD * INLINE [

Lib,Num

Cellules surgélation,1

Surgélateur,2

Tunnel de surgélation,3

Conservateur positif,4

Conservateur négatif,5

etc...

];

COULEUR_SUBFAMILY:

LOAD

Dual("Family Article3", Applymap('Map_Tri_SsFamille',"Family Article3")) as "Family Article3"

A_Family3,

R_Family3,

V_Family3,

B_Family3

;

Load * inline [

Family Article3, A_Family3, R_Family3, V_Family3, B_Family3, ordre

    SURGEL-MOD-600X800, 150,48, 123, 191,1

    SURGEL-MOD-600X400, 150,48, 123, 191,2

SURGEL-NON-MOD-600X800, 120, 48, 123, 91,3

    SURGEL-NON-MOD-600X400, 120,48, 123, 191,4

TUNNEL-SURGELATION, 240 ,48, 123, 191,5

...

];

s_guyennon
New Contributor III

Re: Dimension hiérarchique colorisation

du coup j'ai fait ceci.Ca me paraît plus simple qu'avec la fonction Dual. Mais merci quand même ça m'a permis de découvrir cette fonction.

COULEUR_SUBFAMILY:

Load * inline [

Family Article3, A_Family3, R_Family3, V_Family3, B_Family3, ordre

    SURGEL-MOD-600X800, 150,48, 123, 191,1

    SURGEL-MOD-600X400, 150,48, 123, 191,2

SURGEL-NON-MOD-600X800, 120, 48, 123, 91,3

    SURGEL-NON-MOD-600X400, 120,48, 123, 191,4

TUNNEL-SURGELATION, 240 ,48, 123, 191,5

...

];