Mehrfache Fallunterscheidung in Power Query, SELECT CASE Datentyp Text



Mit einer benutzerdefinierten Funktion in Power Query ist es möglich, eine
mehrfache Fallunterscheidung analog der SELECT CASE Anweisung in VBA
zu realisieren.

Beispiel:
Tabellenname = Tabelle1
Spaltenbezeichnung = Artikelgruppe
zu Funktion Text.Range siehe nützliche Textfunktionen in Power Query


Language M Code (Power Query, Start -> erweiterter Editor)

let
   SELECT_CASE = (input) =>
let
      values = {
            {"0", "Null"},
            {"1", "Eins"},
            {"2", "Zwei"},
            {"3", "Drei"},
            {"4", "Vier"},
            {"5", "Fünf"},
            {"6", "Sechs"},
            {"7", "Sieben"},
            {"8", "Acht"},
            {"9", "Neun"},
            {input, "tbd"}
        },
      Ergebnis = List.First(List.Select(values, each _{0}=input)){1}
    in
      Ergebnis,
    Quelle = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],
    in_Text_konvertieren = Table.TransformColumnTypes(Quelle,{{"Artikelgruppe", type text}}),
    Spalte_hinzufügen = Table.AddColumn(in_Text_konvertieren, "Teileart", each
    SELECT_CASE(Text.Range([Artikelgruppe],1,1)))

   in

    Spalte_hinzufügen



wiederverwendbare benutzerdefinierte Funktion (custom function)
fxSelect_Case (Code in eine neue, leere Abfrage einfügen, Abfrage in fxSelect_Case umbenennen)

--- SCHNIPP

let
   SELECT_CASE = (input as text) =>
let
      values = {
            {"0", "Null"},
            {"1", "Eins"},
            {"2", "Zwei"},
            {"3", "Drei"},
            {"4", "Vier"},
            {"5", "Fünf"},
            {"6", "Sechs"},
            {"7", "Sieben"},
            {"8", "Acht"},
            {"9", "Neun"},
            {input, "tbd"}
        },
      Ergebnis = List.First(List.Select(values, each _{0}=input)){1}
    in
      Ergebnis
in
SELECT_CASE

--- SCHNAPP

siehe auch hier

siehe auch alternativer Ansatz für einzelne Zeichen / Umlaute

Kommentare

Beliebte Posts aus diesem Blog

Dropdown Liste mit Mehrfachauswahl

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

nützliche Text Funktionen in Power Query