Skip to main content
Announcements
Global Transformation Awards! Applications are now open. Submit Entry
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

22 Replies
jmialoundama
Specialist
Specialist
Author

Le nom de l'extension est "QS Variable " : https://github.com/erikwett/qsVariable

sfatoux72
Partner - Specialist
Partner - Specialist

‌ok, donc c’est bien ce que j’avais compris, ton extension mais uniquement à jour la variable vPeriode.

Maintenant, dit moi ce que retour la variable varSetAn. ?

jmialoundama
Specialist
Specialist
Author

la variable varSetAn retourne l'année en cours, c'est à dire 2018.

Elle récupère les données de la variable varDernAn que l'on crée dans le script de la manière suivante :

varDernAn=year(Date(Today()-1));

Puis dans le rapport on crée une variable varSetAn en lui mettant ceci :

[Année (cal)] = {"$(varDernAn)"} 

(Année mois (cal) est une colonne de ma table calendrier)

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

jmialoundama
Specialist
Specialist
Author

Oui j'ai repris l'application d'une personne qui était prestataire avant qui l'a fait.

Et il a procédé comme ceci de base, c'est à dire crée une variable dans le script qui récupère l'année précédente pour ensuite aller récupérer l'année précédente dans la colonne Annee (cal) de la table calendrier;

Je ne sais pas pourquoi ça a été fait comme ça..

Mais vraiment merci pour ton aide

sfatoux72
Partner - Specialist
Partner - Specialist

‌ca fonctionne correctevent maintenant ?

jmialoundama
Specialist
Specialist
Author

Non j'ai toujours les mêmes données pour l'année en cours, le mois en cours, la semaine précédente

sfatoux72
Partner - Specialist
Partner - Specialist

‌la donné [Cd. Rayon (ref)]  à bien un lien avec le calendrier dans ton modèle.

jmialoundama
Specialist
Specialist
Author

Oui elles ont un lien dans ma table de fait.

Dans cette table figure la clé du produit et le jour (au format JJ/MM/AAAA)

christophebrault
Specialist
Specialist

Juliana Mialoundama a écrit:

Oui j'ai repris l'application d'une personne qui était prestataire avant qui l'a fait.

Et il a procédé comme ceci de base, c'est à dire crée une variable dans le script qui récupère l'année précédente pour ensuite aller récupérer l'année précédente dans la colonne Annee (cal) de la table calendrier;

Je ne sais pas pourquoi ça a été fait comme ça..

Mais vraiment merci pour ton aide

Bonjour,

A priori, la personne avant toi avait une expérience limitée sur l'utilisation de Qlik, voilà tout.

Je ne vois pas du tout l'intérêt de complexifié les expressions avec des variables alors qu'il s'agit juste de faire des calculs sur des périodes différentes en fonction de la valeur retournée par l'extension.

Soit tu stocke tout ton count dans une variable et tu fais :

if($(vPeriode)=0, $(vCountAnnée),

     if($(vPeriode)=1,$(vCountMois), etc...

Soit tu passes toute ton expression dans le if. Ou tu met même tout ton if() en variable.

Sauf cas métier précis, il n'y a pas d'intérêt à figer la valeur de l'année depuis le script, sauf à casser l'associativité.

Inscrivez vous à ma Newletter Qlik
DoNotMissQlik- Connect with me on Linkedin