0

我正在使用 Crystal Reports XI,如果一列或另一列设置为一,我正在尝试添加特定列。

这是当前的预览:

Username (GROUP 1)
    MONTH (GROUP 2)

        DATE      SUBJECT     TOTAL_TIME

    End of group 2
End of group 1

现在,如果两个隐藏字段之一包含 1(真),我想在 total_time 中添加值。

我尝试使用 sum() 函数,但它没有工作,因为它一直加在一起。

我还是 Crystal Reports 的新手,我尝试在谷歌上搜索,但没有找到与我需要的相似的东西。

任何帮助将不胜感激。

4

3 回答 3

1

我可以建议的一种替代方法是,您可以在报告中使用参数字段。

对后面的代码进行计算,并将计算的总和设置为水晶报表页面的 Page_Load 事件的参数字段。此参数字段将用于在报告页面上显示总和。

请检查此链接以查看 - 如何创建参数字段: http ://devlibrary.businessobjects.com/BusinessObjectsXIR2/en/en/CrystalReports_dotNET_SDK/crsdk_net_doc/doc/crsdk_net_doc/html/crtsktutorialscrvparametersdiscretecreatingreport.htm

-如何在参数字段中设置值:http: //msdn.microsoft.com/en-us/library/aa289936 (v=vs.71).aspx

于 2013-07-26T06:46:33.437 回答
0

您最好的选择是通过这种方式使用“运行总计”,您可以通过在所需列为 1 时保持条件求和来控制流量。

于 2013-07-26T09:03:34.683 回答
0

你想过小技巧吗?您写道:如果两个隐藏字段之一包含 1(真),我想在总时间中添加值。

在这些情况下,您可以使用公式计算辅助字段Total_Time_Conditional

Total_Time_Conditional = IIf(HiddenField1 = 1 or HiddenField2 = 1, 1, 0) * Total_Time.

这将成倍增加 Total_Time

  • 1,如果任何隐藏字段为 1
  • 0,如果两个隐藏字段都是 0

计算Sum(Total_Time_Conditional)会给你预期的结果。

于 2013-11-04T19:45:29.147 回答