Avg (MDX)

Valuta un set e restituisce la media dei valori non vuoti delle celle del set, calcolata sulle misure del set o su una misura specificata.

Sintassi

  
Avg( Set_Expression [ , Numeric_Expression ] )  

Argomenti

Set_Expression
Espressione MDX (Multidimensional Expression) valida che restituisce un set.

Numeric_expression
Espressione numerica valida che in genere è un'espressione MDX (Multidimensional Expression) di coordinate di celle che restituisce un numero.

Commenti

Se viene specificato un set di tuple vuote o un set vuoto, la funzione Avg restituisce un valore vuoto.

La funzione Avg calcola la media dei valori non ermpi delle celle nel set specificato calcolando prima la somma dei valori tra le celle del set specificato e quindi dividendo la somma calcolata per il conteggio delle celle non vuote nel set specificato.

Nota

Analysis Services ignora i valori Null durante il calcolo del valore medio di un set di numeri.

Se non viene specificata un'espressione numerica specifica (in genere una misura), la funzione Avg esegue la media di ogni misura all'interno del contesto di query corrente. Se viene specificata una misura specifica, la funzione Avg valuta innanzitutto la misura sul set e quindi calcola la media in base alla misura specificata.

Nota

Quando si usa la funzione CurrentMember in un'istruzione membro calcolata, è necessario specificare un'espressione numerica perché non esiste alcuna misura predefinita per la coordinata corrente in tale contesto di query.

Per forzare l'inclusione di celle vuote, l'applicazione deve usare la funzione CoalesceEmpty o specificare un Numeric_Expression valido che fornisce un valore pari a zero (0) per i valori vuoti. Per ulteriori informazioni sulle celle vuote, vedere la documentazione relativa a OLE DB.

Esempio

Nell'esempio seguente viene restituita la media di una misura su un set specificato. Si noti che la misura specificata può essere la misura predefinita per i membri del set specificato o una misura specificata.

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])

Nell'esempio seguente viene restituita Measures.[Gross Profit Margin] la media giornaliera della misura, calcolata nei giorni di ogni mese nell'anno fiscale 2003, dal cubo Adventure Works . La funzione Avg calcola la media dal set di giorni contenuti in ogni mese della gerarchia [Ship Date].[Fiscal Time] . La prima e la seconda versione del calcolo sono esemplificative del comportamento predefinito della funzione Avg relativo rispettivamente all'esclusione e all'inclusione nella media dei giorni in cui non sono state registrate vendite.

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])

Nell'esempio seguente viene restituita Measures.[Gross Profit Margin] la media giornaliera della misura, calcolata nei giorni di ogni semestre dell'anno fiscale 2003, dal cubo 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]  

Vedere anche

Guida di riferimento alle funzioni MDX (MDX)