Wie erhalte ich einen Cross-Join mit Power-Abfrage, um sich an die zugehörigen Werte zu erinnern?

562
Selkie

Angenommen, Sie haben eine grundlegende Excel-Query. Sie haben zwei Listen:

A B C 

und

X Y 

Sie überqueren sie (kartesisch) und erhalten die folgende Tabelle:

A - X A - Y B - X B - Y C - X C - Y 

Nun lassen Sie uns jeder dieser Zahlen Werte zuweisen:

A - X - 1 A - Y - 2 B - X - 3 B - Y - 4 C - X - 5 C - Y - 6 

Nun möchte ich der Liste einen neuen Eintrag hinzufügen - Z

Meine Listen sind jetzt

A B C 

und

X Y Z 

und mein Cross Join ist jetzt:

A - X A - Y A - Z B - X B - Y B - Z C - X C - Y C - Z 

Hier kommt jedoch das Problem ins Spiel. Nachdem ich das getan habe, sind dies meine Werte:

A - X - 1 A - Y - 2 A - Z - 3 B - X - 4 B - Y - 5 B - Z C - X C - Y C - Z - 6 

Nein, nein, das ist alles falsch.

Ich arbeite derzeit daran, den Wert vor der Aktualisierung der Tabelle einzufügen und dann eine Indexübereinstimmung von der neuen Tabelle in die alte Tabelle auszuführen, um die Daten aufzufüllen. Aber ich kann mir vorstellen, dass es einen besseren Weg geben muss.

Wie kann ich meine Cross Joins dazu bringen, sich an ihre Daten zu erinnern und sie in Ordnung zu halten?

Beispiel erwartetes Ergebnis:

A - X - 1 A - Y - 2 A - Z B - X - 3 B - Y - 4 B - Z C - X - 5 C - Y - 6 C - Z 

Betriebssystem: Windows 10 Version: Excel 365

let Source = TableA, #"Added Custom" = Table.AddColumn(Source, "Lab Name", each LabNames), #"Expanded Lab Name" = Table.ExpandTableColumn(#"Added Custom", "Lab Name", {"Lab Abbrv"}, {"Lab Abbrv"}) in #"Expanded Lab Name" 
3
Wie genau machen Sie den Cross Join? harrymc vor 6 Jahren 0
Mit Powerabfrage. Sie nehmen die Tabelle "Anzüge", fügen eine benutzerdefinierte Spalte hinzu und fügen die Tabelle "Zahlen" hinzu, sofern Sie beide in das Datenmodell geladen haben. Dadurch wird das Cross-Join "Kartendeck" erstellt. Selkie vor 6 Jahren 0
Bearbeiten Sie Ihren Beitrag, um Ihre Fragen einzubeziehen Olly vor 6 Jahren 0
In welcher Beziehung stehen "Anzüge" und "Zahlen" zu Ihrer Frage? harrymc vor 6 Jahren 0
@Olly - es ist ein Cross-Join mit zwei Elementen - sie werden nicht viel einfacher. Selkie vor 6 Jahren 0
@Selkie Während ich versuchen könnte zu erraten, wie Sie beitreten, und die 'Werte' zuweisen ... Aber es würde uns beiden viel mehr helfen, wenn ich Ihre tatsächlichen Fragen sehen könnte, anstatt zu raten / anzunehmen. Sie sind sich nicht sicher, was den Vorteil für Sie ist, wenn Sie Ihren Code nicht veröffentlichen. Olly vor 6 Jahren 0
Die Werte werden manuell in der Nachabfrage hinzugefügt Selkie vor 6 Jahren 0

0 Antworten auf die Frage