Clever-Excel-Forum

Normale Version: Power Query - Auswahl und Wahr/falsch
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Ausgangssituation: Excel 365 unter macOS

Ich habe eine .csv Datei. in der es u. a. eine Spalte mit dem Inhalt "Ja" und "Nein" gibt, leider kann ich daraus keine Spalte vomTyp Wahr/Falsch machen.

Und als zweites habe ich eine Spalte in der jeweils "Variante A", "Variante B", "Variante C" und "Variante X" stehen. Kann ich diese 4 Werte in ein Auswahlfeld umwandeln? Also dass in der Tabelle nichts anderes mehr aaswählbar ist?

Danke für Eure Hilfe!

OI.
(11.02.2024, 09:58)Fröschl schrieb: [ -> ]Ich habe eine .csv Datei. in der es u. a. eine Spalte mit dem Inhalt "Ja" und "Nein" gibt, leider kann ich daraus keine Spalte vomTyp Wahr/Falsch machen.
Ersetzen von Ja/Nein durch true/false und dann den Datentyp anpassen.

(11.02.2024, 09:58)Fröschl schrieb: [ -> ]Und als zweites habe ich eine Spalte in der jeweils "Variante A", "Variante B", "Variante C" und "Variante X" stehen. Kann ich diese 4 Werte in ein Auswahlfeld umwandeln? Also dass in der Tabelle nichts anderes mehr aaswählbar ist?
In PQ kann man die Daten nicht durch Eingaben verändern.
Es werden nur Daten transformiert oder aggregiert.
Hi,

im Bsp. wird die Spalte "erfüllt" mit ja/nein Werten in die Spalte "logisch" mit true/false Werten verwandelt.

In PQ selbst können keine Auswahlfelder erstellt werden, Du könntest aber eine entsprechende Parametertabelle erstellen und verwenden. Dazu erstellst Du in Excel ein Dropdown mit der Liste der gewünschten Überschriftenfelder aus der Quelle und verwendest dieses Auswahlfeld als "Filterparameter" (Spalten kann man ja nicht echt filtern... nur aus- oder abwählen) in PQ.


PS: uups.... hatte vergessen, das Bsp. anzuhängen...  21

Code:
let
    Quelle = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],
   Wandeln = Table.RemoveColumns(Table.AddColumn(Quelle, "logisch", each if [erfüllt] = "ja" then true else if [erfüllt] = "nein" then false else null, type logical),{"erfüllt"}) 
in
   Wandeln
Hallo PQ-M-Fan's,

man kann die erfüllt'-Spalte auch Transformieren, so daß man sich das Erstellen /Löschen von Spalten erspart:
Code:
let
    Quelle = Excel.CurrentWorkbook(){[Name="tab_Daten"]}[Content],
    Wandeln = Table.TransformColumnTypes(Table.TransformColumns(Quelle,
        {{"erfüllt", each _ = "ja"}}), {{"erfüllt", type logical}})
in
    Wandeln


Gruß von Luschi
aus klein-Paris

PS: falls sich jemand fragt, wo der '_' bei  each _ = "ja" herkommt -  man kann 'each' auch Auflösen in  (_)=> _ = "ja"
....schöne Lösung!  Thumps_up
Hallo Ralf,

mit
each Text.Lower(Text.Trim(_)) = "ja"
wird der PQ-Schritt robuster gegen Schreib- und Eingabefehler-

Gruß von Luschi
aus klein-Paris
Hallo PQ-M-Fan's

wenn es um robuste PQ-Abfragen geht, dann sollte man immer damit rechnen, das Werte auch null sein können, also keinen Wert haben. Diese Situation kann man mit den Coalesce-Operator '??' abfangen; deshalb sieht meine PQ-Lösung jetzt so aus:
Code:
let
    Quelle = Excel.CurrentWorkbook(){[Name="tab_Daten"]}[Content],
    Wandeln = Table.TransformColumnTypes(Table.TransformColumns(Quelle,
        {{"erfüllt", each Text.Lower(Text.Trim(_ ?? "")) = "ja"}}), {{"erfüllt", type logical}})
in
    Wandeln
Gruß von Luschi
aus klein-Paris

PS: _ ?? "" wandelt null-Werte in leere Zeichenketten um!