Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
jmialoundama
Specialist
Specialist

Count fonction

Bonjour,

Je bloque sur l'utilisation de la fonction count.

Voila je souhaiterai compter le nombre de produits de type "coffret" que possède un magasin.

Mon application est dynamique, j'utilise des variables qui vont chercher et compter les coffrets par année, mois, semaine précédente et jour précédent.

Voici la formule que j'utilise :

if($(vPeriode)=0,

Count({$<[Cd. Rayon (ref)]={'1'}>}{<$(varSetAn)>})

             ,

     if($(vPeriode)=1,

     Count({$<[Cd. Rayon (ref)]={'1'}>}{<$(varSetMois)>})

             ,

    if($(vPeriode)=2,

          Count({$<[Cd. Rayon (ref)]={'1'}>}{<$(varSetS_1)>})

                 ,

                 if($(vPeriode)=3,

          Count({$<[Cd. Rayon (ref)]={'1'}>}{<$(varSetHier)>})

                ,

                    Count(TOTAL({$<[Cd. Rayon (ref)]={'1'}>})

      )

  )

)

)

Et voici ce que j'obtiens dans mon tableau:

Capture.PNG

1 Solution

Accepted Solutions
sfatoux72
Partner - Specialist
Partner - Specialist

‌Te rends-tu compte que dans la même réponse tu me dis que varSetAn vaut 2018 et à la fin tu me dit qu ça vaut [Année (cal)] = {"2018"}

Count({$<[Cd. Rayon (ref)]={'1'}, $(varSetAn)>} [Cd. Rayon (ref)])

J’avaIs ajout le nom des champs suite à ta réponse sur le contenu de varSetMois

View solution in original post

22 Replies
YoussefBelloum
Champion
Champion

Bonjour,

pourrait tu ajouter plus de détails, comme les expressions des variables: vPeriode, varSetAn, varSetMois, varSetS_1, varSetHier


et si possible la structure de ta table

sfatoux72
Partner - Specialist
Partner - Specialist

‌Bonjour Juliana,

2 remarques sur tes Count :

  1. Tu ne précises pas ce qui doit être compté
  2. Ton set analysis n’est pas bien écrit

Voici la syntax correcte :

COUNT({$<champ1AFiltrer = {'valeurText'}, champ2AFiltrer = {valeurNumerique}>} champACompter)

Ton premier Count devrait plutôt être comme ceci :

Count({$<[Cd. Rayon (ref)]={'1'}, $(varSetMois)>} champACompter)



Cela dépend bien sûr de ce que contient la variable varSetMois, je suis parti du principe qu’elle contenait qqch comme ça:

Mois = {6}


jmialoundama
Specialist
Specialist
Author

Déjà merci pour votre retour.

En ce qui concerne la variable verSetMois, elle contient le mois courant  de la manière suivante : 2018-04

Merci Sebastien pour la correction de la syntaxe.

Mais si je souhaite compter tous les coffrets (Cd rayon =1) par magasin il faudrait que j'ecrive ma mesure comme ceci :

Count({$<[Cd. Rayon (ref)]={'1'}, $(varSetMois)>} [Cd. Rayon (ref)]) ?

sfatoux72
Partner - Specialist
Partner - Specialist

‌Oui, mais vu que ta variable ne contient pas ce que je pensais il faut l’écrire comme ceci :

Count({$<[Cd. Rayon (ref)]={'1'}, Mois = {'$(varSetMois)'}>} [Cd. Rayon (ref)])

J’ai utilisé le champ Mois, mais je te laisse adapter si ce n’est pas le bon champ.

Ce champ va changer dans tes autre Count en fonction de la granularité temporelle définie par la variable

jmialoundama
Specialist
Specialist
Author

En fait ce que je ne comprends pas très bien c'est pourquoi utiliser la dimensions "Mois" dans le Set Analysis.

En fait mon application est dynamique de la manière suivante :

Capture.PNG

En haut j'ai mis en place des button en utilisant une extension : Dès que l'on clique sur année, on doit obtenir les données de l'année en cours, quand on clique c'est le mois en cours, semaine  = semaine en cours etc etc...

En ce qui concerne la variable varSetMois, j'y apportes plus de précisions :

-Une variable  a été crée dans le script à partir de la variable varDerMois : year(Date(Today()-1)) & '-' & right('0' & num(month(Date(Today()-1))),2);

- Ensuite on dis que VarSetMois = [Année-mois (cal)] = {"$(varDernMois)"}

Cependant je tombe exactement sur les mêmes résultats pour l"année, le mois et la semaine..

sfatoux72
Partner - Specialist
Partner - Specialist

‌je t’ai bien dit de mettre le champ Mois que pour le Count que l’on traitait et que pour les autres Count il faudrait mettre un autre champ.

Lorsque tu cliques sur Année, je suppose que vPeriode =0 et que varSetAn = 2018

dans ce cas, c’est le premier Count qui va secrire comme ceci :

Count({$<[Cd. Rayon (ref)]={'1'}, Année = {$(varSetAn)}>} [Cd. Rayon (ref)])

sfatoux72
Partner - Specialist
Partner - Specialist

Tes boutons ne font que définir  des variables utilisées par ton expression

jmialoundama
Specialist
Specialist
Author

Désolée, je comprends sûrement très mal la démarche à suivre mais c'est le set analysis avec l'année ,'Mois' ,'Semaine' etc que je ne comprends.

Puis dans ma mesure j’écris le code suivant :

if($(vPeriode)=0,

Count({$<[Cd. Rayon (ref)]={'1'}, Année = {$(varSetAn)}>} [Cd. Rayon (ref)])

   ,

     0

          )

Pourquoi lui préciser "Année = {$(varSetAn)}" puisque j'ai déjà une variable mise en place qui va chercher l'année en cours qui est varSetAn.

Pourquoi le SetAnalysis suivant ne fonctionnerait pas (étant donnée que dedans je lui dis si la variable vPériode =0 (ce qui correspond à l'année) alors tu compte tous les coffrets de l'année en cours (ceci est fait en utilisant la variable varSetAn donc pourquoi écrire Année =varSetAn😞

f($(vPeriode)=0,

Count({$<[Cd. Rayon (ref)]={'1'}, Année = {$(varSetAn)}>} [Cd. Rayon (ref)])

    ,

     0

          )


Sachant que la variable varSetAn est crée de la manière suivante:

Capture.PNG

sfatoux72
Partner - Specialist
Partner - Specialist

‌ccomment s’appelle l’extension que tu utilises ?

comme ça j’irai voir ce qu’elle fait