Qlik Community

Groupe des Utilisateurs Francophones

cancel
Showing results for 
Search instead for 
Did you mean: 
jmialoundama
Creator III
Creator III

Table temporaire script

Bonjour,

J'essaye de créer deux indicateurs 'Taux entrepôt' et 'Taux achat' à partir du script dans Qlik, cependant j'ai l'erreur suivante :

Capture8.JPG

Voici mon script de chargement :

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;


Merci d'avance

1 Solution

Accepted Solutions
christophebrault
Specialist
Specialist

Tu ne peux pas utiliser de fonctions d'aggrégation (count()) dans le script si il n' y a pas de Group BY dans le Resident

Je précise que ma réponse est juste pour donner une piste sur le débug du script. De ce que j'ai compris du besoin fonctionnel, ce n'est pas à faire dans le modèle mais dans les expressions de calcul.

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

View solution in original post

8 Replies
ogautier62
Specialist II
Specialist II

si c'est bien ton script,

il semble manquer une virgule apres ton premier champ rupture_achat

cdt

jmialoundama
Creator III
Creator III
Author

Bonjour Olivier,

Merci pour ta réponse.

En fait je me suis trompée dans l'envoie du script.

Le bon script est le suivant :

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;

J'ai toujours la même erreur.

ogautier62
Specialist II
Specialist II

bizarre, l'erreur est peut être ailleurs,

mets des flags dans ton script voir ou ça plante exactement

jmialoundama
Creator III
Creator III
Author

ça plante à cette ligne :

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


il dit qu'il ne connait pas le champs _Rupture stock alors que je crée bien ce champs dans la table temporaire.

lcloatre
Partner
Partner

J'ai ajouté un Noconcatenate sur la table Temp_Fait.

Peux-tu essayer avec ce script ?

Temp_Fait:

NoConcatenate

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;

Drop Table Temp_Fait;

jmialoundama
Creator III
Creator III
Author

Re Bonjour Laurent,

Merci pour ta réponse.

Du coup j'ai essayé d'apporter les modifications que tu m'as donné au script et j'ai l'erreur suivante maintenant :

Temp_Fait:

Capture.JPG

Alors que je mets bien place ce script :

Temp_Fait:


NoConcatenate

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"

Resident Temp_Fait;


Drop Table Temp_Fait;

christophebrault
Specialist
Specialist

Tu ne peux pas utiliser de fonctions d'aggrégation (count()) dans le script si il n' y a pas de Group BY dans le Resident

Je précise que ma réponse est juste pour donner une piste sur le débug du script. De ce que j'ai compris du besoin fonctionnel, ce n'est pas à faire dans le modèle mais dans les expressions de calcul.

Inscrivez vous à ma Newletter Qlik
DoNotMissQlik- Connect with me on Linkedin
jmialoundama
Creator III
Creator III
Author

Effectivement après des recherches j'ai vu qu'il fallait utiliser un group by

Mais du coup j'ai travailler avec une expression et les analyses d'ensemble.

Merci encore pour ta réponse