2013-07-26 85 views
0

我正在使用Crystal Reports XI,如果一列或另一列設置爲一列,我試圖添加特定的列。Crystal Reports和添加值

這是當前的預覽:

Username (GROUP 1) 
    MONTH (GROUP 2) 

     DATE  SUBJECT  TOTAL_TIME 

    End of group 2 
End of group 1 

現在我想添加值TOTAL_TIME如果兩個隱藏域的一個包含1(真)。

我嘗試使用sum()函數,但它沒有工作,因爲它將所有的時間加在一起。

我還是新來的水晶報告,我試圖在谷歌搜索,但沒有出現類似於我需要的東西。

任何幫助將不勝感激。

回答

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

+0

我試過,但我有重複!雖然 – kiki90

0

你最好的選擇將是通過使用「運行總計」通過這種方式,您可以通過在所需列爲1時保持條件總和來控制流量。

+0

這不會起作用,因爲只要其中一列達到1,它就會將所有內容加起來,即使那些列0或空值 – kiki90

0

您是否想過小動作?你寫道:如果兩個隱藏字段中的一個包含1(真),我想在totaltime中添加值。

在這種情況下,你可以使用公式計算幫手場Total_Time_Conditional

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

這將1乘Total_Time

  • ,如果任何隱藏字段是1
  • 0,如果兩個隱藏字段0

計算Sum(Total_Time_Conditional)會給你預期的結果。