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çã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çã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]