2017-08-15 179 views
2

我的報告組顯示前10位客戶的淨成本。 {@NetCost}是計算銷售成本共享變量 - 所有的稅收和所有折扣:按共享變量排序

if travelType="OW" then 
    salesCost-Tax1-Tax2-Tax3-Discount1-Discount2 
else 
    (salesCost-Tax1-Tax2-Tax3-Discount1-Discount2)/2 

shared currencyvar netCostTotal:=netCostTotal+{@netCost}; 

我知道如何通過一個數據庫字段進行排序,但我怎麼能排序正在運行的共享變量?

client# client name  Net Cost 
1 1234  XXXXX   150.22 
2 2345  XXXXX   140.11 
3 4567  XXXXX   120.00 
+0

共享變量有點不確定,因此無法判斷這是否可行,但是......您是否嘗試過創建一個新的公式字段,這只是您的共享變量,然後對該公式字段進行排序? (可能需要使用'whileprintingrecords;'才能使其行爲。) – 4444

+0

感謝您的回覆,我嘗試使用whileprintingrecords,但它在{@netCost}上有錯誤。只能在共享變量上工作。你能解釋更多如何在公式字段上排序嗎? @ 4444 – Iris

+0

您只需使用公式字段作爲「Sorted and Grouped by」下拉菜單插入組。如果你的新公式沒有顯示出來,那麼共享變量是不兼容的。但它可能工作。 – 4444

回答

0

共享變量開闢了大量的閃失,但應該還是有可能通過他們的結果進行排序:創建一個新的公式字段,它的配方中只是把共享netCost變量。從這裏您可以基於這個新的公式字段插入一個組。根據報告中事件的時間安排,您可能需要在此公式中使用whileprintingrecords

在這種特殊情況下,您根據您的netCost價值摘要進行排序並按此排序,從而獲得了正確的答案。

+0

嗨,另一個問題,我嘗試添加另一個表,使記錄重複。例如,我有一張表格作爲票證,現在我添加一張表格作爲票據細節的細分。如果我使用netCost的摘要來排序是不正確的,我需要通過運行總數來排序以得到正確的答案。謝謝@ 4444 – Iris

+0

@Iris我對你的意思有點不清楚 - 也許你應該發表一個新的問題? (有一些截圖和深入的描述) – 4444

+0

我用一些截圖發佈了一個新問題,希望這個更清楚。請轉到https://stackoverflow.com/questions/45722388/crystal-reports-how-to-sort-by-running-total,非常感謝,@ 4444。 – Iris