Могу ли я использовать перекрестное соединение в выражении WHERE в MDX? - PullRequest
0 голосов
/ 28 июня 2011

Могу ли я использовать CROSSJOIN в своем выражении WHERE? Мне нужно взять {[Атрибут продукта]. [Номер кода атрибута] и [Атрибут продукта]. [Атрибут] и сравнить их. Существует соответствующий кодовый номер для атрибута продукта, и когда я сравниваю их, я ДОЛЖЕН получить возврат, такой как Douglas Fir или White Pine.

Поможет ли здесь CROSSJOIN? Мой текущий запрос возвращает Species.Douglas Fir и босс хочет Species. часть, чтобы уйти, и единственный способ, которым я могу думать, достигнуть этого с двумя участниками, которых я перечислил.

Ответы [ 2 ]

1 голос
/ 30 апреля 2012

На самом деле, вы можете.Посмотрите на примеры с Мондрианом: https://github.com/rsim/mondrian-olap/blob/master/spec/query_spec.rb

0 голосов
/ 11 июля 2011

CROSSJOIN предназначен для использования, когда у вас есть два набора из разных измерений ON ROWS (или ON COLUMNS) и вы хотите получить каждую комбинацию из двух (например, если один набор имеет 2 члена, а другой - 3, вы получите 6строки, показанные в конце).

Вы не можете использовать его в WHERE, и я не вижу смысла использовать их, когда оба набора, к которым вы присоединяетесь, принадлежат одному измерению.

Возможно, вам следует дать нам пример того, какие результаты вы хотите видеть, в виде небольшой таблицы с примерами цифр.

...