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 ---

Download Beispieldatei 


Kommentare

Beliebte Posts aus diesem Blog

Vergleich mit 2 Bedingungen, INDEX(), VERGLEICH()

Dropdown Liste mit Mehrfachauswahl

nützliche Text Funktionen in Power Query