Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour,
Je ne comprend pas pourquoi ce script me ramène une erreur :
Directory;
LOAD
Region,
Volume,
CA_Annuel,
sum(CA_Annuel) as CA_Total
FROM
[Fichiers pour exercices.xlsx]
(ooxml, embedded labels, table is Ventes )
Where sum(CA_Annuel)<10000
Group by Region;
Pouvez-vous m'aider?
Merci
Anne-Flore
Non,
Car tu ne peux pas utiliser une fonction d'agrégation dans un Where.
Si c'était une connexion à une base de données, tu aurais pu utiliser Having sum(CA_Annuel<10000).
Mais dans le cas d'un fichier ou d'une table interne, tu dois utiliser un LOAD antérieure, comme ci-dessous:
Directory;
LOAD * Where CA_Total<10000;
LOAD
Region,
sum(CA_Annuel) as CA_Total
FROM
[Fichiers pour exercices.xlsx] (ooxml, embedded labels, table is Ventes )
Group by Region;
Bonjour Flore,
Lorsque tu fait un "group by", tous les champs qui ne font pas partie de ton "group by" doivent être agrégé () .
Dans ton cas, un seul champ fait partie du group by ==> Region
Donc sum(CA_Annuel) est correct, mais les CA_Annuel et Volume ne sont pas agrégés, donc ==> erreur
Que veut tu faire exactement?
Bonjour Sébastien,
Je veux juste calculer le CA annuel par région et exclure celles pour lesquelles le Ca annuel est inférieur à 10000.
D'après ce que tu me dis, il faudrait plutôt le script suivant :
Directory;
LOAD
Region,
sum(CA_Annuel) as CA_Total
FROM
[Fichiers pour exercices.xlsx]
(ooxml, embedded labels, table is Ventes )
Where sum(CA_Annuel)<10000
Group by Region;
Non,
Car tu ne peux pas utiliser une fonction d'agrégation dans un Where.
Si c'était une connexion à une base de données, tu aurais pu utiliser Having sum(CA_Annuel<10000).
Mais dans le cas d'un fichier ou d'une table interne, tu dois utiliser un LOAD antérieure, comme ci-dessous:
Directory;
LOAD * Where CA_Total<10000;
LOAD
Region,
sum(CA_Annuel) as CA_Total
FROM
[Fichiers pour exercices.xlsx] (ooxml, embedded labels, table is Ventes )
Group by Region;
Merci ! Ca fonctionne très bien comme ça.
Cool,
peux-tu mettre la question comme résolue pour aider les autres membres de la communauté.
Merci
Tu as mis ton remerciement comme réponse correcte!
ça ne va pas beaucoup aider les membres de la communauté.