Delen via


VARP (Transact-SQL)

van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL Analytics-eindpunt in Microsoft FabricWarehouse in Microsoft Fabric

Geeft als resultaat de statistische variantie voor de populatie voor alle waarden in de opgegeven expressie.

Transact-SQL syntaxis-conventies

Syntaxis

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

Argumenten

ALLE
Hiermee past u de functie toe op alle waarden. ALL is de standaardinstelling.

ONDERSCHEIDEND
Hiermee geeft u op dat elke unieke waarde wordt beschouwd.

expressie
Is een expressie van de exacte numerieke of geschatte numerieke gegevenstypecategorie, met uitzondering van het bitgegevenstype . Statistische functies en subquery's zijn niet toegestaan.

OVER ( [ partition_by_clause ] order_by_clause)
partition_by_clause verdeelt de resultatenset die door de FROM-component wordt geproduceerd in partities waarop de functie wordt toegepast. Als deze niet is opgegeven, behandelt de functie alle rijen van de queryresultatenset als één groep. order_by_clause bepaalt de logische volgorde waarin de bewerking wordt uitgevoerd. order_by_clause is vereist. Zie OVER-component (Transact-SQL) voor meer informatie.

Retourtypen

drijven

Opmerkingen

Als VARP wordt gebruikt voor alle items in een SELECT-instructie, wordt elke waarde in de resultatenset opgenomen in de berekening. VARP kan alleen worden gebruikt met numerieke kolommen. Null-waarden worden genegeerd.

VARP is een deterministische functie wanneer deze wordt gebruikt zonder de OVER- en ORDER BY-componenten. Het is niet-deterministisch wanneer deze is opgegeven met de OVER- en ORDER BY-componenten. Zie Deterministische en niet-deterministische functiesvoor meer informatie.

Voorbeelden

A: VARP gebruiken

In het volgende voorbeeld wordt de variantie voor de populatie voor alle bonuswaarden in de tabel in de SalesPerson Database AdventureWorks2022 geretourneerd.

SELECT VARP(Bonus)  
FROM Sales.SalesPerson;  
GO  

Voorbeelden: Azure Synapse Analytics and Analytics Platform System (PDW)

B: VARP gebruiken

In het volgende voorbeeld worden de VARP verkoopquotumwaarden in de tabel dbo.FactSalesQuotageretourneerd. De eerste kolom bevat de variantie van alle afzonderlijke waarden en de tweede kolom bevat de variantie van alle waarden, inclusief dubbele waarden.

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

Hier is het resultatenoverzicht.

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

C. VARP gebruiken met OVER

In het volgende voorbeeld worden de VARP verkoopquotumwaarden voor elk kwartaal in een kalenderjaar geretourneerd. U ziet dat order BY in de OVER-component de statistische variantie en de ORDER BY van de SELECT-instructie de resultatenset orden.

-- 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 is het resultatenoverzicht.

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

Zie ook

statistische functies (Transact-SQL)
OVER-component (Transact-SQL)