我正在使用Crystal Reports XI,如果将一列或另一列设置为1,我正在尝试添加特定列。
以下是当前预览:
Username (GROUP 1)
MONTH (GROUP 2)
DATE SUBJECT TOTAL_TIME
End of group 2
End of group 1
现在我想在total_time中添加两个隐藏字段中的一个包含1(true)。
我尝试使用sum()函数但它没有工作,因为它一起添加了所有的时间。
我还是Crystal Reports的新手,我尝试在谷歌搜索,但没有出现类似于我需要的内容。
非常感谢任何帮助。
答案 0 :(得分:1)
我可以建议的另一种选择,您可以在报告中使用参数字段。
对Code后面的计算进行计算,并将计算的总和设置为Crystal Report页面的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
答案 1 :(得分:0)
您最好的选择是通过这种方式使用“运行总计”,您可以通过在所需列为1时保持条件总和来控制流量。
答案 2 :(得分:0)
你有没有想过小伎俩?您写道:如果两个隐藏字段中的一个包含1(true),我想在totaltime中添加值。
在这些情况下,您可以使用公式计算辅助字段Total_Time_Conditional
:
Total_Time_Conditional = IIf(HiddenField1 = 1 or HiddenField2 = 1, 1, 0) * Total_Time
。
这将乘以Total_Time
计算Sum(Total_Time_Conditional)
会给您预期的结果。