Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V Multidimenzionálních výrazech (MDX) je skalární výraz prvek syntaxe MDX, který při vyhodnocení vrací jedinou hodnotu v kontextu vyhodnocení.
Skalární výrazy zahrnují řetězcové, číselné a datové výrazy v MDX.
Skalární výrazy se obvykle používají při definicích vypočítáných členů, protože vypočítané členy musí vracet skalární hodnotu. Následující dotaz ukazuje příklady vypočítaných členů na dimenzi Míry, které používají různé typy skalárních výrazů:
WITH
MEMBER MEASURES.NumericValue AS 10
MEMBER MEASURES.NumericExpression AS 10 + 10
MEMBER MEASURES.NumericExpressionBasedOnMeasure AS [Measures].[Internet Sales Amount] + 10
MEMBER MEASURES.StringValue AS "10"
MEMBER MEASURES.ConcatenatedString AS "10" + "10"
MEMBER MEASURES.StringFunction AS MEASURES.CURRENTMEMBER.NAME
MEMBER MEASURES.TodaysDate AS NOW()
SELECT
{MEASURES.NumericValue,MEASURES.NumericExpression,MEASURES.NumericExpressionBasedOnMeasure,
MEASURES.StringValue, MEASURES.ConcatenatedString, MEASURES.StringFunction, MEASURES.TodaysDate}
ON COLUMNS
FROM [Adventure Works]
Jediný typ dat, který může měření, ať už vypočítané nebo ne, vrátit, je typ OLE Variant. Proto někdy můžete být potřeba přiřadit hodnotu měření na konkrétní typ, abyste dostali očekávané chování. Následující dotaz ukazuje příklad tohoto přístupu:
WITH
//Two calculated measures that return strings
MEMBER MEASURES.NumericString1 AS "10"
MEMBER MEASURES.NumericString2 AS "10"
//In this case, the + operator acts to concatenate the strings
MEMBER MEASURES.Concatenation AS MEASURES.NumericString1 + MEASURES.NumericString2
//Casting one value to an integer with the CINT function causes the second measure
//to be treated as an integer too, so that the + operator now acts to add the values
MEMBER MEASURES.Addition AS CINT(MEASURES.NumericString1) + MEASURES.NumericString2
SELECT
{MEASURES.NumericString1,MEASURES.NumericString2,MEASURES.Concatenation,MEASURES.Addition }
ON COLUMNS
FROM [Adventure Works]