Club Power BI

Please login or click SIGN UP FOR FREE to create your PowerBIUG account to join this user group.
Expand all | Collapse all

Problème de condition dans requête Power Query ayant 2 sous requêtes

Jump to Best Answer
  Thread closed by the administrator, not accepting new replies.
  • 1.  Problème de condition dans requête Power Query ayant 2 sous requêtes

    Posted May 18, 2021 12:58 PM
    No replies, thread closed.

    Bonjour,


    Je bute sur une problématique de condition dans PowerQuery.

    Je reçois quotidiennement un fichier XLS contenant 2 onglets ayant la même structure :

    • Onglet1 : historique de production des 30 derniers jours, hors production du jour,
    • Onglet2 : la production du jour

    Dans ma requête PQ, j'ai automatisé la compilation des deux onglets via une fonction. Jusque-là, pas de problème.

    Mon problème apparaît quand la production du jour est nulle : « Onglet2 » ne contient aucun libellé de champs ce qui fait « planter » ma requête. La seule valeur portée par cet onglet dans ce cas-là est « Aucune donnée disponible ».

    Afin de résoudre le problème, j'ai opté pour solution de créer une condition sur la présence ou non de la valeur « Aucune donnée disponible » dans « Onglet2 » pour orienter la préparation des données vers le bon traitement (traitement d'un seul onglet ou compilation des 2 onglets).

    1 - J'ai créé une liste provenant du retraitement de mon fichier xls source qui contient la valeur « Aucune donnée disponible » si pas de donnée dans « Onglet2 » sinon le champ est vide.

    2 – J'ai défini un paramètre basé sur cette liste : « Paramètre1 »

    3 – J'ai intégré une condition de traitement dans ma requête PQ prenant en compte « Paramètre1 ». La syntaxe est la suivante :

    -------------------------------------------------------------------------------------------------------------
    let

        Requête1 =

            if Paramètre1="Aucune donnée disponible"

                then

                                   let

                                                Traitement1=…(traitement d'une seul onglet).

                                   in

                                                 Traitement1

                else

                                  let

                                                 Traitement2=….(compilation des deux onglets)

                                  in

                                                 Traitement2

    in

        Requête1

     ----------------------------------------------------------------------------------------------------------------------

    Et là j'obtiens le message suivant :

     « Formula.Firewall : Requête « Requête1 » (étape « Requête1 ») référence d'autres requêtes ou étapes et ne peut donc pas accéder directement à une source de données. Reconstruisez cette combinaison de données. »

     

    Dans le paramètre, lorsque j'utilise « Tout » à la place de « Requête » ma requête fonctionne…

    Petit détail, mon fichier XLS est stocké sur un SharePoint avec une autorisation d'accès "Professionnel" (je ne sais pas si ça a son importance...)

     

    Un paramétrage, une subtilité m'échappe ??? Y-a-t-il une solution plus simple à la résolution de cette problématique ?

    Merci par avance à vous pour le temps passé à étudier mon cas.

    Cordialement,



    ------------------------------
    Stephane DELPEUCH
    ------------------------------


  • 2.  RE: Problème de condition dans requête Power Query ayant 2 sous requêtes
    Best Answer

    Top Contributor
    Posted 17 days ago
    No replies, thread closed.
    C'est a priori un probleme de sécurité.

    Avez vous essayé :



    ------------------------------
    Guillaume GAUDFROY
    Microsoft Data PlatForm MVP
    MCSA Power BI & Excel
    Microsoft MCT
    Ruby Award Dynamic Communities
    ------------------------------



  • 3.  RE: Problème de condition dans requête Power Query ayant 2 sous requêtes

    Posted 7 days ago
    No replies, thread closed.

    Bonjour Guillaume,

    Merci pour votre réponse. J'ai testé votre solution : effectivement cela fonctionne mais l'aspect risque sur l'accès aux données me refroidit un peu...

    J'ai trouvé une autre solution qui me permet de contourner ce problème : j'ai transformé mes 2 sous requêtes en 2 requêtes à part entière que j'appelle dans une troisième requête en charge, en fonction de mon Paramètre1, de déclencher le bon traitement des données. C'est un peu lourd mais ça fait le job...



    ------------------------------
    Stephane DELPEUCH
    ------------------------------



  • 4.  RE: Problème de condition dans requête Power Query ayant 2 sous requêtes

    Top Contributor
    Posted 7 days ago
    No replies, thread closed.
    Aucun de souci de sécurité.
    C'est pour éviter le problème de récursivité.


    ------------------------------
    Guillaume GAUDFROY
    Microsoft Data PlatForm MVP
    MCSA Power BI & Excel
    Microsoft MCT
    Ruby Award Dynamic Communities
    ------------------------------