MDX 資料操作 - DRILLTHROUGH
擷取用來在 Cube 中建立指定儲存格的基礎資料表資料列。
語法
DRILLTHROUGH[MAXROWSUnsigned_Integer]
<MDX SELECT statement>
[RETURNSet_of_Attributes_and_Measures
[,Set_of_Attributes_and_Measures ...]
]
引數
Unsigned_Integer
正整數值。
MDX SELECT 語句
任何有效的多維度運算式 (MDX) 運算式 SELECT 語句。
Set_of_Attributes_and_Measures
維度屬性和量值的逗號分隔清單。
備註
鑽研是一項作業,使用者從 Cube 選取單一資料格,並從該儲存格的來源資料擷取結果集,以取得更詳細的資訊。 根據預設,鑽研結果集衍生自已評估為計算所選 Cube 儲存格值的資料表資料列。 若要讓終端使用者鑽研,其用戶端應用程式必須支援這項功能。 在 Analysis Services 中,除非查詢 ROLAP 資料分割或維度,否則會直接從 MOLAP 儲存體擷取結果。
重要
鑽研安全性是以 Cube 上定義的一般安全性選項為基礎。 如果使用者無法使用 MDX 取得某些資料,鑽研也會以完全相同的方式限制使用者。
MDX 語句會指定主旨儲存格。 MAXROWS 引數所 指定的值表示結果資料列集應該傳回的資料列數目上限。
根據預設,傳回的資料列數目上限為 10,000 個數據列。 這表示如果您未 指定 MAXROWS ,您將會收到 10,000 個數據列或更少資料列。 如果您的案例中這個值太低,您可以將 MAXROWS 設定 為較高的數位,例如 MAXROWS 20000
。 如果整體太低,您可以變更 OLAP\Query\DefaultDrillthroughMaxRows 伺服器屬性來增加預設值。 如需變更此屬性的詳細資訊,請參閱 Analysis Services 中的伺服器屬性。
除非另有指定,否則傳回的資料行會包含與指定量值群組相關之所有維度的所有資料細微性屬性,而非多對多維度。 Cube 維度前面有 $ 來區分維度和量值群組。 RETURN 子句是用來指定鑽研查詢所傳回的資料行。 下列函式可以套用至 RETURN 子句的單一屬性或量值 。
名稱(attribute_name)
傳回指定之屬性成員的名稱。
UniqueName(attribute_name)
傳回指定之屬性成員的唯一名稱。
Key(attribute_name[, N])
傳回指定屬性成員的索引鍵,其中 N 指定複合索引鍵中的資料行(如果有的話)。 N 的預設值為 1。
標題(attribute_name)
傳回指定之屬性成員的標題。
MemberValue(attribute_name)
傳回指定之屬性成員的成員值。
CustomRollup(attribute_name)
傳回指定之屬性成員的自訂匯總運算式。
CustomRollupProperties(attribute_name)
傳回指定之屬性成員的自訂匯總屬性。
UnaryOperator(attribute_name)
傳回指定之屬性成員的一元運算子。
範例
下列範例會針對 2007 年 7 月的澳大利亞轉銷商銷售量值(預設量值)指定儲存格。 RETURN 子句會指定每個銷售日期、產品型號名稱、員工名稱、銷售金額、稅額,以及要傳回此資料格之下的產品成本值。
DRILLTHROUGH
SELECT
([Date].[Calendar].[Month].[July 2007])
ON 0
FROM [Adventure Works]
WHERE [Geography].[Country].[Australia]
RETURN
[$Date].[Date]
,KEY([$Product].[Model Name])
,NAME([$Employee].[Employee])
,[Reseller Sales].[Reseller Sales Amount]
,[Reseller Sales].[Reseller Tax Amount]
,[Reseller Sales].[Reseller Standard Product Cost]