Průměr (MDX)

Vyhodnotí množinu a vrátí průměr neprázdných hodnot buněk v množině, zprůměrovaný přes míry v této sadě nebo přes zadanou míru.

Syntax

  
Avg( Set_Expression [ , Numeric_Expression ] )  

Arguments

Nastavit_výraz
Platný výraz Multidimensional Expressions (MDX), který vrací množinu

Numeric_Expression
Platný číselný výraz, který je typicky výrazem Multidimenzionálních výrazů (MDX) souřadnic buňky, které vracejí číslo.

Remarks

Pokud je specifikována množina prázdných n-tic nebo prázdná množina, funkce Avg vrátí prázdnou hodnotu.

Funkce Avg vypočítá průměr neprázdných hodnot buněk ve specifikované množině nejprve tím, že vypočítá součet hodnot napříč buňkami ve specifikované množině a poté vydělí vypočítaný součet počtem neprázdných buněk ve specifikované množině.

Note

Analytické služby ignorují nuly při výpočtu průměrné hodnoty v množině čísel.

Pokud není specifikován konkrétní číselný výraz (typicky míra), funkce Avg průměruje každou míru v aktuálním kontextu dotazu. Pokud je zadána konkrétní míra, funkce Avg nejprve vyhodnotí míru přes množinu a poté vypočítá průměr na základě dané míry.

Note

Při použití funkce CurrentMember ve vypočteném příkazu člena musíte zadat číselný výraz, protože v takovém kontextu dotazu neexistuje výchozí míra pro aktuální souřadnici.

Aby aplikace vynutila zahrnutí prázdných buněk, musí použít funkci CoalesceEmpty nebo specifikovat platný Numeric_Expression , který poskytuje hodnotu nula (0) pro prázdné hodnoty. Pro více informací o prázdných buňkách viz dokumentaci OLE DB.

Examples

Následující příklad vrací průměr pro míru nad danou množinou. Všimněte si, že specifikovaná míra může být buď výchozí mírou pro členy dané množiny, nebo určenou mírou.

WITH SET [NW Region] AS  
{[Geography].[State-Province].[Washington]  
, [Geography].[State-Province].[Oregon]  
, [Geography].[State-Province].[Idaho]}  
MEMBER [Geography].[Geography].[NW Region Avg] AS  
AVG ([NW Region]  
--Uncomment the line below to get an average by Reseller Gross Profit Margin  
--otherwise the average will be by whatever the default measure is in the cube,  
--or whatever measure is specified in the query  
--, [Measures].[Reseller Gross Profit Margin]  
)  
SELECT [Date].[Calendar Year].[Calendar Year].Members ON 0  
FROM [Adventure Works]  
WHERE ([Geography].[Geography].[NW Region Avg])  

Následující příklad vrací denní průměr Measures.[Gross Profit Margin] míry, vypočítán napříč dnmi každého měsíce fiskálního roku 2003, z krychle Adventure Works . Funkce Avg vypočítává průměr ze sady dnů, které jsou obsaženy v každém měsíci hierarchie [Ship Date].[Fiscal Time] . První verze výpočtu ukazuje výchozí chování Avg, kdy vylučuje dny, kdy nebyly zaznamenány žádné prodeje z průměru, druhá verze ukazuje, jak zahrnout dny bez prodeje do průměru.

WITH MEMBER Measures.[Avg Gross Profit Margin] AS  
Avg(  
Descendants(  
[Ship Date].[Fiscal].CurrentMember,  
[Ship Date].[Fiscal].[Date]  
),  
Measures.[Gross Profit Margin]  
), format_String='percent'  
MEMBER Measures.[Avg Gross Profit Margin Including Empty Days] AS  
Avg(  
Descendants(  
[Ship Date].[Fiscal].CurrentMember,  
[Ship Date].[Fiscal].[Date]  
),  
CoalesceEmpty(Measures.[Gross Profit Margin],0)  
), Format_String='percent'  
SELECT  
{Measures.[Avg Gross Profit Margin],Measures.[Avg Gross Profit Margin Including Empty Days]} ON COLUMNS,  
[Ship Date].[Fiscal].[Fiscal Year].Members ON ROWS  
FROM  
[Adventure Works]  
WHERE([Product].[Product Categories].[Product].&[344])  

Následující příklad vrací denní průměr měře Measures.[Gross Profit Margin] , vypočítáný napříč dny každého semestru fiskálního roku 2003, z krychle Adventure Works .

WITH MEMBER Measures.[Avg Gross Profit Margin] AS  
   Avg(  
      Descendants(  
         [Ship Date].[Fiscal].CurrentMember,   
            [Ship Date].[Fiscal].[Date]  
      ),   
      Measures.[Gross Profit Margin]  
   )  
SELECT  
   Measures.[Avg Gross Profit Margin] ON COLUMNS,  
      [Ship Date].[Fiscal].[Fiscal Year].[FY 2003].Children ON ROWS  
FROM  
   [Adventure Works]