Momentan kann ich keine typische Datenbank verwenden, deshalb verwende ich Excel vorübergehend. Irgendwelche Ideen?Gibt es eine Möglichkeit, ein Cross Join oder ein kartesisches Produkt in Excel auszuführen?
Die eine CROSS JOIN
mit
Momentan kann ich keine typische Datenbank verwenden, deshalb verwende ich Excel vorübergehend. Irgendwelche Ideen?Gibt es eine Möglichkeit, ein Cross Join oder ein kartesisches Produkt in Excel auszuführen?
Die eine CROSS JOIN
mit
Dieser Artikel hat mir geholfen, ein Cross-Join in Excel durchführen:
http://www.excelguru.ca/blog/2016/05/11/cartesian-product-joins-for-the-excel-person/
Es ist die Microsoft in Microsoft Power-Abfrage für Excel https://www.microsoft.com/en-us/download/details.aspx?id=39379
Mit VBA können Sie hinzufügen erfordert. Hier ist ein kleines Beispiel:
Sub SqlSelectExample()
'list elements in col C not present in col B
Dim con As ADODB.Connection
Dim rs As ADODB.Recordset
Set con = New ADODB.Connection
con.Open "Driver={Microsoft Excel Driver (*.xls)};" & _
"DriverId=790;" & _
"Dbq=" & ThisWorkbook.FullName & ";" & _
"DefaultDir=" & ThisWorkbook.FullName & ";ReadOnly=False;"
Set rs = New ADODB.Recordset
rs.Open "select ccc.test3 from [Sheet1$] ccc left join [Sheet1$] bbb on ccc.test3 = bbb.test2 where bbb.test2 is null ", _
con, adOpenStatic, adLockOptimistic
Range("g10").CopyFromRecordset rs '-> returns values without match
rs.MoveLast
Debug.Print rs.RecordCount 'get the # records
rs.Close
Set rs = Nothing
Set con = Nothing
End Sub
Sie haben 3 Dimensionen hier: dim1 (ABC), dim2 (123), dim3 (XYZ).
Hier ist, wie Sie ein kartesisches Produkt von 2 Dimensionen mit Standard-Excel und keine VBA machen:
1) Plotten dim1 vertikal und horizontal DIM2. Verketten Dimensionselemente an den Kreuzungspunkten:
2) Unpivoting Daten. Starten Sie den Pivot-Tabellen-Assistenten mit ALT-D-P (halten Sie nicht ALT gedrückt, drücken Sie einmal). Wählen Sie "Mehrere Konsolidierungsbereiche" -> erstellen Sie eine einzelne Seite .. -> Wählen Sie alle Zellen (einschließlich Header!) Und fügen Sie es zur Liste hinzu, drücken Sie auf Weiter.
3) Zeichnen Sie die resultierenden Werte vertikal und die verketteten Strings
Voila zerlegen Sie die Cross-Join haben. Wenn Sie eine weitere Dimension hinzufügen möchten, wiederholen Sie diesen Algorithmus erneut.
Cheers,
Constantine.
Eine Sekunde, die Formatierung wird in diesem Beitrag geschlachtet. – user1248831
Überprüfen Sie diesen Artikel http://www.nullskull.com/q/10113257/need-a-cross-join-of-the-rows-from-two-excel-sheets.aspx – Rahul