Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Calcul du nombre de reprise par jour par boutique - problème avec 2 dimensions

Bonjour,

Je débute sous QV et bien entendu, j'ai un problème ! 😉

Ma situation est la suivante :

Des boutiques font des reprises de matériel. Certaines en font chaque jour, d'autres pas.

Ces boutiques sont groupées en secteurs.

Chaque secteur regroupe donc un nombre différent de boutiques.

Je veux alors avoir un graphe qui me montre,  par secteur et par jour, le nombre de reprises faites divisé par le nombre total de boutiques de chaque secteur.

En effet, il est normal que le secteur 1 fasse 10 fois plus de reprises s’il contient 10 fois plus de boutiques que le secteur 2…

Lors du script d’extraction des données, je travaille comme suit :

- d’un côté je lie forcément une reprise à une boutique.

- d’un autre j’extrais l’ensemble des boutiques (qu'elles aient fait des reprises ou non).

J’ai donc certaines boutiques liées à une reprise, d’autres pas.

Ce faisant, je parviens à cacluler le nombre de boutiques par secteur tant que je n'introduis pas de seconde dimension.

Mais lorsque j'introduis comme seconde dimension la date de reprise, je comprends que QV filtre d’office les boutiques ayant fait une reprise et ne retient donc que celles liées à une reprises, même si je mets un Set Analysis indiquant de ne pas tenir compte des filtres sur la date.

Autrement dit, le résultat qu’il me donne est que 100% des boutiques sont actives, ce qui n’est pas le cas…

Comme un exemple vaut mieux qu'un long discours :

- Le secteur 1 a 3 boutiques

- Le secteur 2 a 2 boutiques

- Le jour 1 j'ai 10 reprises pour le secteur 1 et 5 reprises pour le secteur 2

- Le jour 2 j'ai 20 reprises pour le secteur 1 et 15 reprises pour le secteur 2

- Pour le secteur 1, seule 1 boutique a fait des reprises pour les jours 1 et 2

- Pour le secteur 2, seule 1 boutique a fait des reprises pour les jours 1 et 2

Si je calcule le nombre de reprises et le nombre de boutiques par secteur, j'arrive bien à :

- Nombre de reprises pour le secteur 1 : 30

- Nombre de boutiques pour le secteur 1 : 3 (malgré qu'une seule ait fait des reprises)

- Nombre de reprises pour le secteur 2 : 20

- Nombre de boutiques pour le secteur 2 : 2 (malgré qu'une seule ait fait des reprises)

Mais lorsque j'introduis la dimension de temps, cela devient :

Jour 1

- Nombre de reprises pour le secteur 1 : 10

- Nombre de boutiques pour le secteur 1 : 1 ==> c'est là qu'est l'erreur : QV affiche le nombre de boutiques qui ont fait des reprises, et non le nombre total de boutiques du secteur. Je devrais avoir 3.

- Nombre de reprises pour le secteur 2 : 20

- Nombre de boutiques pour le secteur 2 : 1 ==> Idem, je devrais avoir 2

Jour 2

- Nombre de reprises pour le secteur 1 : 20

- Nombre de boutiques pour le secteur 1 : 1 ==> Idem, je devrais avoir 3

- Nombre de reprises pour le secteur 2 : 15

- Nombre de boutiques pour le secteur 2 : 1 ==> Idem, je devrais avoir 2

Je ne change absolument rien à mon expression, la seule chose que je fais est d'introduire la dimension "date", et cela fausse mes résultats.

En espérant que mon explication est claire, quelqu'un aurait-il une idée de comment je pourrais solutionner cela ?

Merci d'avance,

Olivier

7 Replies
christophebrault
Specialist
Specialist

Bonjour,

La description de ton problème est très claire, mais pour pouvoir y répondre efficacement, peux tu montrer le modèle de ton application (visionneur de table). Cela permettra aux membres de voir les champs et comment ils sont liés. Les problèmes de calculs viennent souvent d'un problème dans le modèle de données utilisé.

Le mieux, c'est de partager un qvw exemple de ton application (en brouillant les champs confidentiels par exemple).

A bientôt

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

Merci.

Ci-joint le modèle.

Comme je disais, on extrait tous les "companyid", qu'ils soient liés ou non à un "itemid" ; et on lie alors les companyid qui ont fait une reprise (donc qui sont liées à un itemid).

Merci pour votre aide,

Olivier

christophebrault
Specialist
Specialist

Désolé, mais sans voir le nom des champs complets et ceux utilisé dans l'expression, je ne vois pas ...

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

Evidemment...

En gros, mon expression est la suivante :

(count({ } distinct companyname))

où WEEKTI représente la semaine où la reprise a eu lieu, companytype

représente le type de compagnie (je ne dois retenir que les boutiques) et

companyname représente le nom (unique) de la boutique.

J'ai mis ce set analysis pour éviter que, si je fais un filtre sur la

semaine de reprise, le nombre calculé de boutiques ne change.

Et ça se passe très bien tant que je n'ai qu'une dimension (autre que la

semaine de reprise).

Par exemple, si je veux visualiser le nombre de boutiques par catégorie, je

vois que j'ai 563 boutiques propres (own stores) et 260 dealers :

Mais, si sans modifier mon expression, j'introduis une seconde dimension,

la semaine de reprise (weekti), rien en va plus...

Je vois que pour les dealers, en semaine 35, j'ai 78 boutiques alors qu'en

fait, je devrais en avoir 260 chaque semaine !

Le nombre 78 représente en fait le nombre de boutiques qui ont fait des

reprises durant cette semaine, et pas le nombre total de boutiques de cette

catégorie...

Ca t'aide à y voir clair ?

Merci pour ton aide...

On Thu, Sep 5, 2013 at 1:53 PM, Christophe Brault

christophebrault
Specialist
Specialist

Si tu ajoute TOTAL avant ton DISTINCT ?

Sinon, met tes expressions en entier (avec les set analysis) stp

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

J'ai essayé avec le TOTAL, mais ça ne donne pas ce que je veux...

En effet, je veux avoir le nombre de boutiques propres (soit 563) et le

nombre de dealers (soit 260).

Avec le TOTAL, j'ai partout 823...

Voici l'expression complète, je filtre sur un paquet de champs relatifs à

des dates (jours, semaines mois....)

(count({ } distinct companyname))

Merci,

On Thu, Sep 5, 2013 at 3:25 PM, Christophe Brault

christophebrault
Specialist
Specialist

Si tu as une dimension CompanyType dans ton tableau, il faut faire :

TOTAL<CompanyType > à la place de total.

Partage ton qvw et brouille les champs (paramètres du document) si ça ne marche pas, c'est le plus simple pour obtenir rapidement une réponse qui marche de la Community.

Bon courage

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