В Oracle BIEE — попытка вычесть число из переменной подсказки в фильтре

Я создал запрос в SQL с фильтрами даты. Я хочу переместить это в Oracle BIEE, чтобы пользователю предлагалось ввести дату, а затем выполнялся запрос для получения желаемого результата.

В Oracle BIEE я создал информационную панель и приглашение информационной панели, которое подключается к отчету. В приглашении панели инструментов я создал переменную представления с именем VAR1_EFFDATE и хочу фильтровать даты, равные VAR1_EFFDATE или равные VAR1_EFFDATE — 1 день. Вот что у меня есть на данный момент:

ГДЕ b.EFFDATE между @{VAR1_EFFDATE-1}{'01-OCT-20'} и @{VAR1_EFFDATE}{'31-OCT-20'}

Вторая часть @{VAR1_EFFDATE}{'31-OCT-20'}, кажется, работает над тем, чтобы выбрать VAR1_EFFDATE, который ввел пользователь, а не значение по умолчанию ({'31-OCT-20'}). Однако в первой части всегда выбирается значение по умолчанию ({'01-OCT-20'}), а {VAR1_EFFDATE-1} просто игнорируется. Я попытался использовать @{TIMSTAMPADD(SQL_TSI_DAY, -1, VAR1_EFFDATE)}{'01-OCT-20'}, и, похоже, он также не хочет выбирать запрашиваемое значение минус один день.


person Jonathan    schedule 18.12.2020    source источник


Ответы (1)


Я смог выяснить это для тех, кто заинтересован:

trunc(b.EFFDATE) in ((@{var_effdate}{trunc(sysdate)-1})-1 , (@{var_effdate}{trunc(sysdate)-1}))

Вместо статической даты 01-OCT-20 и 31-OCT-20 я использовал текущую дату (sysdate).

person Jonathan    schedule 27.01.2021