Partager via


Avg (MDX)

Mis à jour : 12 décembre 2006

É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é.

ms146067.note(fr-fr,SQL.90).gifRemarque :
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]
   --, [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].

WITH MEMBER Measures.[Avg Gross Profit Margin] AS
   Avg(
      Descendants(
         [Ship Date].[Fiscal].CurrentMember, 
            [Ship Date].[Fiscal].[Day of Month]
      ), 
      Measures.[Gross Profit Margin]
   )
SELECT
   Measures.[Avg Gross Profit Margin] ON COLUMNS,
      [Ship Date].[Fiscal].[Month].Members ON ROWS
FROM
   [Adventure Works]
WHERE
   ([Ship Date].[Fiscal Year].[FY 2003])

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].[Day of Month]
      ), 
      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]

Voir aussi

Référence

Guide de référence des fonctions MDX (MDX)

Aide et Informations

Assistance sur SQL Server 2005

Historique des modifications

Version Historique

12 décembre 2006

Contenu modifié :
  • L'impact des valeurs NULL a été clarifié.
  • Un autre exemple a été ajouté.
  • Un exemple incorrect a été corrigé.

17 juillet 2006

Contenu modifié :
  • Mise à jour de la syntaxe et des arguments à des fins d'éclaircissement.
  • Ajout d'exemples mis à jour.