Ich habe eine Matrix mit mehreren Zeilen/Spalten. Die Anzahl der Spalten ist immer gleich der Anzahl der Zeilen, aber ich kenne die genaue Anzahl nicht, da sie das Ergebnis einer anderen Abfrage sind.So finden Sie die Umkehrung einer Matrix in SQL Server
Hier ist ein einfaches Beispiel mit zwei Spalten/Zeilen
ID1 ID2
1 4 7
2 2 6
Ich erhalte diese Matrix aus einer Tabelle, die wie folgt aussieht:
ID1 ID2 Value
1 1 4
1 2 7
2 1 2
2 2 6
Jetzt würde ich die Inverse davon haben möchte Matrix.
Das Ergebnis, wie dies in einer Matrix aussehen:
ID1 ID2
1 0.6 -0.7
2 -0.2 0.4
Oder wie dies in einer Tabelle:
ID1 ID2 Value
1 1 0.6
1 2 -0.7
2 1 -0.2
2 2 0.4
Es ist im Grunde die Excel-Formel = {MINVERSE (Array)} in SQL Server
In meiner Datenbank habe ich beide, Tabelle und Matrix, so dass ich verwenden kann, was am besten funktionieren würde, um das Gegenteil zu finden.
Ich denke, dies zu tun in SQL ist eine schlechte Idee. Speichern Sie es in einer Datenbank scheint vernünftig mit dem Schema, das Sie haben, aber versuchen, es in einem RDBMS zu manipulieren ... es ist eine Strecke, da Sie Beziehungen wie in den Daten selbst definiert berücksichtigen. Es scheint zweckmäßiger, dies außerhalb der Datenbank in einem Programm zu tun, das für den Umgang mit Matrixdaten ausgelegt ist. – JNevill
@JNevill Was denken Sie, Sie sind die richtige Software, um große Matrix wie diese (200X200) zu behandeln? Die Arbeit, die ich damit mache, ist im Grunde Finanz-Engineering, Risiko-Rendite-Berechnung. – Rich
Ich bin mir nicht sicher, da ich nicht oft mit Matrixdaten arbeite. Ich würde mir eine Sprache vorstellen, die mehr auf Analysen und Statistiken wie R ausgerichtet ist, wäre aber ein guter Ausgangspunkt. [Dieses Tutorial] (http://www.r-tutor.com/r-introduction/matrix) scheint darauf hinzuweisen, dass R gut passt. – JNevill