Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
Announcements
Nov. 20th, Qlik Insider - Lakehouses: Driving the Future of Data & AI - PICK A SESSION
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

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

6 Replies
sfatoux72
Partner - Specialist
Partner - Specialist

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

essaye ca :

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

Anonymous
Not applicable
Author

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
Specialist
Specialist

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

Inscrivez vous à ma Newletter Qlik
DoNotMissQlik- Connect with me on Linkedin
Anonymous
Not applicable
Author

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
Specialist
Specialist

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

...

];

Inscrivez vous à ma Newletter Qlik
DoNotMissQlik- Connect with me on Linkedin
Anonymous
Not applicable
Author

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

...

];