Réponses céées sur le Forum

Page 9 sur 11
  • Jonathan

    Membre
    24 mai 2024 à 10h51 en réponse à: Calcule TOTAL POWER BI

    Super ! A bientôt sur le forum

  • Jonathan

    Membre
    23 mai 2024 à 15h26 en réponse à: Erreur sur indicateurs

    La bonne pratique est de ne jamais utiliser de mesures implicites. Il faut créer des mesures explicites, même pour une simple somme.

    En tout cas, le message est très clair quand on veut utiliser les groupes de calcul directement depuis Power BI desktop, c’est bien noté que cela va désactiver les mesures implicites.

  • Jonathan

    Membre
    23 mai 2024 à 13h25 en réponse à: Erreur sur indicateurs

    J’ai également rencontré ce genre de problème de format quand parfois les vues SQL avaient changé. Peut-être qu’il faudrait refaire un check côté SQL. Par exemple, refaire une connexion à la BDD et voir le comportement dans un nouveau fichier PBIX.

  • Jonathan

    Membre
    23 mai 2024 à 13h16 en réponse à: Erreur sur indicateurs

    Bonjour,

    Pouvez-vous vérifier que la case “Déconseiller les mesures implicites” n’est pas cochée. Elle se trouve dans la vue modèle, puis l’onglet Modèle puis elle apparaît quand vous cliquez sur Modèle sémantique.

    Elle s’active aussi automatiquement si vous ajoutez des groupes de calcul via Power BI.

    • Cette réponse a été modifiée Il y a 7 mois, 1 semaine par  Jonathan.
  • Jonathan

    Membre
    22 mai 2024 à 19h08 en réponse à: Calcule TOTAL POWER BI

    Bonjour Jérôme,

    Le DAX n’est pas simple et on est assez loin de l’approche Excel. Ici les calculs ne se font pas ligne à ligne mais cellule par cellule. C’est-à-dire que chaque cellule (dans les lignes et colonnes ou au niveau du total) est évaluée individuellement.

    Dans votre calcul, la première condition est systématiquement satisfaite au niveau du total. Il faut donc le même calcul que pour la première condition mais au niveau du total (71.63 % s’explique comme ça : (17084 – 11580 + 6733) / 17084).

    Il faut manipuler le contexte avec la fonction CALCULATE pour arriver à obtenir le bon résultat.

    Bonnes pratiques : il faut toujours faire des mesures de base (même de simples sommes).

    Pour solutionner votre problème :

    • Faire des mesures de base (les sommes de chaque colonne),
    • Faire une mesure par type de taux (pour simplifier les calculs),

    <pre class=”language-markup”>Taux Décroché 1 =
    CALCULATE (
    DIVIDE (
    [_Reçus SVI] - [_Reçus] + [_Traités],
    [_Reçus SVI]
    ),
    Team_GT_Environnement[Tx à appliquer] = 2
    )

    Taux Décroché 2 =
    CALCULATE (
    DIVIDE (
    [_Traités] + [_Reprise SVI] + [_Abandonnés],
    [_Reçus]
    ),
    Team_GT_Environnement[Tx à appliquer] = 1
    )

    • Puis une mesure finale qui checke sur le niveau sur lequel on se trouve :

    <pre class=”language-markup”>Taux Décroché =
    VAR Tx =
    SELECTEDVALUE ( Team_GT_Environnement[Tx à appliquer] )
    RETURN
    SWITCH (
    TRUE (),
    Tx = 1, [Taux Décroché 1],
    Tx = 2, [Taux Décroché 2],
    DIVIDE (
    CALCULATE (
    [_Reçus SVI] - [_Reçus] + [_Traités],
    Team_GT_Environnement[Tx à appliquer] = 2
    )
    + CALCULATE (
    [_Traités] + [_Reprise SVI] + [_Abandonnés],
    Team_GT_Environnement[Tx à appliquer] = 1
    ),
    CALCULATE (
    [_Reçus SVI],
    Team_GT_Environnement[Tx à appliquer] = 2
    )
    + CALCULATE (
    [_Reçus],
    Team_GT_Environnement[Tx à appliquer] = 1
    )
    )
    )

    Pour bien comprendre le problème, vous pouvez faire le test de suivant : remplacez vos calculs par “Toto” et “Titi”, au niveau du total, vous aurez “Toto” à priori (celui mentionné dans le premier IF).

    Bon courage pour la suite de votre projet.

  • Jonathan

    Membre
    21 mai 2024 à 18h06 en réponse à: Exploitation de plusieurs fichiers XML

    Bonjour Luc,

    Cela dépend des fichiers mais oui, en général, c’est à nous de déplier le fichier correctement.

    Je n’arrive pas à récupérer votre fichier 🙁

    A plus tard,

  • Jonathan

    Membre
    18 mai 2024 à 19h49 en réponse à: Percentiles

    Pour calculer ensuite le montant des commandes du 1er décile :

    Montant Cde Decile 1 =
    VAR Top_Tab =
    TOPN (
    ROUNDDOWN (
    [NB Clients] * 0.1,
    0
    ),
    ALL ( Clients[Nom Client] ),
    [Montant Cde]
    )
    RETURN
    CALCULATE (
    [Montant Cde],
    KEEPFILTERS ( Top_Tab )
    )

    • Cette réponse a été modifiée Il y a 7 mois, 2 semaines par  Jonathan.
  • Jonathan

    Membre
    18 mai 2024 à 19h15 en réponse à: Percentiles

    Bonjour Bruno,

    • Il vous faut une table des dates (indispensable dans tous les modèles),
    • Une table des clients,
    • Une mesure qui fait la somme des commandes,
      • Montant Cde = SUM ( ‘Ventes'[Valeur] )
    • Une mesure qui calcule le nombre de clients (qui ont commandé),
      • NB Clients = CALCULATE(DISTINCTCOUNT(Ventes[Num_Client]), ALLSELECTED(Ventes))
    • Une mesure qui calcule le rang des clients par rapport au montant des commandes,
      • Rang Clients = RANKX(ALLSELECTED(Clients[Nom Client]), [Montant Cde])
    • Puis une mesure qui compte le nombre de clients du premier décile,
      • Nombre Clients Décile 1 = CALCULATE(DISTINCTCOUNT(Ventes[Num_Client]), FILTER(ALLSELECTED(Clients[Nom Client]),[Rang Clients] <= ([NB Clients] * 0.1)))

    Tout devrait fonctionner normalement, bon courage pour la suite de votre projet.

    • Cette réponse a été modifiée Il y a 7 mois, 2 semaines par  Jonathan.
    • Cette réponse a été modifiée Il y a 7 mois, 2 semaines par  Jonathan.
    • Cette réponse a été modifiée Il y a 7 mois, 2 semaines par  Jonathan.
  • Jonathan

    Membre
    18 mai 2024 à 18h47 en réponse à: Suppression des null

    Bonjour Nathalie,

    Je ne sais pas si vous avez réussi à terminer votre projet, au cas où, je vous donne quelques pistes 😉 :

    • Dans la table pays, vous devez supprimez les doublons sur la colonne ID Pays,
      • Assurez-vous qu’il n’y ait pas de valeur « null »,
      • Attention aux majuscules et/ou espaces, Power Query les considèrent, Power BI non (Le DAX n’est pas sensible à la casse, le M oui),
    • Evitez au maximum les relations Plusieurs à plusieurs dans vos modèles,
    • Ne reliez jamais deux tables de faits entre elles,
    • Au contraire, faites-les communiquer par l’intermédiaire de dimensions communes, ici la table Pays,
    • Dans votre exemple, vous ne devriez avoir que 3 tables,
      • Pays (Dimension),
        • ID,
        • Nom,
      • ODD (Faits),
        • ID ODD,
        • ID Pays,
        • Nom ODD,
        • Obj. Score,
      • Table de faits (Faits),
        • ID ODD,
        • ID Pays,
        • Score
    • Vous n’avez pas besoin de relations inactives ici, juste une relation sur l’ID Pays et l’autre sur l’ID ODD,

    Bon courage pour la suite de votre projet,

    • Cette réponse a été modifiée Il y a 7 mois, 2 semaines par  Jonathan.
  • Jonathan

    Membre
    18 mai 2024 à 18h18 en réponse à: Exploitation de plusieurs fichiers XML

    Voici un exemple concret avec la récupération de deux fichiers XML (Vous pouvez tester simplement en changeant les sources de données une fois que vous aurez téléchargé les fichiers). J’ai laissé une requête à titre d’exemple puis vous pouvez la comparer avec la fonction Get Tarifs en allant dans l’éditeur avancé. Cela vous donnera une idée des modifications à effectuer.

    Si vous avez des questions, j’y répondrai.

    Bon courage et bon week-end.

  • Jonathan

    Membre
    18 mai 2024 à 18h07 en réponse à: Exploitation de plusieurs fichiers XML

    Bonjour Luc,

    Aucun souci pour vous aider. Le plus simple serait de mettre à dispo quelques fichiers à titre d’exemple.

    La technique :

    • Importer un premier fichier avec le connecteur XML,
    • Effectuer toutes les transformations souhaitées dans Power Query pour ce fichier d’exemple,
    • Transformer la requête en fonction,
    • Importer les fichiers via le connecteur Dossier (De préférence Dossier SharePoint pour éviter la gestion des passerelles de données),
    • Appliquer la fonction à l’ensemble des fichiers,
    • Déplier les données,

    Si vous nous fournissez quelques fichiers, je pense qu’on pourra vous montrer un exemple concret dans un fichier pbix.

    A plus tard, bon week-end,

  • Bonjour Benoît,

    Vous êtes sur la bonne voie, il ne vous manque pas grand chose 😉

    • Vous devez avoir une table des dates, c’est indispensable, notamment quand vous allez vouloir utiliser les fonctions temporelles,
      • Une petite recherche Google vous en fournira des tonnes (DAX, M, Excel, SQL, etc…),
    • Concernant votre problème, il est simple à résoudre :
      • Dans la table des dates, vous rajouter une colonne calculée Before_Today (Power Query si possible, sinon en DAX avec la fonction TODAY) qui sert à identifier les lignes avant aujourd’hui (strictement inférieure ou inférieure ou égale, à vous de voir).
      • Vous pouvez ne renvoyer qu’un booléen, ça fonctionne très bien,
      • Puis dans votre mesure, vous remplacez SAMEPERIODLASTYEAR(Calendrier[Date]) par CALCULATETABLE(SAMEPERIODLASTYEAR(Calendrier[Date]), Calendrier[Before_Today]))
      • Vous pouvez utilisez la même technique pour votre mesure de base,
      • Ou vous pouvez tout simplement tout laisser comme au départ (en utilisant la table des dates quand même) et rajouter le filtre Before_Today dans vos pages (ce n’est pas autoporteur je trouve),

    Bon courage pour la suite de votre projet 😉

  • Bonjour Guillaume,

    Cette deuxième version est bien mieux, bravo !

    Si j’ai bien suivi, dans votre première version, il y avait une notion de valeur absolue, attention elle n’est plus là dans la seconde version 😉

    Concernant le message d’erreur, vous risquez de le rencontrer souvent. Je vous donne un exemple, ça pourra vous servir pour la suite.

    • Imaginons que vous ayez une mesure qui fasse la somme du chiffre d’affaire (Total CA) et une dimension produit qui vous donne la couleur d’un produit.
    • Vous avez le droit d’écrire CALCULATE([Total CA], Produit[couleur]= “Rouge”),
      • C’est une syntaxe simplifiée (sugar syntax si vous voulez creuser),
    • Vous ne pouvez pas mettre dans une mesure Couleur_Rouge = “Rouge” puis l’utiliser ensuite comme ça :
      • CALCULATE([Total CA], Produit[couleur]= [Couleur_Rouge]),
      • La syntaxe simplifiée ne l’acceptera pas,
    • Plusieurs solutions (je ne les liste pas toutes) :
      • CALCULATE([Total CA], FILTER(ALL(Produit[Couleur]), Produit[Couleur]= [Couleur_Rouge])
      • CALCULATE([Total CA], FILTER(Produit, Produit[Couleur]= [Couleur_Rouge])
      • <div>
        <div>VAR Rouge = [Couleur_Rouge]</div>
        <div>RETURN</div>
        <div>CALCULATE([Total CA], Produit[Couleur]=Rouge)</div>
        </div>

    J’espère que ça vous aidera, à bientôt sur le forum.

  • Bonjour,

    Désolé mais ce n’est pas clair 🙂 Je ne suis pas certain non plus que les 3 fichiers d’exemple soient cohérents par rapport à l’exemple montré (ou alors je ne comprends pas les fichiers).

    Pour avancer, quelques points d’attention :

    • Je vois une formule DAX qui cherche à remplacer le travail de Power Query : il faut remonter ça en Power Query,
    • Il vous faut une table des dates (indispensable),
    • Il existe des paternes en DAX pour calculer des cumuls (à la maille souhaitée), donc il ne devrait pas y avoir de souci pour avancer,

    Pouvez-vous construire un petit exemple sur Power BI et nous le partager. Pouvez-vous également fournir un exemple clair, éventuellement sur Excel, pour expliquer le résultat attendu. Décrivez bien le résultat attendu à toutes les mailles d’analyse pour que ce soit plus simple pour vous aider.

  • Jonathan

    Membre
    18 mai 2024 à 12h47 en réponse à: summarizecolumns erreur

    Bonjour Gaelle,

    Difficile de vous aider sans un fichier pbix de test.

    J’ai des problèmes de compréhension dans votre demande, vous parlez de mesures M1 et M2 mais visiblement, ce ne sont pas des mesures (ou en tout cas, elles ne marcheront pas puisque les fonctions utilisées retournent des tables).

    Pour la fonction SUMMARIZE, elle n’est pas dépréciée, c’est l’ajout de colonne via cette fonctionne qui l’est (On ajoute simplement la colonne via le ADDCOLUMNS dans ce cas-là).

    De manière générale, faire des pbix de test avec des données fictives est bénéfique pour tout le monde :

    • On peut vous aider plus rapidement,
    • Vous pouvez tester plus facilement tous les cas possibles (alors que dans les données de production, on peut ne pas avoir tous les cas possibles à l’instant T),
    • Cela évite de travailler sur une trop forte volumétrie de données,
    • C’est surtout plus simple pour tester la cohérence des résultats obtenus 🙂

    Bon courage,

Page 9 sur 11