Power Query, Bewertungsmatrix, Abweichung zu Vergleichsprodukt
Bewertungsmatrix (Produkte mit Eigenschaften und Ausprägungen)
mit einem Produkt vergleichen
Lern Video
1 Benutzereingabe (Produkt 1, Produkt 2 usw) als Arbeitsmappenabfrage abbilden
Verweis:
Werte einer Zelle als Arbeitsmappenabfrage abbilden siehe Power Query / benannte Bereiche
2 Tabelle Bewertungsmatrix als benutzerdefinierte Tabelle formatieren und anschließend
als Arbeitsmappenabfrage abbilden
3 neue, leere Arbeitsmappenabfrage erstellen und folgenden Language M Code kopieren:
--- SCHNIPP ---
let
Quelle = Vergleichsmatrix,
Gruppierte_Summe_Wert = Table.Group(Quelle, {"Attribut"}, {{"Summe_Produkt", each List.Sum([Wert]), type number}}),
Sortierung_Abst_Summe_Produkt = Table.Sort(Gruppierte_Summe_Wert,{{"Summe_Produkt", Order.Descending}}),
IndexSpalte_Rang = Table.AddIndexColumn(Sortierung_Abst_Summe_Produkt,"Rang",1
),
Bewertung = Table.RenameColumns(IndexSpalte_Rang,{{"Attribut", "Produkt"}, {"Summe_Produkt", "Bewertung"}}),
Filter = Table.SelectRows(Quelle, each ([Attribut] = Vergleichsprodukt)),
Bewertung_Vergleichsprodukt = List.Sum(Filter[Wert]),
Ergebnis = Table.AddColumn(Bewertung, "Vergleichsprodukt", each Bewertung_Vergleichsprodukt),
Abweichung = Table.AddColumn(Ergebnis, "Abweichung", each [Bewertung]-[Vergleichsprodukt]),
Filter_Ausschluss_Vergleichsprodukt = Table.SelectRows(Abweichung, each ([Abweichung] <> 0)),
Ergebnis_Tabelle = Table.RenameColumns(Filter_Ausschluss_Vergleichsprodukt,{{"Vergleichsprodukt", "Bewertung_Vergleichsprodukt"}})
in
Ergebnis_Tabelle
--- SCHNAPP ---
Variante benutzerdefinierte Funktion fxBewertungsmatrix
--- SCHNIPP ---
(tblBewertungstabelle as table, txtProdukt as text) =>
let
Quelle = tblBewertungstabelle,
Entpivotieren = Table.UnpivotOtherColumns(Quelle, {"Eigenschaften"}, "Attribut", "Wert"),
Gruppierte_Summe_Wert = Table.Group(Entpivotieren, {"Attribut"}, {{"Summe_Produkt", each List.Sum([Wert]), type number}}),
Sortierung_Abst_Summe_Produkt = Table.Sort(Gruppierte_Summe_Wert,{{"Summe_Produkt", Order.Descending}}),
IndexSpalte_Rang = Table.AddIndexColumn(Sortierung_Abst_Summe_Produkt,"Rang",1
),
Bewertung = Table.RenameColumns(IndexSpalte_Rang,{{"Attribut", "Produkt"}, {"Summe_Produkt", "Bewertung"}}),
Filter = Table.SelectRows(Bewertung, each ([Produkt] = txtProdukt)),
Bewertung_Vergleichsprodukt = List.Sum(Filter[Bewertung]),
Ergebnis = Table.AddColumn(Bewertung, "Vergleichsprodukt", each Bewertung_Vergleichsprodukt),
Abweichung = Table.AddColumn(Ergebnis, "Abweichung", each [Bewertung]-[Vergleichsprodukt]),
Filter_Ausschluss_Vergleichsprodukt = Table.SelectRows(Abweichung, each ([Abweichung] <> 0)),
Ergebnis_Tabelle = Table.RenameColumns(Filter_Ausschluss_Vergleichsprodukt,{{"Vergleichsprodukt", "Bewertung_Vergleichsprodukt"}})
in
Ergebnis_Tabelle
--- SCHNAPP ---
Kommentare
Kommentar veröffentlichen