Фильтрация данных в построителе отчетов SSRS путем передачи параметров datetime с помощью средства выбора DateTime в запрос MDX - PullRequest
0 голосов
/ 07 октября 2011

Я новичок с MDX, но я заставил SSRS работать с параметрами с помощью обычных запросов SQL и хранимых процедур.Я хочу отфильтровать куб с начальной и конечной датами, потому что там много данных, и использование фильтров занимает слишком много времени.В SSRS я использую элемент управления выбора времени и даты.

Вот мой MDX-запрос из SSRS после того, как я настроил параметр, используя конструктор запросов:

 SELECT NON EMPTY { [Measures].[Detail Presentation Count], [Measures].[Duration], [Measures].[DurationSeconds] } ON COLUMNS, NON EMPTY { ([Cube View Detail Presentation Country Dimension].[Country Alpha2].[Country Alpha2].ALLMEMBERS * [Cube View Detail Presentation Country Dimension].[English Short Name].[English Short Name].ALLMEMBERS * [Presentation].[Name].[Name].ALLMEMBERS * [Presentation].[Revision].[Revision].ALLMEMBERS * [Presentation].[ID].[ID].ALLMEMBERS ) } DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS FROM ( SELECT ( STRTOMEMBER(@FromCubeViewDetailPresentationTimeDimensionCreated, CONSTRAINED) : STRTOMEMBER(@ToCubeViewDetailPresentationTimeDimensionCreated, CONSTRAINED) ) ON COLUMNS FROM [DetailPresentation]) CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS

I 'мы попытались передать в различных форматах значение даты из параметра SSRS, но ни один из них не работает, и запрос не будет выполнен.Даты имеют следующий формат: 2011-01-04 06: 10: 38.000000.

Какой формат даты мне нужно передать, или мне нужно создать больше, чем эта строка даты дляMDX-запрос на работу?

1 Ответ

0 голосов
/ 07 октября 2011

Я думаю, я понял это, в основном, с MDX, вы не отправляете значение в качестве параметра, вы отправляете элементы измерения.

Допустим, мы хотим фильтровать по месяцам, обычно я бы делал что-то подобное для параметра SSRS:

Month(Parameters!StartDate.Value)

Но это не сработает. Вместо этого MDX ожидает что-то вроде этого:

[Cube View Detail Presentation Time Dimension].[Month Number].&[3]

Итак, с точки зрения параметра SSRS это будет:

=“[Cube View Detail Presentation Time Dimension].[Month Number].&[“ + MONTH(Parameters!StartDate.Value) + “]”

Это работает при условии, что элемент измерения существует. Например, если вы отправите 15 в течение месяца, ожидайте, что он потерпит неудачу, потому что в системе всего 12 месяцев.

...