SQL Server 2012: CUME_DIST() – kumulierte Verteilung eines Wertes

Neben den Erweiterung der OVER-Klausel wurden auch einige statistische Erweiterung implementiert. Wollen Sie zum Beispiel wissen, wie häufig ein Werte rel. zum Rest eines Bereiches vorkommt, so kann dies CUME_DIST im Handumdrehen lösen. Das kann nützlich sein, wenn Sie in einer Tabelle Abteilunge und Umsätze sehen. Wollen Sie nun wissen, welcher Umsatz pro Abteilung der höchste war und wie hoch die anderen Umsätze rel. zur aktuellen Position in der Abteilung sind, dann wäre das ein Fall für den CUST_DIME().

 

CREATE TABLE Tab1 (id int identity,Col1 char(2), COL2 int) 
GO
INSERT INTO Tab1 VALUES('IT',5), ('IT',3),  ('IT',2), ('HR',10),('HR',8),('HR',3),('HR',1),('MA',5),('MA',4),('MA',4)
GO

SELECT Col1, COL2,
       CUME_DIST() OVER(PARTITION by COL1 ORDER BY COL2) AS "CUME_DIST()"   FROM Tab1

 

und hier das Ergebnis:

Die Spalten CUME_DIST() zeigt wieviel Prozent der Abteilungen (HR, IT etc) gleich oder kleiner sind als der aktuelle Wert in Spalte COL2.

Beispielsweise ist in HR in COL2 der höchste Wert. Daher ist CUME_DIST = 1, da alle anderen Werte (100%=1) eben kleiner oder gleich sind in HR. Betrachtet man die 8 in HR, so sind drei viertel der Werte (8,3,1) kleiner oder gleich als die 8 (3/4 = 0,75)

SQL 2008 Administration Training

Fumus

Share
Published by
Fumus
Tags: T-SQL

Recent Posts

SQL Server 2019 – static data masking – Du Opfer!

In SQL Server 2016 wurde das sog. dynamic data masking eingeführt. Eine Möglichkeit Daten bei…

5 Jahren ago

MinRole – Oder wie alles etwas einfacher wird

Seit Sharepoint Server 2007 präsentiert sich die Installation immer auf die gleiche Weise. Gerade mal,…

8 Jahren ago

Schritt für Schritt: SQL 2016 – Dynamic Data Masking

Es weihnachtet! Gerade bekam ich von einer Kollegin Plätzchen angeboten mit der Größe eines Diskus…

8 Jahren ago

Schritt für Schritt: SQL Server 2016 – temporal tables

Nein, bitte nicht verwechseln: temporal tables haben nichts zu tun mit temporary tables table variables…

9 Jahren ago

SQL Server 2016 Schritt für Schritt–Installation und First Look

SQL Server 2016.. habe ich schon erwähnt, dass ich den ziemlich cool finde? Wollen wir…

9 Jahren ago

SQL Server 2016 – CTP2

Nach langer Zeit wieder mal eine Artikel von mir.. der mich besonders erfreut. SQL Server…

9 Jahren ago