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.
Osservazioni:
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 vuoti delle celle nel set specificato calcolando prima la somma dei valori tra le celle nel set specificato e quindi dividendo la somma calcolata in base al conteggio delle celle nonempty nel set specificato.
Nota
Analysis Services ignora i valori Null durante il calcolo del valore medio in un set di numeri.
Se non viene specificata un'espressione numerica specifica (in genere una misura), la funzione Avg calcola 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 rispetto al set e quindi calcola la media in base alla misura specificata.
Nota
Quando si usa la funzione CurrentMember in un'istruzione membro calcolato, è 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.
Esempi
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 la media giornaliera della Measures.[Gross Profit Margin]
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 [Ship Date].[Fiscal Time]
gerarchia. 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 la media giornaliera della Measures.[Gross Profit Margin]
misura, calcolata nei giorni di ogni semestre nell'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]