SSRS 将来自不同范围的总和 Returns 0

SSRS Divide Sums from Different Scopes Returns 0

我有一个分组数据集。从父组向下,组名是: 公司 > 工厂 > 详情。最后,我希望能够获取每个工厂的销售额,并查看其占整个公司销售额的百分比。假设该公司的总销售额为 500 美元,“工厂 A”的销售额为 100 美元,“工厂 B”的销售额为 400 美元。我会想象我需要在 Plant 分组级别的表达式,例如:

=Sum(Sales)/Sum(Sales, "Company")

我会为工厂 A 获得 .2,为工厂 B 获得 .8。但如果我这样做,我会得到 0。我完全不知所措。如有任何帮助,我们将不胜感激。

附加信息:

我的确切设置比我在下面给出的示例稍微复杂一些,但我相信总体思路仍然相同。我共有6组:

圆圈组相当于我例子中的“植物”组。这是我的 Tablix 中 GroupBy 组的行组(箭头指向它的行组)。

上图中圈出的表达式就是要获取我的百分比的表达式(现在实际上只是一个小数,尚未格式化为百分比)。

 =sum(Fields!ActualCurrent.Value)/sum(Fields!ActualCurrent.Value, "Company")
 

Fields!ActualCurrent.Value 相当于我上面示例中的“Sales”。以上表达式 returns 0 为所有组。但是,如果我将其更改为

 =sum(Fields!ActualCurrent.Value)+sum(Fields!ActualCurrent.Value, "Company")

“A 厂”的产量相当于 600 美元,“B 厂”的产量相当于 900 美元。

我似乎无法找到它在将两个总和相加时如何按预期做出反应,但在我将它们相除时产生 0。

查看您在何处使用该表达式来确定此处的错误会很有用,但我认为您可以使用本指南获得所需的结果。

像这样创建一个 tablix:

请注意,我已将 CompanyPlant 字段添加为组。我也删除了细节组。右键单击详细信息和 select Delete group 并设置仅删除组选项。

现在在百分比列中使用以下表达式:

=FORMAT(
SUM(Fields!Sales.Value,"Plant")/SUM(Fields!Sales.Value,"Company")
,"P2"
)

每个计划的总和除以整个公司集团的总和。这不是必需的,但我正在使用 FORMAT 函数将表达式返回的浮点值格式化为使用两位小数的百分比格式。

它应该显示如下内容:

更新: 尝试将总和范围限定到您的特定组:GroupBy

=sum(Fields!ActualCurrent.Value, "GroupBy")/sum(Fields!ActualCurrent.Value, "Company")

更新 2: 格式化单元格以显示小数位。

使用这个表达式:

=FORMAT(
sum(Fields!ActualCurrent.Value, "GroupBy")/sum(Fields!ActualCurrent.Value, "Company"),
"F2"
)

它将表达式返回的值格式化为具有两位小数的浮点数。

如果要以百分比格式显示值,请在 P2 的表达式中替换 F2(具有两位小数的百分比格式。)

如果有帮助请告诉我。