Share via


Avg (MDX)

Evalúa un conjunto y devuelve el promedio de los valores no vacíos de las celdas del conjunto promediados con las medidas del conjunto o una medida especificada.

Sintaxis

  
Avg( Set_Expression [ , Numeric_Expression ] )  

Argumentos

Set_Expression
Expresión MDX válida que devuelve un conjunto

Numeric_Expression
Expresión numérica válida que suele ser una expresión MDX de las coordenadas de celdas que devuelven un número.

Comentarios

Si se especifica un conjunto de tuplas vacías o un conjunto vacío, la función Avg devuelve un valor vacío.

La función Avg calcula primero la media de los valores no vacíos de las celdas del conjunto especificado calculando primero la suma de valores entre las celdas del conjunto especificado y, a continuación, dividiendo la suma calculada por el recuento de celdas no vacías del conjunto especificado.

Nota

Analysis Services omite los valores NULL al calcular el valor medio en un conjunto de números.

Si no se especifica una expresión numérica específica (normalmente una medida), la función Avg promedio calcula cada medida dentro del contexto de consulta actual. Si se proporciona una medida específica, la función Avg evalúa primero la medida sobre el conjunto y, a continuación, la función calcula el promedio en función de la medida especificada.

Nota

Al usar la función CurrentMember en una instrucción miembro calculada, debe especificar una expresión numérica porque no existe ninguna medida predeterminada para la coordenada actual en este contexto de consulta.

Para forzar la inclusión de celdas vacías, la aplicación debe usar la función CoalesceEmpty o especificar un Numeric_Expression válido que proporciona un valor de cero (0) para los valores vacíos. Para obtener más información acerca de las celdas vacías, consulte la documentación de OLE DB.

Ejemplos

El siguiente ejemplo devuelve el promedio de una medida sobre un conjunto especificado. Tenga en cuenta que la medida especificada puede ser la medida predeterminada para los miembros del conjunto especificado o una 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])

En el ejemplo siguiente se devuelve el promedio diario de la Measures.[Gross Profit Margin] medida, calculado en los días de cada mes del año fiscal 2003, del cubo Adventure Works . La función Avg calcula el promedio a partir del conjunto de días contenidos en cada mes de la [Ship Date].[Fiscal Time] jerarquía. La primera versión del cálculo muestra el comportamiento predeterminado de Avg en la exclusión de los días que no registraron ventas por valor del promedio; la segunda versión muestra cómo se incluyen los días que no hubo ventas en el promedio.

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

En el ejemplo siguiente se devuelve el promedio diario de la Measures.[Gross Profit Margin] medida, calculado en los días de cada semestre del año fiscal 2003, del 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 también

Referencia de funciones MDX (MDX)