- Ce sujet contient 2 réponse, 3 participant et a été mis à jour pour la dernière fois par il y a 4 années et 1 mois. , le
- Vous devez être connecté pour répondre à ce sujet.
Accueil – Le CFO masqué › Forums › Power BI › Création d’une mesure ou d’une colonne avec des conditions
Bonjour,
Je souhaite ajouter une colonne ou une mesure dans mon tableau avec des conditions…
Je galère depuis quelques temps, c’est pourquoi je viens solliciter votre aide.
Explications :
Dans mon tableau, une colonne est nommée “VITS_REG”, j’ai d’autres colonnes contenant des valeurs qui sont nommées “TV020, TV030, …, jusque TV130)
Je souhaite donc une colonne supplémentaire à mon tableau (ou une mesure si c’est préférable ???) qui agirait de la sorte :
Si la colonne “VITS_REG” = 2 alors le résultat serait (TV020 + TV030)
Ou si la colonne “VITS_REG” = 4 alors le résultat serait (TV020 + TV030 + TV040 + TV050)
Ou si la colonne “VITS_REG” = 8 alors le résultat serait (TV020 + TV030 + TV040 + TV050 + TV060 + TV070 + TV080 + TV090)
Pouvez vous m’expliquer comment arriver à ce résultat ?
Merci par avance
Bonjour,
Vous pourriez passer par Power Query pour faire ce calcul. Vous pourriez dépivoter vos colonnes “TV020, TV030, …, jusque TV130 pour obtenir une colonne attribut contenant le nom de vos colonnes et une deuxième contenant la valeur pour chacune. (Idéalement sélectionnez les premières colonnes jusqu’à VITS_REG puis choisir l’option dépivoter les autres colonnes)
Vous gardez ensuite que la partie numérique du nom de la colonne soit 2, 3, 4, … jusqu’à 13.
Vous ajoutez ensuite une colonne conditionnelle où on affiche la valeur si la colonne attribut <= à la valeur inscrite dans la colonne VITS_REG, sinon affiche 0.
Puis utiliser cette colonne pour faire la somme de vos valeurs.
Comme ça si dans le future, il y a un ajout de colonne pour TV140, elle sera prise en compte dans le calcul.
Au plaisir,
Kim
Bonjour
Je vous propose une autre approche :
Sous Excel votre formule serait =SOMME(DECALER([@TV020];;;1;[@[E_SEC_VITS_REG]]))
Avec PowerQuery, cela se traduit en List.Sum(List.Range(Record.ToList(_),5,[E_SEC_VITS_REG]))
le caractère _ vous permet de récupérer l’enregistrement actuel
la fonction Record.ToList transforme cet enregistrement en liste
A partir de la 5e colonne vous voulez faire la somme de 2, 4 ou 8 éléments soit la valeur du champ [E_SEC_VITS_REG] : la fonction List.Range(Liste,5,[E_SEC_VITS_REG]) répond à ce besoin
Il ne reste plus qu’à faire la somme avec List.Sum
cordialement
Stéphane
Avant de poser une question assurez-vous que :
Votre besoin dépasse les limites de ce forum?
Si votre besoin dépasse les limites de ce forum et constitue davantage une demande d’accompagnement en consultation professionnelle, nous vous invitons à remplir notre formulaire pour recevoir une soumission concernant une banque d’heures d’accompagnement à distance personnalisé.
Ce parcours présente près de 60 heures de contenu structuré.
Chaque formation peut être suivie en ligne, à votre rythme, et elles demeurent accessibles à vie.
Identifier les bons outils pour vos projets • Gérer efficacement vos données • Débuter vos premiers tableaux de bord • Gagner du temps grâce à l’automatisation • Renforcer votre capacité d’analyse et de décision
Et surtout… transformer vos opérations pour plus d’agilité et de valeur !