Проблема порядка запросов MDX - PullRequest
0 голосов
/ 22 января 2011

У меня есть два поля измерения, например [Пользовательская дата], в которых есть такие данные, как «Сентябрь 2009» и [Пользовательская дата с Formart], в которых есть данные, такие как «Сентябрь-09».

Я применяю функцию заказа, чтобы организовать ее, как показано ниже.

Order(BottomCount(
{[CUBE].[Custom Date].[Custom Date].ALLMEMBERS},  12),
[CUBE].[Custom Date].[Custom Date].[], DESC)
ON COLUMNS,

Мои даты называются «сентябрь 2009», «октябрь 2009» ...., «январь 2010», «февраль 2010».

Order(
{[CUBE].[Custom Date With Formart].[Custom Date With Formart].ALLMEMBERS},
[CUBE].[Custom Date].[Custom Date].[], DESC)
ON COLUMNS,

Выход для вышеупомянутого похож на 'Jan-10', 'Feb-10', ...., 'Sep-09', 'Oct-09'.

Я хочу отобразить [Custom Date With Formart] на оси и отсортировать его, используя [Custom Date].

Дайте мне знать ваши комментарии.


Спасибо всем вам. Я решил свою проблему, перейдя по этой ссылке .

Ответы [ 2 ]

2 голосов
/ 27 января 2011

Я не уверен, что действительно понял вашу проблему. Зачем вам нужен какой-то конкретный заказ, чтобы получить то, что кажется естественный порядок измерения времени. В любом случае может потребоваться использовать опцию BDESC вместо DESC (см. Документацию здесь ).

1 голос
/ 03 февраля 2011

Вы можете попробовать создать строку для сортировки и преобразовать ее в дату, если вы можете справиться с VBA:

ORDER(whatever, CDate("01-" + [my dimension].currentMember.caption), BDESC)

Этот код может работать не так, как есть, но то, что яПопытка предложить состоит в том, чтобы вы взяли строку с именем вашего члена «10 сентября» и превратили ее в строку с полной датой (первого числа месяца), которую затем можно преобразовать в дату и использовать для сортировки.

...