Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
pirotfab
Creator
Creator

Somme des ventes

Bonjour, Voici le blème:

J'ai 3 fichiers table

1/ les ventes par client : avec le CA pour chaque client et pour chaque famille de produit.

2/ Une base avec les familles clients

Jusque la tout va bien si je travaille qu'avec ces deux fichiers c'est facile d'associer le client à sa famille client.

3/ Un fichier remise avec un taux qui est défini pour chaque famille client (centrale) et pour chaque famille produit.

Je souhaite donc dans qlikview avoir le CA brut et calculer le CA net (CA BRUT * (1-remise).

Je n'arrive pas à matcher les remises client/famille produit avec les ventes.
j'ai réalisé une jointure mais cela me crée une table synthétique.

Merci de votre retour
Cordialement

1 Solution

Accepted Solutions
brunobertels
Master
Master

Bonjour 

Oui erreur de ma part , la table Temp étant jointe au chargement , il ne la retrouve pas ensuite au moment du Drop table. 

De toute façon au vu de tes tables tu auras tout le temps en l'état une clé synthétique soit sur le couple (Client - Famille) soit sur le couple (Famille-Central) 

Donc je penses que le mieux et de joindre les 3 tables ensembles

 

CLIENT:
LOAD [CODE CLIENT] as CLI,
[LIBELLE CLIENT] as LIB,
CENTRALE
FROM
[C:\Users\pirot\Desktop\vax\Familles clients.xlsx]
(ooxml, embedded labels, table is Feuil1);

 

Join(CLIENT)
LOAD FAMILLE,
[CODE CLIENT] as CLI,
//[LIBELLE CLIENT],
CA
FROM
[C:\Users\pirot\Desktop\vax\ventes.xlsx]
(ooxml, embedded labels, table is Feuil1);


Join(CLIENT)
LOAD CENTRALE,
FAMILLE,
REMISE
FROM
[C:\Users\pirot\Desktop\vax\remises.xlsx]
(ooxml, embedded labels, table is Feuil1);

View solution in original post

4 Replies
brunobertels
Master
Master

Bonjour 

Avec ton script et une jointure tu ne devrais avoir que deux tables.

Or j'en vois trois 

il y en a une a décharger une fois la jointure faite 

 

essaye ceci , et vois ce que çà donne avec la clè synthétique

CLIENT:
LOAD [CODE CLIENT] as CLI,
[LIBELLE CLIENT] as LIB,
CENTRALE
FROM
[C:\Users\pirot\Desktop\vax\Familles clients.xlsx]
(ooxml, embedded labels, table is Feuil1);

// nomme la table temporaire
temp:

//join cette table a la table CLIENT
Join(CLIENT)
LOAD CENTRALE,
FAMILLE,
REMISE
FROM
[C:\Users\pirot\Desktop\vax\remises.xlsx]
(ooxml, embedded labels, table is Feuil1);

//supprime la table temporaire une fois la jointure faite 
drop table temp;

PIVOT:
LOAD FAMILLE,
[CODE CLIENT] as CLI,
//[LIBELLE CLIENT],
CA
FROM
[C:\Users\pirot\Desktop\vax\ventes.xlsx]
(ooxml, embedded labels, table is Feuil1);

 

Ou peut etre autre solution joindre les 3 tables 

pirotfab
Creator
Creator
Author

Re,

 

Merci pour le retour.

J'ai un message d'erreur lors du chargement du script.

"Table introuvable DROP TABLES statement"

La table synthétique est toujours présente.

Cdlt

brunobertels
Master
Master

Bonjour 

Oui erreur de ma part , la table Temp étant jointe au chargement , il ne la retrouve pas ensuite au moment du Drop table. 

De toute façon au vu de tes tables tu auras tout le temps en l'état une clé synthétique soit sur le couple (Client - Famille) soit sur le couple (Famille-Central) 

Donc je penses que le mieux et de joindre les 3 tables ensembles

 

CLIENT:
LOAD [CODE CLIENT] as CLI,
[LIBELLE CLIENT] as LIB,
CENTRALE
FROM
[C:\Users\pirot\Desktop\vax\Familles clients.xlsx]
(ooxml, embedded labels, table is Feuil1);

 

Join(CLIENT)
LOAD FAMILLE,
[CODE CLIENT] as CLI,
//[LIBELLE CLIENT],
CA
FROM
[C:\Users\pirot\Desktop\vax\ventes.xlsx]
(ooxml, embedded labels, table is Feuil1);


Join(CLIENT)
LOAD CENTRALE,
FAMILLE,
REMISE
FROM
[C:\Users\pirot\Desktop\vax\remises.xlsx]
(ooxml, embedded labels, table is Feuil1);

pirotfab
Creator
Creator
Author

Merci pour votre retour

 

Je vais essayer comme cela sur mon appli de base

 

Bonne journée