Requete SQL via lienODBC avec cellule excel comme variable

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 4 années et 6 mois.
2 sujets de 1 à 2 (sur un total de 2)
  • Auteur
    Articles
  • #58374
    bibbip35
    Participant

    Bonjour 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 atout

    D 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 fichier

    Historiquement, 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 travail

    Est 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_CMDE

    Merci à tous pour votre aide !!!

    Bibbip35

    #58375
    Sophie Marchand
    Participant

    Bonjour,

    La méthodologie est expliquée ici https://www.excelguru.ca/blog/2016/04/28/pass-parameters-to-sql-queries/.

    Au plaisir,

    Sophie

2 sujets de 1 à 2 (sur un total de 2)
  • Vous devez être connecté pour répondre à ce sujet.