Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Dimension non valide sur un COUNT()

Bonjour,

Je débute sur Qlik Sense et je suis assez désorientée...

Je travaille sur une application de bibliothèque et je souhaiterais afficher un graphique du nombre de prêts par année universitaire depuis 2013. J'ai chargé sans trop de soucis le champ DATE et la CLE de la table des prêts pour la période concernée.

J'ai créé 3 mesures pour les années universitaire (2013-2014, 2014-2015...) sans problème.

J'avais pensé mettre un COUNT(CLE) en dimension mais cette dimension est non valide.

Avez-vous une idée de ce qui cloche dans mon raisonnement ou dans ma syntaxe ?

Merci de votre aide !

Fçoise

Labels (1)
1 Solution

Accepted Solutions
brunobertels
Master
Master

Re,

Alors oui et non ...

non car la syntaxe est séparée par une vigule :

Sum({$<ANNEE_SCOLAIRE=,Catégories-={'Report'},AS_ANNEE={$(=Max(AS_ANNEE)-1)}>}[Recettes CC])

et oui en fait pour dire "prend en compte la dim ANNEE_SCOLAIRE"

je vois souvent dans les set analysis pour des analyses de YTD ou MTD les dimensions du calendrier ajoutée comem ceci

Sum({$<ANNEE_SCOLAIRE=,MOIS=,SEMAINE=,Catégories-={'Report'},AS_ANNEE={$(=Max(AS_ANNEE)-1)}>}[Recettes CC])

et çà m'a fait pensé à çà

Donc çà marche cette fois ?

View solution in original post

31 Replies
flochi75
Creator III
Creator III

Bonjour Françoise,

Je ne sais pas trop ce que représente le champ "CLE" de votre table, mais me vient à l'esprit 2 choses :

     par principe, il vaut mieux ne pas faire de calcul sur une "clé", sous entendu un élément commun entre 2 tables.

     ensuite, votre champ "CLE" doit justement être un élément commun de vos 2 tables, qui fait le lien avec tous les autres champs des 2 tables...

un exemple de "CLE" :

Capture.PNG

Si vous respectez cela, pourriez-vous nous joindre votre application ou les syntaxes que vous utilisez ?

Florent.

brunobertels
Master
Master

Bonjour Françoise,

Que représente exactement le champ CLE de votre table ?

a propos de ceci :

"J'avais pensé mettre un COUNT(CLE) en dimension mais cette dimension est non valide." on ne peut pas utiliser une mesure comme dimension.

Si tu peux partager et uploader ton application ou une partie de celle ci , se sera sans doute plus aisée à la communauté de t'aider.

Bruno

Not applicable
Author

Bonjour,

    Ta dimension ne devrait pas plutôt être une date ou une période temporaire ?

    Si "CLE" représente un clef unique pour chaque prêt, et que tu souhaites connaitre le nombre de prêt sur un mois (mars 2015) par exemple il faut que tu utilise ton "COUNT" dans une mesure et non pas une dimension ou tu précise le mois (Month) de ton prêt.

David.

Not applicable
Author

Bonjour,

Ce que j'appelle le champ CLE c'est effectivement la clé primaire de ma table.

Je ne peux pas partager mon application, apparemment elle est trop lourde.

Je veux interroger une seule table pour l'instant et je cherche à afficher le nombre d'enregistrements (nombre de prêts) par période de temps donnée (années universitaires). J'ai déclaré les années universitaires en mesure et je pensais compter les enregistrements avec un COUNT(CLE).

Je n'ai récupéré de ma table que les champs CLE (clé primaire) et DATE (date du prêt), je pensais que ça suffisait.

Merci de votre aide,

Fçoise

Not applicable
Author

Bonjour,

   Essai de mettre l'année universitaire en dimension et non pas en mesure et le "count" en mesure et non pas en dimension.

   Est-ce que ça fonctionne mieux ?

David

Not applicable
Author

Ok mais je ne sais pas comment faire pour avoir la dimension "par année universitaire".

Je peux faire un intervalle correspondant à une année, par exemple 2014-2015 :

PHFPRE > 01/09/2014 and PHFPRE < 01/09/2015

Mais comment présenter par exemple avec les 3 dernières années universitaires ?

Merci !

Fçoise

brunobertels
Master
Master

Bonjour

Tu as dans ton script deux colonnes : une DATE et une CLE

Tu veux regrouper par année scolaire ton nombre de prêt ( champ CLE) avec un count(CLE)

Pour cela il te faut une dimension ANNEE SCOLAIRE avec ce format 2014-2015

Donc dans ton script il va falloir rajouter un champ ANNEE , un champ MOIS et un champ ANNEE_SCOLAIRE,

Essaye ceci dans ton script :

Set vFM = 9 ;                                                          //premier mois de l'année scolaire sept

Calendrier:

Load Dual(AS_ANNEE-1 &'/'& AS_ANNEE, AS_ANNEE) as ANNEE_SCOLAIRE,          // année scolaire double
         Dual(MOIS, "AS_MOIS")                as MOIS_ANNEE_SCOLAIRE,           // mois année scolaire double

          *;

Load ANNEE+ If(MOIS>=$(vFM), 1, 0) as AS_ANNEE,           // l'année scolaire numérique

         Mod(MOIS-$(vFM), 12)+1        as "AS_MOIS",          // mois année scolaire numérique

          *;

Load Year(DATE)                              as ANNEE,           //calendrier

Month(DATE)                            as MOIS,

Load

DATE,

CLE

from ....

flochi75
Creator III
Creator III

Bonjour Bruno,

est-ce la même syntaxe dans Qlikview ?

Merci.

brunobertels
Master
Master

Bonjour

Je pense que oui j'avais trouvé ce code ici :

https://community.qlik.com/blogs/qlikviewdesignblog/2013/05/28/fiscal-year

et importé et testé dans une app qlick sense qui marche bien pour moi

j'ai mis ce code avant de charger mes fichiers de données :

Set vFM = 9 ; //premier mois de l'année scolaire sept

Calendrier:

Load Dual(AS_ANNEE-1 &'/'& AS_ANNEE, AS_ANNEE) as ANNEE_SCOLAIRE,// année scolaire double
Dual(MOISTEST, "AS_MOIS")as MOIS_ANNEE_SCOLAIRE, // mois année scolaire double

           *;

Load ANNEETEST+ If(MOISTEST>=$(vFM), 1, 0)as AS_ANNEE,    // l'année scolaire numérique
Mod(MOISTEST-$(vFM), 12)+1 as "AS_MOIS",       // mois année scolaire numérique

           *;

Load Year(date)as ANNEETEST,      //calendrier

Month(date)as MOISTEST;

matable:

load

*

from ....