我如何总结 rdlc 报告中每组列的最后一行值?
How can i sum up the last row value of a column in each group in a rdlc report?
我只想在 rdlc 报告中添加每组任意列的最后一行值,因此,
我有一个 rdlc 组报告,其中有一个余额列,所以我想要在报告中添加每个组的最后余额值,这是我的 table 看起来像 '
Customer Balance
Mark 1500
Mark 2500
-----------------------
Steve 4500
Steve 5600
-----------------------
Alex 10000
Alex 24000
'。我想添加每个客户的最后余额值,即 2500+5600+24000,这是我之前尝试过但没有用的 rdlc 表达式:
'=SUM(LAST(fields!balance.value),"mygroup")'
如果有人为我提供解决此问题的解决方案,我会很高兴。
您可能已经意识到,您不能在外部聚合中使用 FIRST、LAST 等,但有办法绕过它。
首先我复制了你的数据,但我也添加了一个排序列。我假设您已经有一列可以排序(发票编号日期等)。
诀窍是仅当排序值与组的最大排序值相同时才求和,通过示例会更清楚。
这是我生成的示例数据。
DECLARE @t TABLE (Customer varchar(50), sort int, Amount int)
INSERT INTO @t VALUES
('Mark', 1, 1500),
('Mark', 2, 2500),
('Steve', 1, 4500),
('Steve', 2, 5600),
('Alex', 1, 10000),
('Alex', 2, 24000)
SELECT * FROM @t
接下来我创建了一个新报表,将上述查询添加为数据集查询并向报表添加了简单的 table。
我添加了一个行组以按 Customer
进行分组并按 sort
对该组进行排序。
然后我在组外添加了最后一行并设置表达式以给出您需要的结果。
这是简单的报表布局。
这是我使用的表达方式。
=Sum(
IIF(
Fields!sort.Value = MAX(Fields!sort.Value, "Customer"),
Fields!Amount.Value,
0
)
)
注意: "Customer"
字符串指的是行组名称(在图像中突出显示),而不是数据集列。
这是最终输出
我只想在 rdlc 报告中添加每组任意列的最后一行值,因此, 我有一个 rdlc 组报告,其中有一个余额列,所以我想要在报告中添加每个组的最后余额值,这是我的 table 看起来像 '
Customer Balance
Mark 1500
Mark 2500
-----------------------
Steve 4500
Steve 5600
-----------------------
Alex 10000
Alex 24000
'。我想添加每个客户的最后余额值,即 2500+5600+24000,这是我之前尝试过但没有用的 rdlc 表达式:
'=SUM(LAST(fields!balance.value),"mygroup")'
如果有人为我提供解决此问题的解决方案,我会很高兴。
您可能已经意识到,您不能在外部聚合中使用 FIRST、LAST 等,但有办法绕过它。
首先我复制了你的数据,但我也添加了一个排序列。我假设您已经有一列可以排序(发票编号日期等)。
诀窍是仅当排序值与组的最大排序值相同时才求和,通过示例会更清楚。
这是我生成的示例数据。
DECLARE @t TABLE (Customer varchar(50), sort int, Amount int)
INSERT INTO @t VALUES
('Mark', 1, 1500),
('Mark', 2, 2500),
('Steve', 1, 4500),
('Steve', 2, 5600),
('Alex', 1, 10000),
('Alex', 2, 24000)
SELECT * FROM @t
接下来我创建了一个新报表,将上述查询添加为数据集查询并向报表添加了简单的 table。
我添加了一个行组以按 Customer
进行分组并按 sort
对该组进行排序。
然后我在组外添加了最后一行并设置表达式以给出您需要的结果。
这是简单的报表布局。
这是我使用的表达方式。
=Sum(
IIF(
Fields!sort.Value = MAX(Fields!sort.Value, "Customer"),
Fields!Amount.Value,
0
)
)
注意: "Customer"
字符串指的是行组名称(在图像中突出显示),而不是数据集列。
这是最终输出