两个日期字段,一个日期过滤器

Two Date Fields, One Date Filter

根据条件,[Example] = 'Business',我想按 [Date A][Date B]

过滤

我已经从过滤器部分的查询页面中写出这样的语句,但出现错误。我计划将 x_date 作为参数添加到提示页面,但似乎无法正常工作。我想我可以创建两个单独的报告并 UNION 它们,但我确信有一种方法可以用条件公式解决这个问题。

if ( [Example] = 'Business') then
    [Date A] in_range ?x_date?
else
    [Date B] in_range ?x_date?

知道如何应用单个日期过滤器有条件地应用于目标日期列吗?

你可以试试下面的表达方式:

if ([Example]='Business')
then([Date A])
else( [Date B])    
in_range ?p_date?

话虽如此,我认为联合方法可能更易于控制,因为 [示例] 可能 return 不同的值。对于 Union 方法,您将有两个查询

Query1 将具有过滤器 Example= Business 和 Date A in_range ?p_date? Query2 将具有过滤器 Example <>Business and Date B in_range ?p_date?

建议

在您的查询中创建一个名为 [目标日期] 的数据项 使用表达式

IF([Example] = 'Business')Then([Date A])Else([Date B])

然后为您的查询添加过滤器

[target date] = ?PromptDate?