Является ли кортеж в MDX неявным перекрестным соединением? - PullRequest
2 голосов
/ 17 сентября 2009

Эквивалентны ли эти два утверждения?

Кортеж:

  SELECT  {[Measures].[Volume]}  ON COLUMNS, 
  ([Product].[Product Id].[Product Id].AllMembers
  ,[Time].[Time].[Year].AllMembers)  ON ROWS 
   FROM [My Cube] 

Против явного перекрестного соединения:

SELECT  {[Measures].[Volume]}  ON COLUMNS, 
  [Product].[Product Id].[Product Id].AllMembers
       * [Time].[Time].[Year].AllMembers  ON ROWS 
       FROM [My Cube] 

Кажется, они возвращают один и тот же результат, но из прочитанного мною показалось, что они не должны (по крайней мере, не всегда).

1 Ответ

2 голосов
/ 30 сентября 2009

То, что у вас есть в первом запросе, не является кортежем. Кортежи состоят из набора из одного или нескольких членов

например. ( member1, member2, ... )

Где то, что у вас есть ( set1, set2 ... ). который я считаю субкубом, поскольку он используется при определении субкубов для операторов области видимости. А субкуб по сути является подразумеваемым перекрестным соединением, поэтому ваши два запроса должны возвращать один и тот же результат.

...