Hallo zusammen,
ich habe folgendes Fragestellung.
Ich habe 2 Tabellen. Die 1.Tabelle sieht so aus:
Von Konto bis Konto ID
5000 6000 150
6001 6500 160
Die 2. Tabelle so:
Konto ID
5499
6300
Beide Tabellen habe mehrere Tausende von Einträgen. Wie schaffe ich es in der 2. Tabelle die entsprechende ID der 1. Tabelle zu setzen, sobald das Konto der 2. Tabelle im Bereich der 1. Tabelle von Konto bis Konto liegt?
Ich komme da (zumindestmit meinen Kenntnissen) mit den mir bekannten "Bordmitteln" sverweis etc. nicht weiter.
Vielen Dank vorab.
Hola,
wenn die Konten in Tabelle 1 aufsteigend sortiert sind klappt das mit dem Sverweis, 4. Parameter auf WAHR.
Gruß,
steve1da
Danke steve1da, mein Problem lag bei der Sortierung. Klappt also jetzt.
Ich habe versucht die beiden Tabellen jetzt als Power Query Abfrage zu verbinden. PQ kann aber( meines Wissens) nicht die Bereiche von bis auswerten.
Oder hat jemand eine Idee?
...doch, doch. Das kann PQ. Spalte als Zahl formatieren und Bedingung entsprechend formulieren:
Code:
#"Geänderter Typ" = Table.TransformColumnTypes(Tabellenname,{{"Spaltenbezeichnung", Int64.Type}}),
#"Gefilterte Zeilen" = Table.SelectRows(#"Geänderter Typ", each [Spaltenbezeichnung] >= 6000 and [Spaltenbezeichnung] <= 6100)
PQ kann zwar keinen größer/kleiner-Tabellenjoin, aber das lässt sich trotz allem ohne statische Abfrage recht leicht realisieren.
Hallo
So würde mein Lösung als PQ aussehen
Hier ein Beispiel, bei dem die Von/Bis-Bereiche nicht auf einzelne Nummern ausgeweitet werden, so wie ich es bisher gemacht habe. Aber da bei Kontonummern mit entsprechend vielen Stellen, bei meiner früheren Methode, wenn auch nur temporär, eine sehr große Zwischentabelle entstanden wäre, habe ich mir schnell mal eine andere Methode ausgedacht. Bedingung ist nur, das zwischen den von/bis-Bereichen keine Lücken vorhanden sind.
vielen Dank für den Input, ich probiere das am WE aus und gebe Feedback
Hallo
Mir ist gerade noch einen Flüschtigkeitsfehler aufgefallen, hier die Verbesserung.
Hallo
Hier einfach noch mal zwei PQ Varianten.
Tabelle1:
Von Konto | Bis Konto | ID
Tabelle2:
Konto
Code:
let
Quelle = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],
QuelleA = Excel.CurrentWorkbook(){[Name="Tabelle2"]}[Content],
#"Hinzugefügte benutzerdefinierte Spalte" = Table.AddColumn(QuelleA, "Benutzerdefiniert", each Quelle),
#"Erweiterte Benutzerdefiniert" = Table.ExpandTableColumn(#"Hinzugefügte benutzerdefinierte Spalte", "Benutzerdefiniert", {"Von Konto", "Bis Konto", "ID"}, {"Von Konto", "Bis Konto", "ID"}),
#"Hinzugefügte benutzerdefinierte Spalte1" = Table.AddColumn(#"Erweiterte Benutzerdefiniert", "Benutzerdefiniert", each List.Median({[Konto]}&{[Von Konto]}&{[Bis Konto]}) = [Konto]),
#"Gefilterte Zeilen" = Table.SelectRows(#"Hinzugefügte benutzerdefinierte Spalte1", each ([Benutzerdefiniert] = true)),
#"Entfernte Spalten" = Table.RemoveColumns(#"Gefilterte Zeilen",{"Von Konto", "Bis Konto", "Benutzerdefiniert"})
in
#"Entfernte Spalten"
Code:
let
Quelle = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],
QuelleA = Excel.CurrentWorkbook(){[Name="Tabelle2"]}[Content],
Test = Table.AddColumn(QuelleA, "ID", each Table.SelectRows(Quelle, (Quelle) => (try ([Konto] >= Quelle[Von Konto] and [Konto] <= Quelle[Bis Konto]) otherwise true))),
#"Erweiterte ID" = Table.ExpandTableColumn(Test, "ID", {"ID"}, {"ID"})
in
#"Erweiterte ID"