Qlik Community

Groupe des Utilisateurs Francophones

Vous êtes francophone? Ce groupe est pour vous. Venez découvrir comment démarrer avec Qlik Sense et QlikView, poser vos questions et partager vos tutos et astuces avec les membres de notre communauté.

Highlighted
jmialoundama
Contributor II

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
Valued Contributor

Re: Table temporaire script

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.

View solution in original post

8 Replies
ogautier62
Valued Contributor II

Re: Table temporaire script

si c'est bien ton script,

il semble manquer une virgule apres ton premier champ rupture_achat

cdt

jmialoundama
Contributor II

Re: Table temporaire script

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
Valued Contributor II

Re: Table temporaire script

bizarre, l'erreur est peut être ailleurs,

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

jmialoundama
Contributor II

Re: Table temporaire script

ç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.

Partner
Partner

Re: Table temporaire script

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
Contributor II

Re: Table temporaire script

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
Valued Contributor

Re: Table temporaire script

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.

View solution in original post

jmialoundama
Contributor II

Re: Table temporaire script

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