Qlik Community

Groupe des Utilisateurs Francophones

Announcements
June 28, 10AM ET: Qlik Nation and Qlik Community present: CyberSleuth REGISTER TODAY
cancel
Showing results for 
Search instead for 
Did you mean: 
jmialoundama
Creator III
Creator III

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
Creator III
Creator III
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
Partner

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
Creator III
Creator III
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
Partner

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

lcloatre
Partner
Partner

Je te recommande la lecture de ces documents :

set_analysis

Sets Analysis: syntaxes, exemples

jmialoundama
Creator III
Creator III
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
Partner

Voici la formule :

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

jmialoundama
Creator III
Creator III
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
Creator III
Creator III
Author

Bonjour Florent,

Merci pour ton retour.

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