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.
Remarques
Si un ensemble de tuples vides ou un ensemble vide est spécifié, la fonction Avg retourne une valeur vide.
La fonction Avg calcule la moyenne des valeurs vides des cellules de l’ensemble spécifié en calculant d’abord la somme des valeurs entre les cellules de l’ensemble spécifié, puis en divisant la somme calculée par le nombre de cellules vides dans l’ensemble spécifié.
Notes
Analysis Services ignore les valeurs Null lors du calcul de la valeur moyenne dans un ensemble de nombres.
Si une expression numérique spécifique (généralement une mesure) n’est pas spécifiée, la fonction Avg fait la moyenne de chaque mesure dans le contexte de requête actuel. Si une mesure spécifique est fournie, la fonction Avg évalue d’abord la mesure sur le jeu, puis la fonction calcule la moyenne en fonction de la mesure spécifiée.
Notes
Lorsque vous utilisez la fonction CurrentMember dans une instruction membre calculée, 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 forcer l’inclusion de cellules vides, l’application doit utiliser la fonction CoalesceEmpty ou spécifier une Numeric_Expression valide qui fournit une valeur de zéro (0) pour les valeurs vides. Pour plus d'informations sur les cellules vides, consultez la documentation OLE DB.
Exemples
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 suivant retourne la moyenne quotidienne de la Measures.[Gross Profit Margin]
mesure, calculée sur les jours de chaque mois de l’exercice 2003, à partir du cube Adventure Works . La fonction Avg calcule la moyenne à partir de l’ensemble de jours contenus dans chaque mois de la [Ship Date].[Fiscal Time]
hiérarchie. 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 suivant retourne la moyenne quotidienne de la Measures.[Gross Profit Margin]
mesure, calculée sur les jours de chaque semestre de l’exercice 2003, à partir du 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]