Toutes mes réponses sur les forums
-
AuteurMessages
-
Xavier Allart
ParticipantBonjour
Si la table ne contient qu’une colonne [Projets], des colonnes [Activité ?? – Pilote] et [Activité ?? – Temps passé]
En power query
Sélectionner la colonne [Projets], appliquer la commande : Transposer les colonnes.
Sélectionner la colonne [Attribut], appliquer la commande : Fractionner la colonne sur le délimiteur personnalisé : espace tiret espace.
Sélectionner la colonne [Attribut, appliquer la commande : Pivoter la colonne sur la colonne [Valeur] et en fonction avancée : Ne pas agréger.
Appliquer les formats désirés.En Power BI,
Ajouter un visuel Histogramme empilé
Axe X : [Projets]
Axe Y : Somme des Temps
Légende : PiloteAmicalement
5 mars 2024 à 23 h 45 min en réponse à : Graphique avec des valeurs Y relatives à deux champs dates distincts #138281Xavier Allart
ParticipantBonjour
Voici une piste, ajouter à votre modele une table de dates, et la mettre en relation avec vos 2 tables.
Amicalement
Xavier Allart
ParticipantBonjour
Je ne suis pas sur d’avoir bien compris le probleme, vous avez seulement joint une image, un tableau Excel serait mieux, il ne semble pas y avoir de doublon d’id sur l’image.
Pour avoir une ligne par id et transformer la colonne libellés en plusieurs colonnes ayant comme valeur les valeurs de colonne valeur, il faut selectionner la colonne libellés la pivoter (Transformer >> Pivoter) choisir la colonne valeur commme colonne de valeur et choisir ne pas agreger comme fonction.
Amicalement
Attachments:
You must be logged in to view attached files.Xavier Allart
ParticipantBonjour
voici une nouvelle version en ajoutant 2 mesures
J’ai remplacé dans le tableau la colonne AnneeMois 24-01 par 2401 pour avoir des nombres
Nouvelles mesures :
Cumul_A
=CALCULATE(
SUM(Tableau1_1[resultats A]);
FILTER(
ALLSELECTED(Tableau1_1[AnneeMois]);
ISONORAFTER(Tableau1_1[AnneeMois];MAX(Tableau1_1[AnneeMois]);DESC)
)
)Cumul_B
=CALCULATE(
SUM(Tableau1_1[resultats B]);
FILTER(
ALLSELECTED(Tableau1_1[AnneeMois]);
ISONORAFTER(Tableau1_1[AnneeMois];MAX(Tableau1_1[AnneeMois]);DESC)
)
)Remplacement de la mesure calcul désiré
=DIVIDE([Cumul_B];[Cumul_A];0)Amicalement
Attachments:
You must be logged in to view attached files.Xavier Allart
ParticipantBonjour
En voyant arriver cette question, je me suis mis à divaguer et je viens ici proposer plusieures réflexions, regrouper dans le power BI joint.
Ma table contient que 3 colonnes “Product” “Month” “Order Quantity”Comment obtenir ce résultat .?
SOMME.SI.ENS([Order Quantity];[ Month];[@ Month];[Type];[@ Month])1) Pourquoi calculer un somme.si.ens, alors que les visuels le font très bien.
Pour une matrice : placer Product en ligne, Month en colonne ou ligne et une somme Order Quantity en valeur
Pour un histogramme emplié placer Product et Month en Axe X et une une somme Order Quantity en axe Y
…2) En Power Query par référence à la Table source, créer une table regrouper par Product et Month et calculer la somme de Order Quantity, nommée Quantité. A cette étape il n’y a pas de relation avec Table
3) En Power Query Créer une relation de type 1 à plusieurs entre les 2 tables sur un champ ID. Dans mon cas ID = Product&Month.
4) En Power Query Fusionner les 2 tables pour ajouter la colonne Quantité dans la Table source.
Le champ Quantité est affiche en moyenne dans les visuels5) Créer une mesure DAX, comme celle-ci par exemple :
MesureDAX = CALCULATE(
SUM(‘Table'[Order Quantity]),
ALL(‘Table’),
‘Table'[Product]=SELECTEDVALUE(‘Table'[Product]),
‘Table'[Month]=SELECTEDVALUE(‘Table'[Month])
)6) Créer une colonne DAX
Le champ Quantité est affiche en moyenne dans les visuels
ColonneDAX = CALCULATE(
SUM(‘Table'[Order Quantity]),
FILTER(‘Table’,EARLIER(‘Table'[Product])=’Table'[Product]),
FILTER(‘Table’,EARLIER(‘Table'[Month])=’Table'[Month])
)7) J’ai aussi essayer la nouveauté « Calcul de Visuels » en DAX, mais pas concluant, une simple matrice donne le même résultat, à creuser.
Voilà plusieures d’idées différentes à voir en fonction de votre besoin
Amicalement,
Attachments:
You must be logged in to view attached files.Xavier Allart
ParticipantBonjour
Voici une piste
Au moment de créer le tableau croisé dynamique bien cocher : Ajouter ces données au modèle de donnèesPuis dans l’assisnte TCD, dans la zone des champs, faire un clic droit sur le nom de la table et choisir Ajouter une mesure
Donner un nom à ma mesure et saisir la formule en language DAX.=DIVIDE(Sum(Tableau1_1[resultats B]);SUM(Tableau1_1[resultats A]);0)
Voir le classeur joint
Amicalement
Attachments:
You must be logged in to view attached files.27 février 2024 à 0 h 07 min en réponse à : Mesure Dax qui enlève un filtre dans ma table possible? #138060Xavier Allart
ParticipantBonjour
Merci d’avoir fourni le powerbi, mais comme il manque les fichiers sources, je ne peux pas tester.
Est-il possible de déplacer l’étape 8 lignes filtrées par = actif en fin de requête ?
Si oui il faut créer une nouvelle requête par référence (clic droit sur la requête et choisir référence) et ajouter l’étape 8 à la fin de cette nouvelle requête sous l’étape : source.
Sinon si oui il faut créer une nouvelle requête par duplication (clic droit sur la requête et choisir dupliquer) et modifier les étapes.
Amicalement,
Xavier Allart
ParticipantBonjour
Si j’ai bien compris le probleme, omme tu le dis, il te faut une colonne contenant la multiplication de Sondage par Satisfaction.
Cette colonne peut etre créée soit en Power Query soit en DAX
En power query : = Table.AddColumn(#”Type modifié”, “Multiplication”, each [Sondage] * [Satisfaction], type number)En DAX : Multiplication = ‘Table'[Sondage]*’Table'[Satisfaction]
Ensuite il faut une mesure :
DIVIDE(
CALCULATE(SUM(‘Table'[Multiplication]),ALL(‘Table’)),
CALCULATE(SUM(‘Table'[Sondage]),ALL(‘Table’))
,0)Amicalement
14 février 2024 à 9 h 25 min en réponse à : Fonction SOMME.SI.ENS (avec critère différent d’une liste) #137718Xavier Allart
ParticipantBonjour
Voici 1 piste
Si le nom des projets est composé d’une seule lettre et les autres de plusieures on peut utiliser le jocker “?”
=SOMME.SI.ENS($C$16:$C$23;$B$16:$B$23;A8;$A$16:$A$23;”<>?”)Amicalement
14 février 2024 à 9 h 22 min en réponse à : Ajout une ligne dans une visualisation de Matrice #137717Xavier Allart
ParticipantBonjour
Sans jeu de données difficile de vous aider.(merci d’envoyer un power bi)
Une mesure DAX peut ajouter ou soustraire des champs mais pas des lignesAmicalement
Xavier Allart
ParticipantBonjour
Pas de reponse en DAX, mais avec power query voici une piste
Créer une nouvelle requete par referencement à la table source
Ruban Transformer >> Regrouper par
Type : Avancé
Regroupement par : BUID, salesmanID, dateid
Min | Min | StarttimeEnsuite créer les visuels necessaires
Code source :
let
Source = Source,
#”Lignes groupées” = Table.Group(Source, {“BUID”, “salesmanID”, “dateid”}, {{“MIN”, each List.Min([Starttime]), type nullable time}})
in
#”Lignes groupées”Amicalement
Attachments:
You must be logged in to view attached files.Xavier Allart
ParticipantBonjour
Voici 2 idées
La premiere si on n’a pas besoin de la colonne E
Dans le ruban Transformer >> Grouper par
Type : Avancé
Regroupement par : A
Nouvelles colonnes :
B | min | B
C | max |C
D | somme |DPour la deuxieme idée :
Dans le ruban Transformer >> Grouper par
Type : base
Regroupement par : A
Nombre | Compter les lignesDans la barre de formule, remplacer “each Table.RowCount(_), Int64.Type}})”
par “each Table.AddIndexColumn(_,”Index”,0,1), type table}})”Developper la colonne “Nombre”, decocher “A”
Dupliquer la requete, nommer en une “index 0” et l’autre “index 1”
Sur la requete “index 0”
Filtrer la colone “Index” =0
supprimer la colonne “Index”Sur la requete “index 1”
Filtrer la colone “Index” =1
supprimer la colonne “Index”Sur la requete “index 0”
Dans le ruban Accueil > fusionner les requetes comme nouvelle
Pour la table 1 : “index 0” sélectionner les colonnes A et C
Pour la table 2 : “index 0” sélectionner les colonnes A et BSur la requete “Fusionner 1”
Developper la colonne “Index 1” choisir les colonnes C D E
Modifier le type de C et C.1 en “Nombre Entier”
Pour la colonne D.1 remplacer “null” par “0”
Pour la colonne E.1 remplacer “null” par rien
Ajouter une colonne “D3”, = [D] + [D.1]
Ajouter une colonne “C3”, = List.Max({[C], [C.1]})
Modifier le format de “C3” en Date/Heure
Ajouter une colonne “E3″, = [E]&” “&[E.1]
Choisir de conserver les colonnes “A”, “B”, “D3”, “C3”, “E3”Amicalement
Attachments:
You must be logged in to view attached files.12 février 2024 à 10 h 39 min en réponse à : Fonction SOMME.SI.ENS (avec critère différent d’une liste) #137613Xavier Allart
ParticipantBonjour
Voici 1 piste
Si le nom des projets est composé d’une seule lettre et les autres de plusieures on peut utiliser le jocker “?”
=SOMME.SI.ENS($C$16:$C$23;$B$16:$B$23;A8;$A$16:$A$23;”<>?”)
Voir le lien suivant, il existe aussi “*” comme joker
https://support.microsoft.com/fr-fr/office/fonction-somme-si-ens-c9e748f5-7ea7-455d-9406-611cebce642b
ou celui ci : https://excel-malin.com/tutoriels/excel-fonctions/somme-si-ens/Amicalement
10 février 2024 à 0 h 54 min en réponse à : Calculer mon dernier 3 mois en fonction d’une date #137612Xavier Allart
ParticipantBonjour
Dans la fonction dax : DATESINPERIOD(‘DimDates'[Dates].[Mois],SelectedMonth,-3,MONTH)
‘DimDates'[Dates].[Mois] et SelectedMonth ne font pas reference à une date “10/02/2024” mais seulement au mois “02”Amicalement
10 février 2024 à 0 h 33 min en réponse à : Passer de plusieurs lignes à une seule ligne et les informations en colonne #137609Xavier Allart
ParticipantBonjour
Voici une proposition avec un index conditionnel
1) Transposer > Grouper par :
De base
N° producteur
Nombre compter les lignes2) dans la barre de formule :
= Table.Group(#”Type modifié”, {“N° Producteur”}, {{“Nombre”, each Table.RowCount(_), Int64.Type}})
remplacer la fin de la formule each Table.RowCount(_), Int64.Type}})
par = each Table.AddIndexColumn(_,”Index”,1,1), type table}})
pour avoir comme nouvelle formule
= Table.Group(#”Type modifié”, {“N° Producteur”}, {{“Nombre”, each Table.AddIndexColumn(_,”Index”,1,1), type table}})3) Développer la colonne “Nombre”
4) Sélectionner la colonne “Index”
Transformer > Pivoter la colonne
colonne de valeur : Client
options avancées ne pas agrégerVoici le code complet
let
Source = Excel.CurrentWorkbook(){[Name=”Tableau1″]}[Content],
#”Type modifié” = Table.TransformColumnTypes(Source,{{“N° Producteur”, Int64.Type}, {“Nom”, type text}, {“Client”, type text}}),
// Transposer > Grouper par : De base sur N° producteur type Nombre compter les lignes
// Remplacer depuis each jusqu’à la fin par : each Table.AddIndexColumn(_,”Index”,1,1), type table}})
#”Lignes groupées” = Table.Group(#”Type modifié”, {“N° Producteur”}, {{“Nombre”, each Table.AddIndexColumn(_,”Index”,1,1), type table}}),
// Développer la colonne “Nombre”
#”Nombre développé” = Table.ExpandTableColumn(#”Lignes groupées”, “Nombre”, {“Nom”, “Client”, “Index”}, {“Nom”, “Client”, “Index”}),
// Sélectionner la colonne “Index”, Transformer > Pivoter la colonne : colonne de valeur : Client, options avancées : ne pas agréger
#”Colonne dynamique” = Table.Pivot(Table.TransformColumnTypes(#”Nombre développé”, {{“Index”, type text}}, “fr-FR”), List.Distinct(Table.TransformColumnTypes(#”Nombre développé”, {{“Index”, type text}}, “fr-FR”)[Index]), “Index”, “Client”)
in
#”Colonne dynamique”Amicalement
Attachments:
You must be logged in to view attached files. -
AuteurMessages