MDX 查詢 - 基本查詢
適用於: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
基本多維度表達式 (MDX) 查詢是 SELECT 語句,這是 MDX 中最常使用的查詢。 藉由瞭解 MDX SELECT 語句必須如何指定結果集、SELECT 語句的語法,以及如何使用 SELECT 語句建立簡單的查詢,您將深入瞭解如何使用 MDX 來查詢多維度數據。
指定結果集
在 MDX 中,SELECT 語句會指定結果集,其中包含從 Cube 傳回的多維度數據子集。 若要指定結果集,MDX 查詢必須包含下列資訊:
您希望結果集包含的座標軸數目。 您可以在 MDX 查詢中指定最多 128 個座標軸。
要包含在 MDX 查詢每個軸上的成員或 Tuple 集合。
設定 MDX 查詢內容之 Cube 的名稱。
要包含在交叉分析篩選器軸上的成員或 Tuple 集合。 如需交叉分析篩選器和查詢座標軸的詳細資訊,請參閱 使用查詢和交叉分析篩選器軸限制查詢 (MDX)。
若要識別查詢軸、將查詢的 Cube 和交叉分析篩選器軸,MDX SELECT 語句會使用下列子句:
SELECT 子句,決定 MDX SELECT 語句的查詢軸。 如需在 SELECT 子句中建構查詢軸的詳細資訊,請參閱 指定查詢軸的內容。
FROM 子句,決定要查詢哪個 Cube。 如需 FROM 子句的詳細資訊,請參閱 SELECT 語句 (MDX)。
選擇性 WHERE 子句,決定交叉分析篩選器軸上使用哪些成員或 Tuple 來限制傳回的數據。 如需在WHERE子句中建構交叉分析篩選器軸的詳細資訊,請參閱 指定交叉分析篩選器軸的內容。
注意
如需 SELECT 語句之各種子句的詳細資訊,請參閱 SELECT 語句 (MDX)。
SELECT 語句語法
下列語法顯示基本 SELECT 語句,其中包含 SELECT、FROM 和 WHERE 子句的使用:
[ WITH <SELECT WITH clause> [ , <SELECT WITH clause> ... ] ]
SELECT [ * | ( <SELECT query axis clause>
[ , <SELECT query axis clause> ... ] ) ]
FROM <SELECT subcube clause>
[ <SELECT slicer axis clause> ]
[ <SELECT cell property list clause> ]
MDX SELECT 語句支持選擇性語法,例如WITH關鍵詞、使用 MDX 函數來建立匯出成員以包含在軸或交叉分析篩選器軸中,以及能夠傳回特定單元格屬性的值做為查詢的一部分。 如需 MDX SELECT 語句的詳細資訊,請參閱 SELECT 語句 (MDX)。
比較 MDX SELECT 語句的語法與 SQL
MDX SELECT 語句的語法格式類似於 SQL 語法。 不過,有數個基本差異:
MDX 語法會以大括弧括住 Tuple 或成員來區分集合({ 和 } 個字元。)如需成員、元組和設定語法的詳細資訊,請參閱 使用成員、Tuple 和集合 (MDX)。
MDX 查詢在 SELECT 語句中可以有 0、1、2 或最多 128 個查詢軸。 每個軸的行為方式完全相同,與 SQL 不同,其中查詢數據列和數據行的行為有顯著差異。
如同 SQL 查詢,FROM 子句會將 MDX 查詢的資料來源命名為 。 不過,MDX FROM 子句僅限於單一 Cube。 其他 Cube 的資訊可以使用 LookupCube 函式,逐值擷取。
WHERE 子句描述 MDX 查詢中的交叉分析篩選器軸。 它的作用就像查詢中不可見的額外座標軸,切割結果集中單元格中顯示的值;不同於 SQL WHERE 子句,它不會直接影響查詢數據列軸上出現的內容。 SQL WHERE 子句的功能可透過其他 MDX 函式取得,例如 FILTER 函式。
SELECT 語句範例
下列範例顯示使用SELECT語句的基本 MDX 查詢。 此查詢會傳回一個結果集,其中包含西南銷售地區的 2002 和 2003 銷售和稅額。
SELECT
{ [Measures].[Sales Amount],
[Measures].[Tax Amount] } ON COLUMNS,
{ [Date].[Fiscal].[Fiscal Year].&[2002],
[Date].[Fiscal].[Fiscal Year].&[2003] } ON ROWS
FROM [Adventure Works]
WHERE ( [Sales Territory].[Southwest] )
在此範例中,查詢會定義下列結果集資訊:
SELECT 子句會將查詢軸設定為量值維度的 Sales Amount 和 Tax Amount 成員,以及 Date 維度的 2002 和 2003 成員。
FROM 子句表示數據源是 Adventure Works Cube。
WHERE 子句會將交叉分析篩選器軸定義為 Sales Territory 維度的西南成員。
請注意,查詢範例也會使用 COLUMNS 和 ROWS 軸別名。 也可以使用這些座標軸的序數位置。 下列範例示範如何寫入 MDX 查詢,以使用每個座標軸的序數位置:
SELECT
{ [Measures].[Sales Amount],
[Measures].[Tax Amount] } ON 0,
{ [Date].[Fiscal].[Fiscal Year].&[2002],
[Date].[Fiscal].[Fiscal Year].&[2003] } ON 1
FROM [Adventure Works]
WHERE ( [Sales Territory].[Southwest] )
如需更詳細的範例,請參閱 指定查詢軸的內容 和 指定交叉分析篩選器軸的內容。
另請參閱
MDX 中 重要概念
SELECT 語句 (MDX)