Avg (MDX)
Wertet eine Menge aus und gibt den Durchschnitt der nicht leeren Werte der Zellen in der Menge zurück, gemittelt über die Measures in der Menge oder über ein angegebenes Measure.
Syntax
Avg( Set_Expression [ , Numeric_Expression ] )
Argumente
Set_Expression
Ein gültiger MDX-Ausdruck (Multidimensional Expressions), der einen Satz zurückgibt
Numeric_expression
Ein gültiger numerischer Ausdruck, bei dem es sich in der Regel um einen MDX-Ausdruck (Multidimensional Expressions) für Zellenkoordinaten handelt, die eine Zahl zurückgeben.
Bemerkungen
Wenn ein Satz von leeren Tupeln oder ein leerer Satz angegeben wird, gibt die Avg-Funktion einen leeren Wert zurück.
Die Avg-Funktion berechnet den Durchschnitt der nicht erlösenden Werte von Zellen in der angegebenen Menge, indem sie zuerst die Summe der Werte über Zellen in der angegebenen Menge berechnet und dann die berechnete Summe durch die Anzahl der nicht erlösenden Zellen in der angegebenen Menge dividiert.
Hinweis
Analysis Services ignoriert NULL-Werte beim Berechnen des Durchschnittswerts in einer Reihe von Zahlen.
Wenn kein bestimmter numerischer Ausdruck (in der Regel ein Measure) angegeben wird, wird mit der Avg-Funktion jedes Measure im aktuellen Abfragekontext gemittelt. Wenn ein bestimmtes Measure bereitgestellt wird, wertet die Avg-Funktion zuerst das Measure über den Satz aus, und dann berechnet die Funktion den Durchschnitt basierend auf dem angegebenen Measure.
Hinweis
Wenn Sie die CurrentMember-Funktion in einer berechneten Memberanweisung verwenden, müssen Sie einen numerischen Ausdruck angeben, da für die aktuelle Koordinate in einem solchen Abfragekontext kein Standardmaß vorhanden ist.
Um die Aufnahme leerer Zellen zu erzwingen, muss die Anwendung die CoalesceEmpty-Funktion verwenden oder eine gültige Numeric_Expression angeben, die für leere Werte einen Wert von null (0) bereitstellt. Weitere Informationen zu leeren Zellen finden Sie in der OLE DB-Dokumentation.
Beispiele
Im folgenden Beispiel wird der Durchschnittswert für ein Measure über eine bestimmte Menge zurückgegeben. Beachten Sie, dass das angegebene Measure dem Standardmeasure für die Elemente der angegebenen Menge oder eines bestimmten Measures entsprechen kann.
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])
Im folgenden Beispiel wird der tägliche Durchschnitt des Measures.[Gross Profit Margin]
Measures zurückgegeben, der über die Tage jedes Monats im Geschäftsjahr 2003 berechnet wird, aus dem Adventure Works-Cube . Die Avg-Funktion berechnet den Durchschnitt aus dem Satz von Tagen, die in jedem Monat der [Ship Date].[Fiscal Time]
Hierarchie enthalten sind. Die erste Berechnungsversion zeigt das Standardverhalten für den Durchschnitt durch Ausschließen von Tagen, an denen keine Verkäufe vom Durchschnitt erfasst wurden. Die zweite Version zeigt, wie Tage ohne Verkäufe in den Durchschnitt eingeschlossen werden.
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])
Im folgenden Beispiel wird der tägliche Durchschnitt des Measures.[Gross Profit Margin]
Measures zurückgegeben, der für die Tage jedes Semesters im Geschäftsjahr 2003 aus dem Adventure Works-Cube berechnet wird.
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]