Partilhar 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 de células no conjunto especificado, calculando, em primeiro lugar, a soma de valores por células no conjunto especificado e, depois, dividindo a soma calculada pela contagem de células não vazias no conjunto especificado.

ObservaçãoObservaçã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 calculará a média de cada medida dentro do contexto de consulta atual. Se uma medida específica for fornecida, a função Avg avaliará primeiro a medida com base no conjunto e, depois, a função calculará a média com base na medida especificada.

ObservaçãoObservação

Ao usar a função CurrentMember em uma instrução de membro calculada, deve-se especificar uma expressão numérica uma vez que 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 deve especificar um Numeric_Expression válido 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 medida Measures.[Gross Profit Margin], calculada com base nos dias de cada mês do ano fiscal de 2003, a partir do cubo Adventure Works. A função Avg calcula a média do conjunto de dias contidos em cada mês da hierarquia [Ship Date].[Fiscal Time]. 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 medida Measures.[Gross Profit Margin] calculada com base nos dias de cada semestre do ano fiscal de 2003, a partir 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