2017-08-15 95 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