У меня есть смежные группы в моей матрице - первая группа фиолетового цвета - это все для финансовых лет, выбранных в параметре (перед текущим), а группа желтого цвета - текущий финансовый год (YTD)
На данный момент в моем наборе данных есть следующее предложение WHERE, которое дает мне правильные результаты для первой группы
WHERE #DocsSales.FinancialYear IN (@FinancialYear) AND
#DocsSales.FinancialYearEnd < ( CASE WHEN MONTH(CURRENT_TIMESTAMP) <= 3 THEN YEAR(CURRENT_TIMESTAMP) ELSE YEAR(CURRENT_TIMESTAMP)+1 END)
Однако чтобы правильно разделить данные между двумя группами столбцов и по-прежнему использовать тот же набор данных, я считаю, что мне нужно переместить вторую часть предложения WHERE (после AND) в фильтр группы столбцов для каждой группы столбцов (используя <для первая группа и = для второй группы). </p>
Я добавил фильтр, но получаю сообщение об ошибке:
Поле FinancialYear в моем запросе выглядит следующим образом:
CASE WHEN MONTH(ed.tsg_saledate) <= 3 THEN YEAR(ed.tsg_saledate)
ELSE YEAR(ed.tsg_saledate)+1 END AS FinancialYearEnd,
, которое, согласно всему, что я прочитал, возвращает целое число, а выражение фильтра -
=IIF(MONTH(NOW())<= 3, YEAR(NOW()),YEAR(NOW())+1)
вт ich опять же, судя по всему, что я прочитал, также возвращает целое число.
Итак, у меня действительно два вопроса: 1. Правильно ли я сделал это, используя фильтры групп столбцов? 2. Почему в сообщении фильтра говорится, что он пытается сравнить типы данных string и int32, когда оба типа возвращают целое число?