Développement requête Power Query

Bonjour,

J’aimerais simplifier une colonne personnalisé d’une requête Power Query.

J’ai une liste de dossier avec le délai associé depuis la création du dossier.

J’ai créé une colonne personnalisé pour créer un indicateur qui permet de savoir si les délais sont respectés ou non, en fonction du groupe auquel est il affecté le dossier, ainsi que sont stade d’avancement. Exemple :

image

La fonction est une série de « if » en cascade et je ne sais pas si cela est possible mais j’aimerais arriver à recréer cette colonne en utilisant un tableau ou toute les limites des délais son renseignées (onglet « Info »). Cela me permettrais de modifier directement les limites dans Excel sans avoir à modifier la requête.

Je ne sais pas si c’est très clair…

Ci-dessous mon fichier exemple.

13test.xlsx (154.62 Ko)

Bonjour

Une proposition : modification du tableau Delay

Croisement avec la table des données

12delay-pq.xlsx (213.04 Ko)

Bonjour Chris,

Ca marche très bien, j'ai juste fait quelques modifs pour simplifier la requête.

Merci pour ton aide

RE

Quoi par exemple ?

Oui j'ai modifié le tableau des délais puis j'ai adapté la requête.

7delay-pq.xlsx (207.79 Ko)

Bonjour

Sauf si tu as téléchargé la 1ère mouture restée 3 minutes en ligne, ton fichier est identique à celui que j'ai posté Hier à 13:29 à par la cellule O36 ;-)

Bonjour,

Non il a bien les modifs sur le fichier

Seulement j'ai conservé ce que tu as fais et j'ai fait les modifs sur ma première requête en reprenant plus ou moins le même principe que la tienne

Bonjour

Ah OK. Merci

Je n'avais pas regardé les tiennes

Juste quelques remarques

  • Pour le croisement des tables on a 2 approches :
    • On pourrait ajouter au tableau Delay2, le cas End et du coup ne pas avoir à préciser les State dans la fonction personnalisée, ce qui donne un test plus générique.
    • Garder ton tableau Delay plus concis et simple à construire, et rester au plus près du cas comme tu l'as fait.
      Mais ta formule n'applique pas les même bornes que sur ta version initiale (le graphique est basé sur ma requête)
      Il faudrait pour la même logique
      =if [DOS State] = "End" then null else if [#"DOS Duration @Création"] > [Delay 1] then if [#"DOS Duration @Création"] <= [Delay 2] then "At Risk" else "Late" else "OK"
  • Si le End n'a pas d'intérêt pour la suite on peut faire une jointure interne lors de la fusion des tables ce qui élimine ces lignes et simplifiera la fonction personnalisée (et donc ne pas avoir End dans le tableau Delay2 si on garde cette approche)
  • Je vois que tu pas conservé le tri initial : si seule la synthèse t'intéresse tu peux l'obtenir directement en fin de requête

Bonjour, merci pour ces remarques,

  • J'ai modifié les bornes effectivement, j'ai changé d'avis en modifiant la requête et je préfère que si les délais égaux à [Delay 1] et [Delay 2] se retrouve en "OK" et "Late", comme c'est le cas dans mes modifs si je n'ai pas fait d'erreurs. Et concernant les deux approches, je préfère utilisé le tableau Delay que j'ai modifié qui est plus simple, je ne suis pas fan d'avoir les 0 ou 9^9 dans les valeurs min et max. Si les délais standards doivent être changé un tableau concis sera plus facile à modifier sans faire d'erreur.
  • C'est bien une jointure externe que je souhaite car je veux conserver les lignes à l'état "End" même si elles ne me sont pas utile dans cet exemple, elles le sont dans mon fichier qui est bien plus complet.
  • Pour le trie, cela n'est pas important car j'effectue un trie sur une colonne qui ne figure pas dans l'exemple dans mon autre fichier.
Rechercher des sujets similaires à "developpement requete power query"