我需要你帮助排除组页脚中SUM的抑制金额。在详细信息部分,我有重复的交易号和金额。因此,在详细信息部分的专家部分中,我对公式“抑制”执行了一个条件,以禁止重复的字段:
{deal_no} =(next {deal_no})
上述条件适用于报告,我能够抑制重复。现在在组页脚中,我使用公式执行运行总计来计算金额的SUM。但是,此SUM正在计算抑制量,并且它正在给出结果。那么如何从计算中删除它们。
答案 0 :(得分:1)
这是答案
WhilePrintingRecords;
If {deal_no} <> (next{deal_no}) OR OnLastRecord then //this excludes the duplicates
(
numbervar gsum := gsum + {@Cost};
numbervar grand := grand + gsum;
);
答案 1 :(得分:0)
您可以执行的操作不是使用running total
,而是可以通过右键单击该字段并使用Insert Summary
进行总结,这样可以得到正确的结果。
答案 2 :(得分:0)
我已经制作了函数funsumColumn(dtfunSum,&#34; intProductId&#34;,&#34; decCBMCMS&#34;) 并传递我想要求和的数据表,表ID名称和列名。
此函数返回唯一ID行的总和。
Private Function funsumColumn(ByVal dt As DataTable, ByVal idColumnName As String, ByVal ColumnForSum As String) As Decimal
Dim dtnew As New DataTable
dtnew.Columns.Add(idColumnName, GetType(Integer))
dtnew.Columns.Add(ColumnForSum, GetType(Double))
Dim dtMainTable As DataTable
Dim ComputeColumnSum As Decimal
Try
Dim ExistIdInLocalTable As Integer
Dim foundRow() As DataRow
Dim PIid As Integer
For i As Integer = 0 To dt.Rows.Count - 1
PIid = dt.Rows(i).Item(idColumnName)
foundRow = dtnew.Select("" & idColumnName & "='" & PIid & "'")
ExistIdInLocalTable = foundRow.Count
If foundRow.Count = 0 Then
dtnew.Rows.Add(dt.Rows(i).Item(idColumnName), dt.Rows(i).Item(ColumnForSum))
Else
End If
Next
dtMainTable = dtnew
ComputeColumnSum = dtMainTable.Compute("sum(" & ColumnForSum & ")", "")
Return ComputeColumnSum
Catch ex As Exception
End Try
Return ComputeColumnSum