0

我在 SQL 中创建了一个包含日期过滤器的查询。我想将此移至 Oracle BIEE,以便可以提示用户输入日期,然后运行查询以提供所需的输出。

在 Oracle BIEE 中,我创建了一个仪表板和一个连接到报表的仪表板提示。在仪表板提示中,我创建了一个名为“VAR1_EFFDATE”的表示变量,我想过滤等于“VAR1_EFFDATE”或等于“VAR1_EFFDATE”的日期 - 1 天。以下是我目前拥有的:

在 @{VAR1_EFFDATE-1}{'01-OCT-20'} 和 @{VAR1_EFFDATE}{'31-OCT-20'} 之间的 b.EFFDATE

第二部分“@{VAR1_EFFDATE}{'31-OCT-20'}”似乎正在处理它选择用户输入的“VAR1_EFFDATE”而不是默认值({'31-OCT-20'})。但是,在第一部分,它总是选择默认值 ({'01-OCT-20'}),而“{VAR1_EFFDATE-1}”会被忽略。我试过使用@{TIMSPADD(SQL_TSI_DAY, -1, VAR1_EFFDATE)}{'01-OCT-20'},它似乎也不想选择提示值减去一天。

4

1 回答 1

0

我能够为那些感兴趣的人解决这个问题:

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

我没有使用静态日期,01-OCT-20而是31-OCT-20使用当前日期(sysdate)。

于 2021-01-27T15:31:25.747 回答