Club Power BI

Please login or click SIGN UP FOR FREE to create your PowerBIUG account to join this user group.
 View Only
  • 1.  [Unable to combine data] sur requête API rest

    Posted 25 days ago
    Bonjour à la communauté,

    je vous expose un problème qui m'a pas mal occupé ces derniers temps et pour lequel je n'ai pas trouvé de solution.

    Dans PowerBI Desktop je récupère des données projet qui sont des bugs ou des taches de développement issus de Bugzilla.
    Pour des raisons purement IT et sécurité, je n'ai pas le droit de faire des requêtes SQL sur la base. Je dois donc procéder autrement, c'est à dire par API rest.

    J'utilise pour cela une connexion anonyme, dans ma requête j'inclus une api_key de Bugzilla qui permet de ne pas m'authentifier via PowerBi

    J'ai une première requête dans laquelle je récupère une liste de tickets et des infos associées. Pas de problème.

    J'ai besoin de récupérer pour un sous-ensemble de tickets leur historique (date de création, transition entre les états) afin de créer un burndown chart projet. Ce qui fonctionne également.
    Dans l'implémentation cela signifie que je référence ma table initiale de tickets, je filtre les tickets pour lesquels je veux récupérer l'historique, et je crée une colonne personnalisée dans laquelle j'appelle une seconde requête API rest sous la forme suivante:

    Json.Document(Web.Contents(<myBugzillaURL>,[RelativePath="rest/bug/"&Text.From([id])&"/history?&api_key=<myBugzillaAPIKey>"]))​

    Pour chaque id, je récupère l'historique sous forme d'un record.


    Là encore ça fonctionne, même si évidemment d'un point de vue performance cette solution n'est pas optimale. Mais je n'ai pas le choix, encore une fois les infos sont dans 2 tables différentes dans la base de données, que je n'ai pas le droit d'interroger en direct.
    J'arrive néanmoins à mes fins, je produis un rapport qui répond à mon besoin et qui s'actualise bien dans Desktop.

    L'étape naturelle suivante est de mettre en place des mises à jour programmées dans mon espace powerbi.com. Et là, problème, je rencontre des erreurs du type
    [Unable to combine data] Section1/Vx_y_z_ WP CR history/Requête ajoutée references other queries or steps, so it may not directly access a data source. Please rebuild this data combination.

    Je me suis renseigné sur cette erreur, mais je pense que le problème réside dans le fait que j'appelle une fonction web ligne par ligne. En tout cas pas de problème de privacy ou ce type là. Pour la forme j'ai supprimé l'appel à ma fonction personnalisée pour valider que le problème était bien induit par elle, c'est bien le cas.

    J'en viens donc à ma question pour vous: avez-vous une expérience analogue et une idée de ce qui ne va pas dans ma méthode?

    D'avance merci!

    ------------------------------
    Denis Humeau
    ------------------------------


  • 2.  RE: [Unable to combine data] sur requête API rest

    Top Contributor
    Posted 25 days ago
    Bonjour,

    Avez-vous essayé d'ignorer les niveaux de confidentialité pour ce fichier ?

    • Fichier,
      • Options & Paramètres,
      • Options,
        • Puis dans Fichier Actif,
          • Confidentialité,
          • Cocher "Ignorer les niveaux de confidentialité et potentiellement améliorer les performances",
    Cela peut régler le problème je pense.

    ------------------------------
    Jonathan CHANAL
    Power BI Consultant/Formateur
    MCSA Power BI & Excel
    ------------------------------



  • 3.  RE: [Unable to combine data] sur requête API rest

    Posted 25 days ago
    Bonjour,

    dans PBI Desktop, l'option de confidentialité dans Global est à "Toujours ignorer les paramètres de niveau de confidentialité".

    Je suppose que si problème de ce type il y a ce serait plutôt dans la Personal Gateway (qui est sur un autre PC que celui sur lequel est installé PBI desktop)

    ------------------------------
    Denis Humeau
    ------------------------------



  • 4.  RE: [Unable to combine data] sur requête API rest
    Best Answer

    Posted 24 days ago
    La magie des forums: j'ai trouvé une solution.

    Ou plutôt deux:
    - Les niveaux de confidentialité des sources n'étaient pas les mêmes entre le fichier source et la configuration dans power bi services (organizational vs. private)
    - j'ai modifié la configuration de ma gateway en suivant les recommandations de https://docs.microsoft.com/fr-fr/power-bi/connect-data/service-gateway-personal-mode

    La fonctionnalité Combinaison rapide sur une passerelle personnelle vous permet d'ignorer les niveaux de confidentialité spécifiés lors de l'exécution des requêtes. Pour que Combinaison rapide fonctionne avec la passerelle de données locale (mode personnel) :

    1. À l'aide de l'Explorateur de fichiers, ouvrez le fichier suivant :

      %localappdata%\Microsoft\On-premises data gateway (personal mode)\Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config

    2. En bas du fichier, avant </Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.GatewayCoreSettings>, ajoutez le texte suivant :

      XML
      <setting name="EnableFastCombine" serializeAs="String">
         <value>true</value>
      </setting>
      
    3. Une fois l'opération terminée, le paramètre prend effet environ une minute plus tard. Pour vérifier s'il fonctionne correctement, essayez une actualisation à la demande dans le service Power BI pour vérifier que le Regroupement rapide fonctionne.



    ------------------------------
    Denis Humeau
    ------------------------------