VARP (Transact-SQL)

Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) SQL Analytics-Endpunkt in Microsoft Fabric Warehouse in Microsoft Fabric

Gibt die statistische Varianz für die Grundgesamtheit aller Werte im angegebenen Ausdruck zurück.

Transact-SQL-Syntaxkonventionen

Syntax

-- Aggregate Function Syntax   
VARP ( [ ALL | DISTINCT ] expression )  
  
-- Analytic Function Syntax  
VARP ([ ALL ] expression) OVER ( [ partition_by_clause ] order_by_clause)  

Argumente

ALL
Wendet die Funktion auf alle Werte an. ALL ist die Standardeinstellung.

DISTINCT
Gibt an, dass jeder eindeutige Wert berücksichtigt wird.

expression
Ein Ausdruck der genauen numerischen oder ungefähren numerischen Datentypkategorie, mit Ausnahme des bit-Datentyps. Aggregatfunktionen und Unterabfragen sind nicht zulässig.

OVER ( [ partition_by_clause ] order_by_clause)
partition_by_clause unterteilt das von der FROM-Klausel erzeugte Resultset in Partitionen, auf die die Funktion angewendet wird. Wird dies nicht angegeben, verarbeitet die Funktion alle Zeilen des Abfrageresultsets als einzelne Gruppe. order_by_clause bestimmt die logische Reihenfolge, in der der Vorgang ausgeführt wird. order_by_clause ist erforderlich. Weitere Informationen finden Sie unter OVER-Klausel (Transact-SQL).

Rückgabetypen

float

Hinweise

Falls VARP für alle Elemente einer SELECT-Anweisung verwendet wird, wird jeder Wert im Resultset in die Berechnung eingeschlossen. VARP kann nur bei numerischen Spalten verwendet werden. NULL-Werte werden ignoriert.

VARP ist eine deterministische Funktion, wenn sie ohne die OVER- und ORDER BY-Klauseln angegeben wird. Sie ist nicht deterministisch, wenn sie mit den OVER- und ORDER BY-Klauseln angegeben wird. Weitere Informationen finden Sie unter Deterministic and Nondeterministic Functions.

Beispiele

A: Verwenden von VARP

Im folgenden Beispiel wird die Varianz für die Grundgesamtheit aller Bonuswerte in der Tabelle SalesPerson der AdventureWorks2022-Datenbank zurückgegeben.

SELECT VARP(Bonus)  
FROM Sales.SalesPerson;  
GO  

Beispiele: Azure Synapse Analytics und Analytics-Plattformsystem (PDW)

B: Verwenden von VARP

Das folgende Beispiel gibt in der Tabelle dbo.FactSalesQuota die VARP der Sollvorgabenwerte für den Verkauf zurück. Die erste Spalte enthält die Varianz aller eindeutigen Werte. Die zweite Spalte enthält die Varianz aller Werte, einschließlich aller doppelten Werte.

-- Uses AdventureWorks  
  
SELECT VARP(DISTINCT SalesAmountQuota)AS Distinct_Values, VARP(SalesAmountQuota) AS All_Values  
FROM dbo.FactSalesQuota;  

Hier sehen Sie das Ergebnis.

Distinct_Values   All_Values
----------------  ----------------
158146830494.18   157788848582.94

C. Verwenden von VARP mit OVER

Das folgende Beispiel gibt für jedes Quartal eines Kalenderjahrs die VARP der Sollvorgabenwerte für den Verkauf zurück. Beachten Sie, dass über die Anweisung ORDER BY in der OVER-Klausel die statistische Varianz und über die Anweisung SELECT ein Resultset angefordert wird.

-- Uses AdventureWorks  
  
SELECT CalendarYear AS Year, CalendarQuarter AS Quarter, SalesAmountQuota AS SalesQuota,  
       VARP(SalesAmountQuota) OVER (ORDER BY CalendarYear, CalendarQuarter) AS Variance  
FROM dbo.FactSalesQuota  
WHERE EmployeeKey = 272 AND CalendarYear = 2002  
ORDER BY CalendarQuarter;  

Hier sehen Sie das Ergebnis.

Year  Quarter  SalesQuota              Variance
----  -------  ----------------------  -------------------
2002  1         91000.0000             0.00
2002  2        140000.0000             600250000.00
2002  3         70000.0000             860222222.22
2002  4        154000.0000             1185187500.00

Weitere Informationen

Aggregatfunktionen (Transact-SQL)
OVER-Klausel (Transact-SQL)