Вычисляемое поле не работает должным образом

Ниже указано поле расчета для выборки предыдущих месяцев.

CASE [TimeFrame]
when 'DateMonth' then if [Months between today and Date]=0 then 'show' end
when 'Last2Months' then if [Months between today and Date]>=0 and [Months between today and Date]<=1 then 'show' end
when 'Last3Months' then if [Months between today and Date]>=0 and [Months between today and Date]<=2 then 'show' end
else 'hide'
end

Вышеупомянутый расчет работает, как ожидается, для Last2Months и Last3Months, но его не показывает никакого результата за текущий месяц.

Пример если пользователь выбирает 11/1/2015, то,

  • DateMonth должен быть ноябрь—в настоящее время данные не отображаются.
  • Last2Months должны быть ноябрь и октябрь—работающ как предположено
  • Last3Months должны быть ноябрь, октябрь и сентябрь —работающ как предположено.

Кроме того, мне нужно добавить месяцы в виде скользящей суммы и отображать автоматически вместо раскрывающегося списка.

Пожалуйста, найдите twbx прилагается.

Любой вклад будет весьма признателен.

1 ответ

  1. У вас есть IFутверждения в вашем CASEзаявлении, которые не имеютELSE, что означает, что вы получите некоторые нули в определенных случаях (они не будут пойманы ELSEв вашем CASE).

    Я бы переписал вот так. Посмотрите, если это дает вам ваши результаты:

    IF [TimeFrame] = 'DateMonth' AND [Months between today and Date] = 0 THEN 'show'
    ELSEIF [TimeFrame] = 'Last2Months' AND [Months between today and Date] >= 0 AND [Months between today and Date] <= 1 THEN 'show'
    ELSEIF [TimeFrame] = 'Last3Months' AND [Months between today and Date] >= 0 AND [Months between today and Date] <= 2 THEN 'show'
    ELSE 'Hide'
    END