Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour,
Je cherche à créer une somme dans script avec un group by. Est-ce la bonne solution ?
Ci-dessous mon script de chargement avec un message d'erreur :
[suivi_facturations_lignes]:
LOAD `Id_Facturation_Ligne`,
`Id_Facture`,
`Num_Dossier`,
`Facturation_Code_Libelle`,
`Facturation_Donnee_Valeur`,
if (Facturation_Code_Libelle = 'Total_HT_MO', Facturation_Donnee_Valeur,' ') as panier_MO,
if (Facturation_Code_Libelle = 'Garage_Montant_Peinture', Facturation_Donnee_Valeur,' ') as panier_peinture,
if (Facturation_Code_Libelle = 'Garage_Montant_Pieces', Facturation_Donnee_Valeur,' ') as panier_pieces,
if (Facturation_Code_Libelle = 'Garage_Montant_Pieces_Reemploi', Facturation_Donnee_Valeur,' ') as panier_PRE;
SQL SELECT `Id_Facturation_Ligne`,
`Id_Facture`,
`Num_Dossier`,
`Facturation_Code_Libelle`,
`Facturation_Donnee_Valeur`
FROM capsoffice.`suivi_facturations_lignes`;
Ma_table :
lOAD `Id_Facture`,
`Num_Dossier`,
sum([`Facturation_Donnee_Valeur`]) as panier_statut
Resident capsoffice.`suivi_facturations_lignes`
Group by Num_Dossier;
Pouvez-vous me dire ce qui cloche ?
L'idée est d'obtenir une somme par Num_Dossier du champ Facturation_Donnee_Valeur.
Encore merci pour votre aide,
Stéphanie
Essaye avec cela:
"where ('Facturation_Code_Libelle' = 'Garage_Montant_Pieces' or 'Facturation_Code_Libelle' = 'Total_HT_MO'........."
en rappelant le champ à filtrer devant chaque valeur
capsoffice.'suivi_facturations_lignes' doit être une table qui existe et que tu as préalablement loadée, sinon ça ne fonctionne pas avec le code "Resident"
Bonjour,
J'ai essayé en integrant la notion de where... !
Message d'erreur :
Hello,
Si l'idée est simplement d'obtenir une somme par Num_Dossier du champ Facturation_Donnee_Valeur, alors le script est :
Ma_table :
LOAD`Num_Dossier`,
sum([`Facturation_Donnee_Valeur`]) as panier_statut
Resident capsoffice.`suivi_facturations_lignes`
Group by Num_Dossier;
donc uniquement la somme de ton champ par la dimension choisie...
ou dans ton second cas :
Ma_table :
LOAD `Id_Facture`,
`Num_Dossier`,
`Facturation_Code_Libelle`,
`Facturation_Donnee_Valeur`,
sum(Facturation_Donnee_Valeur) as panier_statut
Resident capsoffice.`suivi_facturations_lignes`
Where (`Facturation_Code_Libelle` = 'Garage_Montant_Pieces' or 'Total_HT_MO' or 'Garage_Montant_Peinture' or 'Garage_Montant_Pieces_Reemploi')
Group By Id_Facture,Num_Dossier,Facturation_Code_Libelle,Facturation_Donnee_Valeur;
Dans tous les cas, ton group by doit récupérer tous les champs que tu sélectionne dans ton LOAD qui ne sont pas des aggrégations (sum, max,min....)
Merci pour ta réponse !
Quand je charge, j'ai l'erreur suivante.
Essaye avec cela:
"where ('Facturation_Code_Libelle' = 'Garage_Montant_Pieces' or 'Facturation_Code_Libelle' = 'Total_HT_MO'........."
en rappelant le champ à filtrer devant chaque valeur
capsoffice.'suivi_facturations_lignes' doit être une table qui existe et que tu as préalablement loadée, sinon ça ne fonctionne pas avec le code "Resident"
Super ! Cela fonctionne!
Merci 1 000 fois !