2011-05-26 118 views
1

所以我創建了下面的代碼片段,以一個公式來rummate在勞動每個代碼工作時間在跑......水晶報表 - 一組列的總和

NumberVar totalHours := SUM({LaborTicket.HoursWorked}, {LaborTicket.VisualCode}); 
NumberVar totalMinutes := SUM({LaborTicket.HoursWorked}, {LaborTicket.VisualCode}) * 60 MOD 60; 
NumberVar totalSeconds := SUM({LaborTicket.HoursWorked}, {LaborTicket.VisualCode}) * 3600 MOD 60; 

ToText(totalHours, 0) + ":" + 
ToText(totalMinutes, '00') + ":" + 
Totext (totalSeconds , '00') 

它把我的表現1.50小時到1小時30分鐘(或1:30:00),美不勝收。

然而現在,他們希望該報告是由客戶端,通過視覺代碼...

因爲我需要證明總學時爲另一組頁腳在一個組頁腳和總計爲每個客戶端的每個標識碼,我需要能夠根據我不知道該怎麼做的事實來進行總結。

上述函數將所有客戶端進行求和,而不僅僅是報告中的那個點,所以我需要能夠基於可視代碼和客戶端名稱進行求和。有什麼建議麼?

我使用隨Visual Studio 2010中您需要通過客戶端名稱插入內組,總結了該組(以及你安裝後下載一個)

回答

0

好的,所以看起來你只需要在VisualCode組之前的Client字段創建一個新的組。一旦你有了兩個組,你應該能夠繼續使用新的客戶組插入你的摘要字段。我知道這個摘要將顯示1.5而不是你的格式(1:30:00),但是這個練習只是爲了確保你得到的數據,然後你可以改變你的公式的格式,一旦你有正確的數據。

一旦你有了這個,你應該能夠在公式編輯器的字段樹下的「報告字段」中找到這個新的總結字段。然後,您可以將格式化函數的每個SUM({LaborTicket.HoursWorked}, {LaborTicket.VisualCode})部分更改爲新的彙總字段,並將其與未格式化的彙總字段放在同一部分。要完成它,只需禁止非格式化的摘要字段,以便只保留您的字段,並將其放在段內的需要的位置。我希望這有幫助。

0

晶體的版本 - 這個自動組所有組級別。或者,如果我誤解了,並且您需要總結客戶端而不是針對不同的可視代碼,那麼您需要創建運行總計字段。

+0

這是公式編輯器中的公式,因爲我必須運行一個函數將1.25小時轉換爲01:15:00(小時和15分鐘)。我已經在報告中有2組,組1是客戶端,組2是可視代碼。上述基於LaborTicket.VisualCode計算小時數的函數並不能爲每個客戶端提供正確的答案和完全不同的結果,就好像表達式已經無序地對它們進行了評估一樣...... – Mohgeroth 2011-05-27 14:24:35

+0

您的聚合是否應該是依賴性的?換句話說 - 需要每個客戶端和視頻代碼的總數,或者您需要每個客戶端的總數和每個視頻代碼的總數?就像我說的,第二個選項需要使用運行總數。 (對不起,英文不是我的第一或第二語言。) – Arvo 2011-05-30 06:30:45

+0

這兩者對於客戶端和視覺代碼都是獨一無二的。對於客戶端,視覺代碼10可能是50件,但對於另一個客戶端,視覺代碼10是400件。 – Mohgeroth 2011-05-30 16:08:53