Accueil – Le CFO masqué › Forums › Power Query › Requete SQL via lienODBC avec cellule excel comme variable
- Ce sujet contient 1 réponse, 2 participants et a été mis à jour pour la dernière fois par
Sophie Marchand, le il y a 5 années et 6 mois.
-
AuteurMessages
-
6 octobre 2019 à 15 h 52 min #58374
bibbip35
ParticipantBonjour a tous
Je suis nouveau sur ce forum et je me suis
Inscrit car je m intéresse beaucoup à PowerBi et Power query que je ne maîtrise pas mais qui on l air d’avoir Beaucoup d atoutD ou ma première question
malgré mes recherches et discussion sur un autre forum
je n arrive pas à créer une variable selon cellule Excel dans une requête ODBC qui est liée à mon erp et qui s actualisé dans un fichierHistoriquement, je travaillais avec ms query ( connexion)
Et j arriverai sans problème à utiliser une variable selon
Cellule Excel en utilisant un «*?*» qui permet de faire un lien parametrable
Pour des raisons pratiques et fonctionnelle , je souhaite passer par PowerQuery qui est plus «*puissant*» et permet d autres perspectives de travailEst il possible d utiliser une variable dans une requête sql sous power query
Veuillez trouver ci dessous la requête en question :
SELECT
RAISON_SOCIALE,
EDITEE_LE=list(FACTURE_CLIENT.EDITEE_LE),
COMMANDE_CLIENT=list(CMDE_CLIENT.CMDE_CLIENT),
COMMANDE_ADEX=POSTES_CMDE_CLIENT.CMDE_CLIENT,
DATE_DEMANDE=POSTES_CMDE_CLIENT.DATE_SOUHAITEE,
DATE_COMMANDE=CMDE_CLIENT.DATE_COMMANDE,
ID_POSTE_CMDE=(ID_POSTE_CMDE_CLIENT),
REF_EXCALIBUR=postes_cmde_client.PRODUIT,
DESIGNATION=(POSTES_CMDE_CLIENT.DESIGNATION),
QTE_CMDE=(POSTES_CMDE_CLIENT.QUANTITE),
CODE_FACTURE=list(FACTURE_CLIENT),
ID_POSTE_FACTURE=list(ID_POSTE_FACT_CLIENT),
QTE_FACTURE=(sum(POSTES_FACT_CLIENT.QUANTITE)),
PRIX_UNIT_MOYEN =
CASE
WHEN type_doc like ‘A’ THEN (SUM(postes_fact_client.PRIX_UNITAIRE_EU*POSTES_FACT_CLIENT.QUANTITE))/QTE_FACTURE*(-1)
ELSE (SUM(postes_fact_client.PRIX_UNITAIRE_EU*POSTES_FACT_CLIENT.QUANTITE))/QTE_FACTURE
END,
TOTAL_CMDE=(QTE_CMDE * PRIX_UNIT_MOYEN),CA_REALISER=(QTE_FACTURE * PRIX_UNIT_MOYEN),
QTE_LIVREE_CMDE=list(POSTES_CMDE_CLIENT.QTE_LIVREE),
RESTANT_A_LIVRER=list(POSTES_CMDE_CLIENT.QTE_A_LIVRER),
CA_PREVI=sum(POSTES_CMDE_CLIENT.QTE_A_LIVRER*postes_fact_client.PRIX_UNITAIRE_EU),
LIVRE=sum((POSTES_CMDE_CLIENT.QTE_LIVREE-POSTES_CMDE_CLIENT.QTE_RETOURNEE)*postes_fact_client.PRIX_UNITAIRE_EU)
FROM
POSTES_CMDE_CLIENT
LEFT OUTER JOIN POSTES_BL_CLIENT ON POSTES_CMDE_CLIENT.CMDE_CLIENT = POSTES_BL_CLIENT.CMDE_ORIGINE AND POSTES_CMDE_CLIENT.ID_POSTE_CMDE_CLIENT = POSTES_BL_CLIENT.ID_POSTE_CMDE_ORIGINE AND POSTES_CMDE_CLIENT.PRODUIT = POSTES_BL_CLIENT.PRODUIT
FULL OUTER JOIN POSTES_FACT_CLIENT ON BL_CLIENT = POSTES_FACT_CLIENT.BL_ORIGINE AND POSTES_BL_CLIENT.ID_POSTE_BL_CLIENT = POSTES_FACT_CLIENT.ID_POSTE_BL_ORIGINE AND POSTES_BL_CLIENT.PRODUIT = POSTES_FACT_CLIENT.PRODUIT
LEFT OUTER JOIN CMDE_CLIENT ON CODE_COMMANDE = POSTES_CMDE_CLIENT.CMDE_CLIENT
LEFT OUTER JOIN CLIENTS ON CMDE_CLIENT.CLIENT = CODE_CLIENT
LEFT OUTER JOIN FACTURE_CLIENT ON POSTES_FACT_CLIENT.FACTURE_CLIENT = FACTURE_CLIENT.CODE_FACTURE
WHERE
MONTH(FACTURE_CLIENT.EDITEE_LE) = ?
AND
YEAR(FACTURE_CLIENT.EDITEE_LE) =?
GROUP BY
RAISON_SOCIALE,
CMDE_CLIENT.CMDE_CLIENT,
COMMANDE_ADEX,
DATE_COMMANDE,
DATE_DEMANDE,
postes_cmde_client.PRODUIT,type_doc,
ID_POSTE_CMDE,
DESIGNATION,
QTE_CMDEMerci à tous pour votre aide !!!
Bibbip35
6 octobre 2019 à 16 h 25 min #58375Sophie Marchand
ParticipantBonjour,
La méthodologie est expliquée ici https://www.excelguru.ca/blog/2016/04/28/pass-parameters-to-sql-queries/.
Au plaisir,
Sophie
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.