SQL Server: zufällige Auswahl von n Zeilen einer Tabelle

Bei einer Aufgabe zur Performance-Steigerung einer SQL Server 2008-Applikation (über die ich später berichten werde), war die erste Aufgabe, ein Test-Szenario aufzubauen, anhand dessen die Abfragezeiten verglichen werden konnten.

Der erste Schritt war dazu die Auswahl 100 beliebiger Sätze aus einer Tabelle. Dabei zeigte mir ein Kollege folgende super einfache Möglichkeit:

select top 100 * from sysobjects order by newid()

[Natürlich muss sysobjects durch die entsprechende Applikations-Tabelle ersetzt werden 🙂 ]

Analysis Services: Zahlen-Formatierung mit Texten (z.B. „min“)

Im Analysis Services kann man natürlich die Formatierung der Measures und berechneten Measures vielfältig gestalten. Die Möglichkeiten gehen aber über die Anzahl der Nachkommastellen hinaus.

Im Beispiel will ich ein Measure, das Zeiten beinhaltet, so formatieren, dass die Zahlen als 17,5 min dargestellt werden. Dadurch ist dem Benutzer klar, dass es sich um Dauer in Minuten handelt.

Bei Measures gibt man als Formatstring an: #,##0.00 min oder #,##0.00″ min“

Bei berechneten Measures gibt man als Formatstring an: „#,##0.00 min“ oder „#,##0.00″“ min“““

[Wegen der Anführungszeichen muss man bei den berechneten Measures aufpassen, da bei einfachen Anführungszeichen ein Syntax Fehler erscheint. Aber wie die Beispiele zeigen, kann man die Anführungszeichen um „min“ herum auch weglassen]

Das Ergebnis in Excel 2007:

Formatierung mit Minuten in Excel 2007

Wie man sieht, stimmt die Formatierung. Und es ist wirklich nur eine Formatierung und kein String, so dass in Excel mit der Zahl auch weiter gerechnet werden könnte.