您可以顯式枚舉MDX中的列。你不必使用交叉產品。 而不是
{ Accounts.Version.Actual, Accounts.Version.Budget }
*
(Date.Calendar.Year_2012 + Date.Calendar.Year_2012.Children)
(這將產生一種「對稱報告」),你可以使用
{
(Accounts.Version.Actual, Date.Calendar.Month1_2012),
(Accounts.Version.Actual, Date.Calendar.Month2_2012),
(Accounts.Version.Actual, Date.Calendar.Month3_2012),
(Accounts.Version.Actual, Date.Calendar.Month4_2012),
(Accounts.Version.Actual, Date.Calendar.Month5_2012),
(Accounts.Version.Actual, Date.Calendar.Month6_2012),
(Accounts.Version.Actual, Date.Calendar.Month7_2012),
(Accounts.Version.Actual, Date.Calendar.Month8_2012),
(Accounts.Version.Actual, Date.Calendar.Month9_2012),
(Accounts.Version.Actual, Date.Calendar.Month10_2012),
(Accounts.Version.Actual, Date.Calendar.Month11_2012),
(Accounts.Version.Actual, Date.Calendar.Month12_2012),
(Accounts.Version.Budget, Date.Calendar.Year_2012)
}
(或調整上述列列表,只要你喜歡),或使用任何方式來構建列軸集合,你喜歡
{ Accounts.Version.Actual } * (Date.Calendar.Month1_2012 : date.Calendar.Month12_2012)
+
{ (Accounts.Version.Budget, Date.Calendar.Year_2012) }
只要軸組的維度保持一致,即該集合中的所有元組都有相同數量的成員(在這種情況下爲兩個),並且在該集合的元組的每個位置中,只有相同層次結構的成員(第一個位置爲Accounts.Version
,第二個爲Date.Calendar
)。
這只是關於MDX。另一個問題是哪些用戶界面暴露了MDX的可能性。
最後:命名集是MDX中的命名集。至少Analysis Services沒有命名元組的概念。我認爲Essbase MDX方言有這個。