【问题标题】:Crystal Reports 2016 Sum field on two groupsCrystal Reports 2016 两个组的求和字段
【发布时间】:2018-08-25 04:39:15
【问题描述】:

我有一份汇总数据的报告,我正在尝试修改它。我试图按机器计算每周的总数,而不是按机器计算的总数。计算示例如下所示:

numberVar x := Sum ({WorkCntrSummary.Downtime_DurationInMinutes_Category0}, {WorkCntrSummary.Criteria_MachineID});
numberVar xh := Truncate(Round(x)/60);
numberVar xm := Round(x) mod 60;

if xh >= 1 then
  ToText (xh, 0) + "h " + ToText (xm, 0) + "m"
else
  ToText (xm, 0) + "m"

我正在尝试更改通过 MachineID 对字段求和的第一行。我想将它与 MachineID 以及我添加到报告中的另一个组相加,该组是按周分组的日期字段。我不知道如何更改该总和以按周添加日期字段。我尝试将其更改为以下内容,这对按周分组没有任何作用。

numberVar x := Sum ({WorkCntrSummary.Downtime_DurationInMinutes_Category0}, {WorkCntrSummary.Criteria_MachineID},{WorkCntrSummary.Criteria_StartDateTime});
numberVar xh := Truncate(Round(x)/60);
numberVar xm := Round(x) mod 60;

if xh >= 1 then
  ToText (xh, 0) + "h " + ToText (xm, 0) + "m"
else
  ToText (xm, 0) + "m"

但我得到一个错误组条件必须是一个字符串。

任何帮助将不胜感激。 谢谢!

【问题讨论】:

    标签: crystal-reports crystal-reports-2016


    【解决方案1】:

    改变

    Sum ({WorkCntrSummary.Downtime_DurationInMinutes_Category0}, {WorkCntrSummary.Criteria_MachineID},{WorkCntrSummary.Criteria_StartDateTime})
    

    Sum ({WorkCntrSummary.Downtime_DurationInMinutes_Category0}, {WorkCntrSummary.Criteria_StartDateTime})
    

    在 Crystal 中,第二个参数是您的分组依据。无需链接所有分组元素。

    【讨论】:

    • 当我将公式更改为使用 StartDateTime 字段时,它显示“必须有一个组与该字段匹配”。我确实在该字段上设置了一组每周打印,所以我不确定为什么会出现错误。
    • 更改为总和({WorkCntrSummary.Downtime_DurationInMinutes_Category0}、{WorkCntrSummary.Criteria_StartDateTime}、“每周”)
    • 如果您首先通过在详细信息部分选择要汇总的内容并使用 sigma 按钮为所有组级别创建小计来创建总和,这将使您的生活更加轻松。创建小计字段后,您可以通过查找带有 sigma 图标和适当分组级别的报告字段,将其表达式粘贴到公式编辑器中。双击此类 sigma 报告字段选项,然后为您粘贴整个表达式,因此您不必猜测语法。这是澄清上述文字的图片:screencast.com/t/B0WEntBaAAn
    • 非常感谢 MilletSoftware,一旦我的参数正确,它就可以完美运行。感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-24
    相关资源
    最近更新 更多