這是一個tuple
- 和定位立方體的一部分的非常有效的方式:
(
[Measures].[Number of accounts]
,[Account Status].[Account Status].&[Anonymous]
,[Account Status].[Account Status].&[Closed]
,[Account Status].[Account Status].&[Closed due to Fraud]
,[Account Status].[Account Status].&[To be closed]
,[Account Status].[Account Status].&[<unknown>]
)
...但它必須是多維數據集中的特定點 - 但你已經包括幾個成員s來自相同的層次結構[Account Status].[Account Status]
所以這不是您的多維數據集中的單個點,因此會出錯。
這裏是一個有效的元組的例子:
WITH
MEMBER [exampleTuple] AS
(
[Measures].[Internet Sales Amount]
,[Date].[Calendar Year].&[2007]
)
SELECT
[exampleTuple] ON 0
,{
[Product].[Category].[Bikes]
,[Product].[Category].[Clothing]
} ON 1
FROM [Adventure Works];
所以這還給網絡銷售,但只有2007年全年:
如果我做的你做了什麼並添加說從年份層次結構中的另一個成員到元組,然後它會混淆,因爲不確定我指的是哪一個立方體 - 2006或2007!
WITH
MEMBER [exampleTuple] AS
(
[Measures].[Internet Sales Amount]
,[Date].[Calendar Year].&[2007]
,[Date].[Calendar Year].&[2006]
)
SELECT
[exampleTuple] ON 0
,{
[Product].[Category].[Bikes]
,[Product].[Category].[Clothing]
} ON 1
FROM [Adventure Works];
給出了:這個詞
雙擊#錯誤告訴我們異常:
正是我們所期待的例外。
此異常周圍的一種方法是預先聚合同一層級的成員作爲單個部件使處理器知道立方體空間的到底是哪一部分去:
WITH
MEMBER [Date].[Calendar Year].[All].[2006+2007] AS
Aggregate({[Date].[Calendar Year].&[2007],[Date].[Calendar Year].&[2006]})
MEMBER [exampleTuple] AS
(
[Measures].[Internet Sales Amount]
,[Date].[Calendar Year].[All].[2006+2007]
)
SELECT
[exampleTuple] ON 0
,{
[Product].[Category].[Bikes]
,[Product].[Category].[Clothing]
} ON 1
FROM [Adventure Works];
現在我們得到了什麼我們希望:
我們可以使用這個初始聚集做任何我們想做的 - 你提不包括一些成員 - 這是可能的:
WITH
MEMBER [Date].[Calendar Year].[All].[2006+2007] AS
Aggregate
(
Except
(
[Date].[Calendar Year].[Calendar Year].MEMBERS
,{
[Date].[Calendar Year].&[2007]
,[Date].[Calendar Year].&[2006]
}
)
)
MEMBER [exampleTuple] AS
(
[Measures].[Internet Sales Amount]
,[Date].[Calendar Year].[All].[2006+2007]
)
SELECT
[exampleTuple] ON 0
,{
[Product].[Category].[Bikes]
,[Product].[Category].[Clothing]
} ON 1
FROM [Adventure Works];
這肯定無法正常工作。我已將其重寫爲:([度量]。[帳戶數量],[帳戶狀態]。[帳戶狀態]。[匿名])+([度量]。[帳戶數量],[帳戶狀態]。 [帳戶狀態]。[關閉] ......等等還有更好的方法嗎? – KejP
或者,也許有辦法寫一個會員,顯示除狀態A和狀態B以外的所有帳戶?希望這不是一個愚蠢的問題,但我是新的mdx :) – KejP