Я создаю отчет в SSRS, и я не могу использовать оператор IIF в отчете, чтобы выполнить следующее. Я получаю совокупные ошибки, когда пытаюсь суммировать данные в отчете SSRS.
`IIF(Fields!Period=0,0,IIF(Period=13,0,Balance/12))`
Работает нормально до тех пор, пока я не попытаюсь суммировать... получить глупую агрегированную ошибку "Функции агрегирования, отличные от First, Last, Previous, Count и Count Distinct, могут агрегировать только данные одного типа данных"... Это все целые числа .
По сути, у меня есть значение в Master.Balance, которое мне нужно разделить на 12 только тогда, когда Secondary.Period равен 0 или 13. Если Secondary.Period равен 0 или 13, тогда значение должно быть 0. Я знаю, что моя проблема связана с включением отношения между таблицами, но я просто не знаю, как это записать.
Вот что я пытаюсь использовать:
`CASE
WHEN Secondary.Period=0 OR Secondary.Period=13
THEN 0
ELSE Master.Balance/12
End As BudByPer`
Вот как эти две таблицы связаны друг с другом:
`FROM Master LEFT OUTER JOIN Secondary
ON Master.Project = Secondary.Project
AND Master.object = Secondary.object
AND Master.org = Secondary.org
`
Как мне получить вышеизложенное в это:
SELECT DISTINCT Master.Project, Master.Object, Master.Fund, Master.Segment, Master.Balance, Secondary.project, Secondary.object, Secondary.org, Secondary.Period, Secondary.object, Secondary.Project.
FROM Master LEFT OUTER JOIN Secondary
ON Master.Project = Secondary.Project
AND Master.object = Secondary.object
AND Master.org = Secondary.org
WHERE (Master.object>=600000)
ORDER BY [Master.Fund]