2017-01-04 6 views
0

Как я могу передать параметр SSRS с помощью @? Когда я пытаюсь выбрать адрес электронной почты из списка параметров, я получаю:Параметр SSRS с @

An error has occurred during report processing. (rsProcessingAborted) 
Query execution failed for dataset 'DataSet1'. (rsErrorExecutingCommand) 
Parser: The syntax for '@xx' is incorrect. ([email protected]). 

Мне нужно его для фильтрации моего набора данных MDX.

ответ

1

Значения в кубах используются не просто для текста, они являются членами измерения с атрибутами. Чтобы сделать сравнение, его нужно преобразовать в правильный синтаксис. Хорошим способом добавления параметра является использование конструктора запросов SSRS.

  1. Перейдите к своим объектам набора данных.
  2. Нажмите «Дизайнер запросов».
  3. Перетащите атрибут в верхний правый угол.
  4. Установите флажок в столбце «Параметры».
  5. Нажмите OK.

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

Если вы посмотрите в MDX, который он создает, есть функция StrToSet, которую она использует для интерпретации строки.

Другой вариант, который проще, но менее эффективен, - просто применить фильтр к вашему набору данных в SSRS.

  1. Перейти к объекту Dataset.
  2. Перейдите на вкладку «Фильтры».
  3. Добавить фильтр, который обеспечивает Email столбец равен вашей Parameters!Email.Value
+0

Он работает только для одного параметра. Даже если я сменил оператор на «in», только первый адрес электронной почты отправляется для фильтрации. – Testtest11

+1

Если вы добавляете параметры в конструктор запросов, они принимают по умолчанию несколько значений. Если вы добавляете выражение фильтра, просто убедитесь, что нет «(0)» после «Параметры! Email.Value». – StevenWhite