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 if expression

Bonjour,

J'ai le tableau suivant et j'aimerai appliquer la formule suivante :

if [_Rupture stock ]=1 then number [_Rupture stock]/ number of [Nom magasin]

AND

if [_Rupture stock ]=0 then  number [_Rupture stock]/ number of [Nom magasin]


J'ai un set analysis et j'ai essayé d'appliquer la formule suivante , mais elle ne fonctionne pas :

If({$<Jour={'$(varMaxDateSelection)'},[Cd. Type stock]={'MAG'}>} [_Rupture stock]=1,Count([_Rupture stock])/Sum([Nom magasin]),[_Rupture stock])

Produits                 Mag 1     Mag 2       Mag 3

PRODUIT 1               0                0               0

PRODUIT 2               1                1               0

PRODUIT  3               0                1               1

PRODUIT 4               1                1               1

PRODUIT 5               0                0               1

Merci d'avance pour vos retours

1 Solution

Accepted Solutions
jmialoundama
Specialist
Specialist
Author

Bonjour Florent,

Merci pour ton retour.

Après avoir cherché j'avais finalement trouvé la solution

View solution in original post

10 Replies
lcloatre
Partner - Creator III
Partner - Creator III

Si j'ai bien compris ta problématique :

Count({$<Jour={'$(varMaxDateSelection)'},[Cd. Type stock]={'MAG'},[_Rupture stock]=1 >} [_Rupture stock])/Count({1}[Nom magasin])

jmialoundama
Specialist
Specialist
Author

Effectivement ma problématique est la suivante :

Compter le nombre de produit en rupture (lorsque l'on a '1') par magasin.

J'ai un peu du mal avec les analyses d'ensemble sous Qlik.

Ainsi je souhaiterai savoir à quoi correspond le {1} :Count({1}[Nom magasin] ?

lcloatre
Partner - Creator III
Partner - Creator III

C'est pour ne pas tenir compte des sélections.

lcloatre
Partner - Creator III
Partner - Creator III

Je te recommande la lecture de ces documents :

set_analysis

Sets Analysis: syntaxes, exemples

jmialoundama
Specialist
Specialist
Author

J'ai bien analysé l'expression que vous m'avez donné et en fait ce que je souhaite c'est compter le nombre de 1 pour un produit / nombre de magasins.

Et l'expression suivante sort que des '0' :

Count({$<Jour={'$(varMaxDateSelection)'},[Cd. Type stock]={'MAG'},[_Rupture stock]=1 >}Count([_Rupture stock])/Count({1}[Nom magasin]))

Produits                 Mag 1     Mag 2       Mag 3

PRODUIT 1               0                0               0

PRODUIT 2               1                1               0

PRODUIT  3               0                1               1

PRODUIT 4               1                1               1

PRODUIT 5               0                0               1

Exemple : Pour le produit 4 la formule serait : 3/3 (il y'a 3 magasins qui n'ont plus ce produit en stock et on a

3 magasins au total) = 100%

Cependant pour le produit 3 il y'a deux magasins qui sont en rupture de stock donc la formule serait : 2/3 = 66%

lcloatre
Partner - Creator III
Partner - Creator III

Voici la formule :

=Count({<[_Rupture stock]={'1'} >} [_Rupture stock])/Count(DISTINCT(Magasin))

jmialoundama
Specialist
Specialist
Author

Cette formule fonctionne mais les taux sont improbables :

=Count({<[_Rupture stock]={'1'} >} [_Rupture stock])/Count(DISTINCT(Magasin))

Capture.JPG

Du coup j'ai essayé de passer par le script pour que ce soit moins compliqué avec les analyses d'ensemble mais j'ai l'erreur suivante :

Temp_Fait:

LOAD *,

if(([_Quantité stock]=0), 1 , 0) as "_Rupture stock"

FROM 'lib://QVData/Fait.qvd' (qvd)

WHERE [Id. Magasin] <>23;

Fait:

NoConcatenate

Load *,

if(([_Rupture stock ]=1),Count([_Rupture stock])/Count([Id. Magasin]),[_Rupture stock]) as "_Tx rupture achat",

if(([_Rupture stock ]=0),Count([_Rupture stock])/Count([Id. Magasin]),[_Rupture stock]) as "_Tx rupture entrepot"

Resident Temp_Fait

WHERE [Id. Magasin] <>23;

Drop Table Temp_Fait;



Capture8.JPG


flochi75
Creator III
Creator III

Bonjour Julianna,

et si ut essayais de mettre des [] à tes champs as..

if(([_Quantité stock]=0), 1 , 0) as "[_Rupture stock["


...

stock]) as "[_Tx rupture achat]",

...

stock]) as "[_Tx rupture entrepot]"


Florent

jmialoundama
Specialist
Specialist
Author

Bonjour Florent,

Merci pour ton retour.

Après avoir cherché j'avais finalement trouvé la solution