Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour,
J'ai mis en place la table suivante dans mon script de chargement :
Dim_Rupture:
LOAD
[Id. Magasin],
if(sum([_Quantité stock]=0),1,0) as "_Rupture stock"
FROM [lib://QVData/Fait.qvd]
(qvd)
Group by [Id. Magasin];
Je souhaiterai que l'indicateur "_Rupture stock" soit considéré comme une mesure et non une dimension.
Lorsque j'utilise cet objet dans un tableau, il apparait en tant que dimension et non en tant que mesure.
Comment puis-je procéder sous Qlik Sense pour que l'objet soit une mesure ?
Merci d'avance
Je suis finalement passé par le script en faisant en reprenant ce qui existait dans la table de fait et ça fonctionne :
Fait:
LOAD *,
if(([_Quantité stock]=0), 1 , 0) as "_Rupture stock"
FROM 'lib://QVData/Fait.qvd' (qvd) ;
Merci pour vos piste en tout cas
J'aurais une derniere question : Je souhaiterai me servir de cette indicateur "_Rupture stock" pour calculer un nouvelle indicateur dans le script qui s'appelle "Taux rupture".
J'ai essayé ceci dans le script :
Fait:
LOAD *,
if(([_Quantité stock]=0), 1 , 0) as "_Rupture stock"
//if(([_Rupture stock]=1), count([_Rupture stock])/sum([Nom magasin]),[_Rupture stock]) as "_Tx rupture entrepôt",
//if(([_Rupture stock]=0), count([_Rupture stock])/sum([Nom magasin]),[_Rupture stock]) as "_Tx rupture entrepôt"
FROM 'lib://QVData/Fait.qvd' (qvd) ;
Mais j'ai le message d'erreur suivant qui me dit que le champs "_Rupture stock" n'existe pas, doit-je donc passer par une table tmp ou autres ?
Bonjour,
As-tu essayé ceci :
Dim_Rupture:
LOAD
[Id. Magasin],
1 as "_Rupture stock"
FROM [lib://QVData/Fait.qvd]
(qvd)
Group by [Id. Magasin]
having sum([_Quantité stock])=0;
LOAD
[Id. Magasin],
0 as "_Rupture stock"
FROM [lib://QVData/Fait.qvd]
(qvd)
Group by [Id. Magasin]
having sum([_Quantité stock])>0;
Bonjour Laurent,
Oui j'ai essayé après la vu de votre message et voici l'erreur que j'ai au niveau du script :
Autre solution :
Temp_Dim_Rupture:
LOAD
[Id. Magasin],
sum([_Quantité stock]) as Quantite
FROM [lib://QVData/Fait.qvd]
(qvd)
Group by [Id. Magasin];
Dim_Rupture:
Noconcatenate
LOAD
[Id. Magasin],
1 as "_Rupture stock"
resident Temp_Dim_Rupture
where Quantite = 0;
LOAD
[Id. Magasin],
0 as "_Rupture stock"
resident Temp_Dim_Rupture
where Quantite > 0;
drop table Temp_Dim_Rupture;
Bonjour
Voir ce post ou Sunny indique que having et group by ne vont pas forcement ensemble
Group By and Having Clause in Qlikview
Et l'idée et d'utiliser un preceding load ; si j'ai bien tout compris ( ce qui est moins sur )
Dim_Rupture:
LOAD *
WHERE _Quantité stock=0
;
LOAD
[Id. Magasin],
if(sum([_Quantité stock]=0),1,0) as "_Rupture stock"
FROM [lib://QVData/Fait.qvd]
(qvd)
Group by [Id. Magasin];
LOAD *
WHERE _Quantité stock>0
;
LOAD
[Id. Magasin],
if(sum([_Quantité stock]=0),1,0) as "_Rupture stock"
FROM [lib://QVData/Fait.qvd]
(qvd)
Group by [Id. Magasin];
Bonjour Bruno,
Merci pour ton retour.
J'ai refais un poste pour être plus clair dans ce que je voulais.
Mais je comprends pas très bien ce que fais ton script de chargement.
Mais en fait je souhaite juste réaliser une mesure qui dit :
Si le magasin a encore du stock pour un produit alors 0 sinon 1 (rupture de stock)
Voila le tableau que je souhaiterai obtenir sous Qlik :
J'ai réussi à avoir la formule qui me sors ce que je souhaite, cependant Qlik Sense n'arrive pas à réaliser d’agrégation (colonne totaux):
Sachant que en dimension j'ai :
-Nom magasin
- Univ/Produit : Qui est une dimension hiérarchique
Bonjour
Si c'est un TCD , plutôt que de cocher afficher colonne total
Rajoute une colonne mesure avec en mesure
Sum(Column(1)) + sum(column(2)) etc
Bruno
Je suis finalement passé par le script en faisant en reprenant ce qui existait dans la table de fait et ça fonctionne :
Fait:
LOAD *,
if(([_Quantité stock]=0), 1 , 0) as "_Rupture stock"
FROM 'lib://QVData/Fait.qvd' (qvd) ;
Merci pour vos piste en tout cas
J'aurais une derniere question : Je souhaiterai me servir de cette indicateur "_Rupture stock" pour calculer un nouvelle indicateur dans le script qui s'appelle "Taux rupture".
J'ai essayé ceci dans le script :
Fait:
LOAD *,
if(([_Quantité stock]=0), 1 , 0) as "_Rupture stock"
//if(([_Rupture stock]=1), count([_Rupture stock])/sum([Nom magasin]),[_Rupture stock]) as "_Tx rupture entrepôt",
//if(([_Rupture stock]=0), count([_Rupture stock])/sum([Nom magasin]),[_Rupture stock]) as "_Tx rupture entrepôt"
FROM 'lib://QVData/Fait.qvd' (qvd) ;
Mais j'ai le message d'erreur suivant qui me dit que le champs "_Rupture stock" n'existe pas, doit-je donc passer par une table tmp ou autres ?