Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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:
Le nom de l'extension est "QS Variable " : https://github.com/erikwett/qsVariable
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. ?
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)
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
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
ca fonctionne correctevent maintenant ?
Non j'ai toujours les mêmes données pour l'année en cours, le mois en cours, la semaine précédente
la donné [Cd. Rayon (ref)] à bien un lien avec le calendrier dans ton modèle.
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)
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é.