我无法弄清楚为什么这些Total表达式不起作用......
我正在尝试添加任何日期晚于今天的细胞,任何具有“Not Reqd”的细胞,然后将其除以行数,以获得百分比。
我得到的只是#Error
。
这些是我尝试过的表达方式:
=SUM(IIf(Fields!Jetter_Trng.Value >Today OR
Fields!Jetter_Trng.Value = "Not Reqd",1,0)))/(Count(Fields!Jetter_Trng.Value)
和
=Count(IIf(Fields!Jetter_Trng.Value >Today OR
Fields!Jetter_Trng.Value = "Not Reqd",1,Nothing)))/(Count(Fields!Jetter_Trng.Value)
“Not Reqd”字符串来自将日期(01/01/1950)更改为“Not Reqd”的表达式。也许这搞砸了事情:
=iif(Fields!Jetter_Trng.Value = "01/01/1950", "Not Reqd", Fields!Jetter_Trng.Value)
当前的工作表达式(不是“Not Reqd”)是:
=COUNT(IIF(Fields!Jetter_Trng.Value>Today,1,Nothing)))/(Count(Fields!Name.Value))
我有点失落......
答案 0 :(得分:0)
关于你目前表达的几个注释
Jetter_Trng似乎是一个表示日期或“Not Reqd”的字符串。您无法将字符串与日期进行比较,而无需先使用CDATE()
大括号((
和)
)不匹配
问题的根源在于您使用Jetter_Trng返回日期或值“Not Reqd”。
当SSRS尝试评估表达式时,它会同时执行所有操作。它不遵循找到答案的路径,而忽略其他路径。因此,当您尝试比较时
Fields!Jetter_Trng.Value >Today
这是将字符串与日期进行比较,并抛出错误,因为这意味着什么
"Not Reqd" > Today
您将无法完成所有仅使用一个字符串类型字段的操作。
您的选择是
使用此处的第二个选项,您可以使用以下表达式创建所需的计算
=sum(iif(CDate(Fields!Jetter_Trng.Value) > Today, 1, 0)) /
Count(Fields!Jetter_Trng.Value)
将评估此数据集如下