Avg (MDX)

Évalue un jeu et retourne la moyenne des valeurs non vides des cellules dans le jeu par rapport aux mesures du jeu ou à une mesure spécifique.

Syntaxe

Avg( Set_Expression [ , Numeric_Expression ] )

Arguments

  • Set_Expression
    Expression MDX (Multidimensional Expressions) valide qui retourne un jeu.

  • Numeric_Expression
    Expression numérique valide qui correspond généralement à une expression MDX (Multidimensional Expressions) des coordonnées des cellules qui retournent un nombre.

Notes

Si un jeu de tuples vides ou un jeu vide est spécifié, la fonction Avg retourne une valeur vide.

La fonction Avg calcule la moyenne des valeurs non vides des cellules du jeu spécifié en calculant d'abord la somme des valeurs réparties dans les cellules du jeu en question, puis en divisant cette somme par le nombre de cellules non vides dans le jeu spécifié.

[!REMARQUE]

Analysis Services ignore les valeurs NULL lors du calcul de la valeur moyenne dans un jeu de nombres.

Si aucune expression numérique spécifique (en général une mesure) n'est précisée, la fonction Avg calcule la moyenne de chaque mesure dans le contexte de requête actuel. Si une mesure spécifique est précisée, la fonction Avg évalue d'abord la mesure dans le jeu, puis calcule la moyenne en se basant sur la mesure spécifiée.

[!REMARQUE]

Lors de l'utilisation de la fonction CurrentMember dans une instruction de membre calculé, vous devez spécifier une expression numérique car aucune mesure par défaut n'existe pour la coordonnée actuelle dans un tel contexte de requête.

Pour imposer la prise en compte des cellules vides, l'application doit utiliser la fonction CoalesceEmpty ou spécifier un argument Numeric_Expression valide fournissant la valeur zéro pour les valeurs vides. Pour plus d'informations sur les cellules vides, consultez la documentation OLE DB.

Exemple

L'exemple suivant retourne la moyenne pour une mesure sur un jeu spécifié. Remarquez que la mesure spécifiée peut être soit la mesure par défaut pour les membres du jeu spécifié ou une mesure spécifiée.

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

L'exemple qui suit renvoie la moyenne quotidienne de la mesure Measures.[Gross Profit Margin], calculée sur les jours de chaque mois de l'année fiscale 2003 dans le cube Adventure Works. La fonction Avg calcule la moyenne à partir de l'ensemble des jours contenus dans chaque mois de la hiérarchie [Ship Date].[Fiscal Time]. La première version du calcul montre le comportement par défaut d'Avg en excluant de la moyenne les jours qui n'ont pas enregistré de ventes, la deuxième version montre comment inclure les jours sans ventes dans la moyenne.

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

L'exemple qui suit retourne la moyenne quotidienne de la mesure Measures.[Gross Profit Margin], calculée sur les jours de chaque semestre de l'année fiscale 2003 dans le cube 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]