Каков правильный синтаксис в выражении для подсчета строк столбца даты, если оба значения параметров указаны в дате? - PullRequest
0 голосов
/ 01 февраля 2019

У меня есть 2 параметра в моем запросе @selectedMonth и @selectedYear.У меня есть 5 различных столбцов даты, и мне нужно подсчитать все строки для каждого столбца, где месяц и год в дате соответствуют выбранным параметрам.Я настроил каждый параметр с помощью набора доступных значений (названия месяцев с января по декабрь со значениями от 1 до 12 соответственно) и (годы с 2018 по 2022 год включительно, и значения совпадают с меткой).enter image description here В своем SQL-запросе я использовал следующее в предложении WHERE: (обновлено 4/2/19 для отображения целого предложения where)

   (DATEPART(mm, createdon) = @selectedMonth) AND (DATEPART(YY, createdon) = @selectedYear) OR (DATEPART(mm, sb_provisionalstatuschangedate) = @selectedMonth) AND (DATEPART(YY, sb_provisionalstatuschangedate) = @selectedYear) OR (DATEPART(MM, sb_confirmedstatuschangedate) = @selectedMonth) AND (DATEPART(YY, sb_confirmedstatuschangedate) = @selectedYear) OR

(sb_status = 3) И (код состояния = 1) И (DATEPART (ММ, sb_eventdate) = @selectedMonth) И (DATEPART (ММ, sb_eventdate) = @selectedYear) ИЛИ (код состояния = 2) И (DATEPART (ММ, фактически закрыто)= @selectedMonth) AND (DATEPART (YY, actualclosedate) = @selectedYear)

, и я использовал следующее выражение в таблице SSRS (в первом столбце - мне понадобится аналогичное в другой 4 датестолбцы):

=SUM(iiF(Fields!createdon.Value=Parameters!selectedMonth.Value AND Fields!createdon.Value=Parameters!selectedYear.Value),1,0)

Я думаю, что мне нужно выражение, потому что ГДЕ использует ИЛИ в 5 столбцах даты, и я хочу, чтобы оно только подсчитывало действительные даты в каждом столбце.

Я не совсем уверен, в чем проблема.Я подумал, что мне может понадобиться указать часть поля 'Месяц'! Selectedon.value равно значению параметра?(и то же самое для года), однако я не могу понять, как это сделать в выражении.Или, возможно, синтаксис совершенно неверен.

Извините, но я смотрел на это так долго, что не вижу леса за деревьями.Если кто-то может указать мне правильное направление, я с удовольствием продолжу исследовать, как это сделать, но, пожалуйста, подтолкни меня.

Ответы [ 2 ]

0 голосов
/ 04 февраля 2019

Ваше выражение в таблице SSRS должно быть (и изменено для каждого столбца даты):

= Сумма (iiF (DatePart ("m", Поля! Creationon.Value) = Параметры! SelectedMonth.ValueИ DatePart ("гггг", поля! Созданы на. Значение) = параметры! SelectedYear.Value, 1, 0))

0 голосов
/ 02 февраля 2019

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...