Compartilhar via


Avg (MDX)

Avalia um conjunto e retorna a média dos valores não vazios das células no conjunto, com base nas medidas no conjunto ou em uma medida especificada.

Sintaxe

  
Avg( Set_Expression [ , Numeric_Expression ] )  

Argumentos

Set_Expression
Uma expressão MDX válida que retorna um conjunto.

Numeric_expression
Uma expressão numérica válida, geralmente uma linguagem MDX de coordenadas de célula, que retorna um número.

Comentários

Se um conjunto de tuplas vazias ou um conjunto vazio for especificado, a função Avg retornará um valor vazio.

A função Avg calcula a média dos valores não vazios das células no conjunto especificado calculando primeiro a soma de valores entre células no conjunto especificado e dividindo a soma calculada pela contagem de células não vazias no conjunto especificado.

Observação

O Analysis Services ignora nulos ao calcular o valor médio em um conjunto de números.

Se uma expressão numérica específica (normalmente uma medida) não for especificada, a função Avg será a média de cada medida dentro do contexto de consulta atual. Se uma medida específica for fornecida, a função Avg primeiro avaliará a medida sobre o conjunto e, em seguida, a função calculará a média com base na medida especificada.

Observação

Ao usar a função CurrentMember em uma instrução membro calculada, você deve especificar uma expressão numérica porque não existe nenhuma medida padrão para a coordenada atual em tal contexto de consulta.

Para forçar a inclusão de células vazias, o aplicativo deve usar a função CoalesceEmpty ou especificar uma Numeric_Expression válida que forneça um valor zero (0) para valores vazios. Para obter mais informações sobre células vazias, consulte a documentação OLE DB.

Exemplos

O exemplo a seguir retorna a média para uma medida em um determinado conjunto. Observe que a medida especificada pode ser a medida padrão para os membros do conjunto especificado ou uma medida especificada.

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

O exemplo a seguir retorna a média diária da Measures.[Gross Profit Margin] medida, calculada ao longo dos dias de cada mês no ano fiscal de 2003, do cubo Adventure Works . A função Avg calcula a média do conjunto de dias contido em cada mês da [Ship Date].[Fiscal Time] hierarquia. A primeira versão do cálculo mostra o comportamento padrão da função Avg ao excluir os dias em que nenhuma venda foi registrada a partir da média e a segunda versão mostra como incluir os dias sem venda na média.

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

O exemplo a seguir retorna a média diária da Measures.[Gross Profit Margin] medida, calculada ao longo dos dias de cada semestre no ano fiscal de 2003, do 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]  

Consulte Também

Referência de função MDX (MDX)