两个日期字段,一个日期过滤器
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?
根据条件,[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?