Как выполнить MDX-запрос за последние 12 недель в моем измерении времени?

У меня есть куча вопросов о запросах MDX, потому что я только начал изучать отчет OLAP и SSRS с помощью построителя отчетов SQL.

Первый вопрос: не могли бы вы дать мне ссылку на лучшие сайты, на которых есть учебник по запросам MDX.

Во-вторых, я уже развертываю кубы продаж. Каков наилучший способ передать параметр в запрос? Я имею в виду, как если бы я хотел бы автоматически запросить мои продажи за последние 12 недель, не используя параметры (автоматически генерировать, если сейчас на 30-й неделе, чем показывает данные с 18 до 30 недели и т. Д.). Вот мой запрос, автоматически созданный от дизайнера:

SELECT NON EMPTY { [Measures].[Total Stick] } ON COLUMNS, NON EMPTY { ( [PALAPA Location].[LocationCode].[LocationCode].AllMembers * [PALAPA Fact Sales].[Year].[Year].AllMembers * [PALAPA Fact Sales].[Week].[Week].AllMembers ) } Dimension Properties MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS FROM ( SELECT ( { [Time_Dim].[Week].&[2015-06-21T00:00:00], [Time_Dim].[Week].&[2015-06-28T00:00:00], [Time_Dim].[Week].&[2015-07-05T00:00:00], [Time_Dim].[Week].&[2015-07-12T00:00:00], [Time_Dim].[Week].&[2015-07-19T00:00:00] } ) ON COLUMNS FROM ( SELECT ( { [Time_Dim].[Year].&[2015-01-01T00:00:00] } ) ON COLUMNS FROM [PALAPA_DSV] ) ) WHERE ( [Time_Dim].[Year].&[2015-01-01T00:00:00], [Time_Dim].[Week].CurrentMember ) CELL Properties Value, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS 

Третий вопрос: я хотел бы установить значения по умолчанию в параметре SQL Report builder (измерение недели) с помощью этого кода:

= "[TP DIM CALENDAR]. [Дата]. & [" + Формат (CDate (Параметры! FromParameter.Value), "yyyy-MM-dd") + "T00: 00: 00]"

Но почему он не работал, когда я запускаю отчет? Значение параметра пуст ..

Спасибо за вашу помощь !

Пожалуйста, ознакомьтесь с этими функциями mdx

StrToMember

https://msdn.microsoft.com/en-us/library/ms146022.aspx

StrToSet

https://msdn.microsoft.com/en-us/library/ms144782.aspx

Эти и некоторые другие функции StrTo.. довольно широко используются для передачи параметров.

В вашем примере вам нужно обернуть всю строку примерно так:

 strToMember( "[TP DIM CALENDAR].[Date].&[" + Format(CDate(Parameters!FromParameter.Value),"yyyy-MM-dd") + "T00:00:00]" ) 

Найден решение здесь:

http://www.msbitips.com/?p=4

Спасибо за вашу помощь whytheq 🙂

Interesting Posts

Как увеличить (или зарезервировать) значение IDENTITY в SQL Server без вставки в таблицу

Заполните пробелы, основанные на событиях

Текущая транзакция не может быть зафиксирована и не может поддерживать операции, которые записываются в файл журнала. Откат транзакции

CHAR против VARCHAR и последствия при присоединении

Имя столкновения с системным представлением sys.sysusers в SQL Server

Создайте пакет Nuget для сценария Dacpac и Powershell

Как выполнить массовое обновление таблицы SQL со случайными данными за один шаг?

Использует ли SQL Server специальные символы?

удалять строки, не соответствующие в sql-таблицах

XML-документ TSQL Parse

замените значение в поле varchar (max) с соединением

Китайские символы в SQL Service Broker Message

SSIS: при успешной записи выполните дополнительные действия

Возврат таблицы дат расчета из хранимой процедуры SQL

Почему старое значение остается в этом объекте после его сброса?

Давайте будем гением компьютера.