Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Filtern und XVERWEIS in PQ

Forumthread: Filtern und XVERWEIS in PQ

Filtern und XVERWEIS in PQ
25.10.2024 14:39:47
Christian
Hallo,

ich bitte um eure Hilfe. Ich weiß, ich bin kein PQ Spezialist, aber irgendwie habe ich es geschafft, mir 2 Abfragen zusammenzubasteln.

1. (Name Bilderalle), wobei die Quelle 204 Spalten hat, ich hab den Code jetzt der Übersicht zuliebe auf 4 Spalten reduziert, die anderen gehen durchs entpivotieren ja sowieso verloren.

let

Quelle = Excel.CurrentWorkbook(){[Name="Tabelle12"]}[Content],
#"Geänderter Typ" = Table.TransformColumnTypes(Quelle,{{"Spalte1", type text}, {"Spalte2", type text}, {"Spalte3", type text}, {"Spalte4", type text}}),
#"Entpivotierte andere Spalten" = Table.UnpivotOtherColumns(#"Geänderter Typ", {"Spalte1", "Spalte2", "Spalte3"}, "Attribut", "Wert"),
#"Gefilterte Zeilen" = Table.Buffer(Table.SelectRows(#"Entpivotierte andere Spalten", each Text.EndsWith([Wert], "jpg"))),
#"Hinzugefügte benutzerdefinierte Spalte" = Table.AddColumn(#"Gefilterte Zeilen", "Benutzerdefiniert", each [Spalte2]&[Spalte3]),
#"Entfernte Spalten2" = Table.RemoveColumns(#"Hinzugefügte benutzerdefinierte Spalte",{"Spalte2", "Spalte3", "Spalte1", "Attribut"}),
#"Gefilterte Zeilen1" = Table.SelectRows(#"Entfernte Spalten2", each Text.StartsWith([Benutzerdefiniert], "tt")),
#"Umbenannte Spalten1" = Table.RenameColumns(#"Gefilterte Zeilen1",{{"Wert", "a"}, {"Benutzerdefiniert", "b"}})
in
#"Umbenannte Spalten1"


und 2. (Name BilderU30)

let

Quelle = Excel.CurrentWorkbook(){[Name="u30ist"]}[Content],
#"Geänderter Typ" = Table.TransformColumnTypes(Quelle,{{"a", type text}, {"b", type text}, {"c", type datetime}, {"d", type text}, {"e", type text}, {"f", type datetime}, {"g", Int64.Type}, {"h", Int64.Type}, {"i", Int64.Type}, {"j", Int64.Type}, {"k", type text}, {"l", type text}, {"m", Int64.Type}, {"n", Int64.Type}}),
#"Sortierte Zeilen" = Table.Buffer(Table.Sort(#"Geänderter Typ",{{"c", Order.Ascending}})),
#"Entfernte Duplikate" = Table.Buffer(Table.Distinct(#"Sortierte Zeilen", {"l"})),
#"Hinzugefügte benutzerdefinierte Spalte" = Table.AddColumn(#"Entfernte Duplikate", "Benutzerdefiniert", each [a]&[d]),
#"Entfernte Spalten" = Table.RemoveColumns(#"Hinzugefügte benutzerdefinierte Spalte",{"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "l", "m", "n"}),
#"Umbenannte Spalten" = Table.RenameColumns(#"Entfernte Spalten",{{"k", "a"}, {"Benutzerdefiniert", "b"}})
in
#"Umbenannte Spalten"


Nun zu meinem Anliegen,

wie ihr seht, habe ich in beiden Abfragen eine Benutzerdefinierte Spalte hinzugefügt, in denen ich 2 Texte miteinander verkette.
In der ersten Abfrage würde ich diese Spalte gerne filtern und zwar so, dass nur Texte sichtbar bleiben, die ebenfalls in der benutzerdefinierten Spalte der 2. Abfrage stehen.
Nur weiß ich leider nicht, wie ich eine Verknüpfung zwischen diesen Abfragen herstellen kann. Kann mir da jemand einen Tipp geben?

Und mein anderes Anliegen:
Ich würde gerne der 1. Abfrage eine weiter Spalte hinzufügen a la =XVERWEIS(Benutzerdefinierte Spalte 1. Abfrage; Benutzerdefinierte Spalte 2. Abfrage, Spalte mit der Bezeichnung "a" der 2. Abfrage) wie mache ich das?

Danke
Christian
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Filtern und XVERWEIS in PQ
25.10.2024 15:44:58
Christian
Hallo Yal,

danke erstmal für den Tipp also das mit dem linken äußeren Join hab ich hinbekommen und hab jetzt meine gefilterte Tabelle,


let
Quelle = Excel.CurrentWorkbook(){[Name="Tabelle12"]}[Content],
#"Geänderter Typ" = Table.TransformColumnTypes(Quelle,{{"Spalte1", type text}, {"Spalte2", type text}, {"Spalte3", type text}, {"Spalte4", type text}})
#"Entpivotierte andere Spalten" = Table.UnpivotOtherColumns(#"Geänderter Typ", {"Spalte1", "Spalte2", "Spalte3"}, "Attribut", "Wert"),
#"Gefilterte Zeilen" = Table.Buffer(Table.SelectRows(#"Entpivotierte andere Spalten", each Text.EndsWith([Wert], "jpg"))),
#"Hinzugefügte benutzerdefinierte Spalte" = Table.AddColumn(#"Gefilterte Zeilen", "Benutzerdefiniert", each [Spalte2]&[Spalte3]),
#"Entfernte Spalten2" = Table.RemoveColumns(#"Hinzugefügte benutzerdefinierte Spalte",{"Spalte2", "Spalte3", "Spalte1", "Attribut"}),
#"Gefilterte Zeilen1" = Table.SelectRows(#"Entfernte Spalten2", each Text.StartsWith([Benutzerdefiniert], "tt")),
#"Umbenannte Spalten1" = Table.RenameColumns(#"Gefilterte Zeilen1",{{"Wert", "a"}, {"Benutzerdefiniert", "b"}}),
#"Zusammengeführte Abfragen" = Table.NestedJoin(#"Umbenannte Spalten1", {"b"}, BilderU30, {"b"}, "BilderU30", JoinKind.LeftOuter)
in
#"Zusammengeführte Abfragen"


aber mit dem zweiten Anliegen stehe ich immer noch auf dem Schlauch
Anzeige
ok, da war ein Fehler drin
25.10.2024 15:59:09
Christian
aber so scheint es zu klappen,
vielen Dank

let

Quelle = Excel.CurrentWorkbook(){[Name="Tabelle12"]}[Content],
#"Geänderter Typ" = Table.TransformColumnTypes(Quelle,{{"Spalte1", type text}, {"Spalte2", type text}, {"Spalte3", type text}, {"Spalte4", type text}}),
#"Entpivotierte andere Spalten" = Table.UnpivotOtherColumns(#"Geänderter Typ", {"Spalte1", "Spalte2", "Spalte3"}, "Attribut", "Wert"),
#"Gefilterte Zeilen" = Table.Buffer(Table.SelectRows(#"Entpivotierte andere Spalten", each Text.EndsWith([Wert], "jpg"))),
#"Hinzugefügte benutzerdefinierte Spalte" = Table.AddColumn(#"Gefilterte Zeilen", "Benutzerdefiniert", each [Spalte2]&[Spalte3]),
#"Entfernte Spalten2" = Table.RemoveColumns(#"Hinzugefügte benutzerdefinierte Spalte",{"Spalte2", "Spalte3", "Spalte1", "Attribut"}),
#"Gefilterte Zeilen1" = Table.SelectRows(#"Entfernte Spalten2", each Text.StartsWith([Benutzerdefiniert], "tt")),
#"Umbenannte Spalten1" = Table.RenameColumns(#"Gefilterte Zeilen1",{{"Wert", "a"}, {"Benutzerdefiniert", "b"}}),
#"Zusammengeführte Abfragen" = Table.NestedJoin(#"Umbenannte Spalten1", {"b"}, BilderU30, {"b"}, "BilderU30", JoinKind.Inner),
#"Erweiterte BilderU30" = Table.ExpandTableColumn(#"Zusammengeführte Abfragen", "BilderU30", {"a"}, {"BilderU30.a"}),
#"Entfernte Spalten" = Table.RemoveColumns(#"Erweiterte BilderU30",{"b"}),
#"Umbenannte Spalten" = Table.RenameColumns(#"Entfernte Spalten",{{"BilderU30.a", "b"}})
in
#"Umbenannte Spalten"
Anzeige
AW: Filtern und XVERWEIS in PQ
25.10.2024 16:09:30
Yal
Hallo Christian

was Du bisher hast:
Du hast deine zwei "Mengen" Abfrage1 und Abfrage2.
in Abfrage1 machst Du eine Left-outer-Join mit der Abfrage2.

Dann musst Du in der neuen Spaltenüberschrift den Symbol mit den 2 Pfeilen klicken und ausswählen, welche Spalten übernommen werden sollen.
So hast Du einen Ergebnis, dass wie einen XVerweis aussieht.

Ohne einen Beispiel wird es schwierig. Mache eine Dummy-Datei: in Arbeitsblatt1 eine Tabelle1, mit Spalten a, b, c, die in Abfrage1 aufgenommen werden und in Arbeitsblatt2 eine Tabelle2 mit Spalte d, e, f, daraus wird Abfrage2.

Fülle die Tabelle mit Dummy-Elemente (max 15 Zeilen pro Tabelle). In Spalten a und d müssen Daten geben, die sich überschneiden:
in a: ="Elt " & zufallsbereich(1;4)
in d: ="Elt " & zufallsbereich(3;6)
so werden "Elt 2" und "Elt 4" in beiden Spalten vorhanden sein. Dann kann man joinen
die Spalten b, c, e, f füllst Du mit
= wechseln (A2; "Elt", "Sp b")
= wechseln (A2; "Elt", "Sp c")
= wechseln (A2; "Elt", "Sp e")
= wechseln (A2; "Elt", "Sp f")

Dann kannst Du basteln/Spielen und genauer erklären, was am Ende rauskommen soll. Und vor allem dein Zwischenergebnis als Datei hochladen.

VG
Yal




Anzeige
AW: Filtern und XVERWEIS in PQ
25.10.2024 16:12:14
Christian
Halo Yal, danke für die Erklärung, ich glaube unsere beiden letzten Antworten haben sich überschnitten.
auch ausführlicherer Test hat funktioniert, owT
25.10.2024 16:49:18
Christian
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige