我有一个Microsoft SQL查询:
SELECT case
when ReHired Is Null Then HireDate
else ReHired
end CheckDate
FROM
Employees
这当然会创建一个列 - CheckDate - 使用HireDate或Re-HiredDate。
如何将此相同功能移植到Crystal Reports?
答案 0 :(得分:2)
我在问这个之前就知道CR中的SQL Expression Fields看起来像我想要的那样,但是我尝试了一些东西而无法让它工作。
然而,最后,我设法..只需创建一个SQL表达式字段,插入选择表达式 - CASE WHEN ReHired IS NULL然后HireDate ELSE ReHired END CheckDate - 。
然后,只需在CR公式和表达式中将其引用为{%CheckDate}即可。非常简单,非常强大,正是我想要的。
希望将来可以帮助其他人。
答案 1 :(得分:0)
在CR中创建名为CheckDate的公式,其中包含以下内容:
if isnull({Employees.ReHired})
then {Employees.HireDate}
else {Employees.ReHired}
并在报告中使用该公式。请注意,当您的报表将“将NULL值转换为默认值”选项集时,您需要将第一行更改为类似的行:
if {Employees.ReHired}=<your db default value for ReHired column>
答案 2 :(得分:0)
将您的“基本”查询构建为sql server上的视图,然后允许crystal对其进行过滤,或者作为在sql server上返回参数化存储过程或函数的表,并使Crystal传递参数。在这两种情况下,包括结果集中的“计算”字段