如何从ssrs报告中的2个数据集中的2个字段计算百分比

时间:2019-02-04 18:51:51

标签: reporting-services

我有一个ssrs报告,其中包含来自2个不同数据集的2个字段。在下面的图片中,我从查询总约束策略和另一个查询总误差策略带有过错背书的计数中进行计数,我试图在另一列中计算%值,并且在搜索解决方案后无法找到解决方案使用查找或除法计算。任何帮助/方向将不胜感激。谢谢。

这是我的设计布局:

enter image description here

这是我最后一个出现错误的表达式:

enter image description here

1 个答案:

答案 0 :(得分:1)

如果我正确理解了这个问题,则Total Bound PoliciesTotal Bound Policies With At-Fault Endorsements各自包含一个结果,该结果是每个结果的计数。我可以想到针对该问题的几种解决方案,其中最简单的一种是调整查询以将所有数据带入单个查询中以返回计数和百分比值。尽可能多地使用SQL进行计算几乎总是比较好。

DECLARE @a INT = (SELECT COUNT(*) FROM Table1)
DECLARE @b INT = (SELECT COUNT(*) FROM Table2)

SELECT @a AS Count1, @b AS Count2, CAST(@a AS DECIMAL) / CAST(@b AS DECIMAL) AS aPercent

如您所见,在SQL中,我将每个计数转换为十进制,因为用INT值除法将返回整数,这意味着您将拥有0%或100%。当我运行此查询时,使用数据库中的一些随机表会返回这些结果:

image

如果该解决方案不是一个可行的选择,或者如果我误解了这个问题,那么另一个可以帮助您解决的方法是声明每个字段及其对应的数据集。例如,(Fields!TotalBoundPolicies.Value, "TotalPoliciesBound")将从数据集TotalPoliciesBound中获取字段。