gpt4 book ai didi

reporting-services - 在Microsoft Reporting Services中创建计算的行总和

转载 作者:行者123 更新时间:2023-12-01 07:16:53 24 4
gpt4 key购买 nike

这似乎应该很简单,但我还找不到任何东西。在 Reporting Services 中,我有一个最多包含 6 行的表,所有行都具有计算值和动态可见性。我想总结这些行。基本上我有一些发票项目,想要合计。我无法在 DB 端更改任何内容,因为我的存储过程在系统中的其他地方使用。每行也从不同的数据集中提取数据,因此我无法对数据集进行求和。我可以用表格页脚对所有行求和吗?类似于在 Excel 中总计行数?将每行的可见性表达式放入页脚行以计算总和似乎非常多余。

最佳答案

您可以通过以下几种方式实现这一目标:

1. 在 SQL 中进行计算并对字段求和,如下所示:

SELECT Quantity, Amount, Quantity * Amount As TotalAmount FROM MyTable

然后只需在您的 Detail 行中使用 TotalAmount 字段并将其在页脚中求和。

2. 创建第二个数据集,为您计算总数并在页脚中使用它而不是总和:
=Sum(Fields!TotalAmount.Value, "MyTotalingDataset")

3. 使用自定义代码执行此操作。右键单击布局空间,选择属性,然后单击代码选项卡。放入以下代码:
Public Dim TotalAmount As Double = 0

Public Function CalculateRowTotal(ThisValue As Double, ThatValue As Double) As Double
TotalAmount = TotalAmount + (ThisValue * ThatValue)
Return ThisValue * ThatValue
End Function

在详细信息带上,使字段求和的列具有以下表达式:
=Code.CalculateRowTotal(Fields!Quantity.Value, Fields!Amount.Value)

这将执行上面的代码并进行计算并计算过程中的总和。

页脚带显示总和,因此该列具有表达式:
=Code.TotalAmount

你已经完成了。请注意,因为您不能保证代码的执行顺序,并且对于某些报告,它将首先执行页脚(例如,如果您使用 Detail 带中的行的总和),这将使总数为零因为细节带计算还没有发生,但对于一般情况,这应该有效。

关于reporting-services - 在Microsoft Reporting Services中创建计算的行总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/636573/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com