【问题标题】:Crystal Reports 2013 How do I exclude Null Values in a Crosstab average?Crystal Reports 2013 如何在交叉表平均值中排除空值?
【发布时间】:2015-06-16 01:58:52
【问题描述】:
如何在 Crystal Reports 2013 中获取交叉表以从交叉表平均值中排除空值?
例如
程序名称:OCT RETINA
程序计数:8
完成时间填充的程序:6
所有 6 个完成时间的总结:101
我期望完成时间的平均值计算为 101/6。相反,Crystal Reports 将平均值计算为 101/8。需要按 101/6 计算(不计分母中的空值)。
添加另一个组不是一个选项,因为值在详细信息中的排序方式非常具体(因此在页脚中有一个交叉表)。程序的名称是动态的,因此保持每个程序的平均完成时间的运行总计也不是一种选择。
提前致谢!!!!
【问题讨论】:
标签:
crystal-reports
crosstab
【解决方案1】:
一种解决方案是在交叉表中创建一个公式,而不是使用该字段。
创建一个公式@count
if << procedure field>>=<<your value>>
then 1
else 0
现在放置公式并使用sum 而不是count
【解决方案2】:
感谢大家的反馈!答案是使用加权平均值而不是简单的旧平均值。
我所要做的就是
一个。创建一个名为 IncludeProcInDenominator 的公式字段并将值设置为
如果 {Command.ProcTime} > 0 那么 1
湾。右键单击交叉表中的 Average Proc Time 计算并选择 Edit Summary
C。当编辑摘要对话框出现时,在计算此摘要下拉列表中,选择 Weighted average with
d。在其下方的下拉框中,选择@IncludeProcInDenominator
实际上,唯一的平均值是 @IncludeProcInDenominator = 1 的值
感谢大家的帮助!