2014-03-19 76 views
1

我想用javascript創建一個MDX查詢生成器,我需要一個規則來檢查查詢是否需要CrossJoinUnion。我覺得mdx-js但是這個庫還沒有實現的CrossJoin,所以我想這個功能添加到`MDX-js.for例如,我對列一些像這樣的尺寸:MDX查詢中的CrossJoin規則

COLUMNS: [Aircraft].[Aircraft Type].[Type] 
     [Altitude].[Altitude] 
     [Aircraft].[Aircraft Engines].[Engines] 

所以如何決定何時編寫和使用交接或聯合。

回答

1

在不同的層次和級別之間,不能使用Union是MDX,因爲到Union的所有參數都必須具有相同的維度。如果你想看到這些e的所有組合,你可以交叉加入這些e。 G。在行或列中。

+0

因此,我可以使用CorssJoin([Aircraft]。[Aircraft Type]。[Type],[Altitude]。[Altitude],[Aircraft]。[Aircraft Engines]。[Engines]) – MBehtemam

+1

是的。順便說一下,MDX中有一個用於交叉連接的別名,它是''*'。 I. e。你的'CrossJoin([Aircraft]。[Aircraft Type]。[Type],[Altitude]。[Altitude],[Aircraft]。[Aircraft Engines]。[Engines])''等價地寫成'[Aircraft]。Aircraft Type]。[Type] * [Altitude]。[Altitude] * [Aircraft]。[Aircraft Engines]。[Engines]' – FrankPl