![](/img/trans.png)
[英]Get Sum of Data from Second Dataset in the Second Tablix of SSRS report with Report Builder
[英]SQL Report Builder: get value from group within tablix
请原谅这个问题的模糊标题。 也许下面会更好地提出我的问题。
请考虑以下聚合表:
Fruit Units FruitSales%
----- ----- -----------
Apples 10 ?
Oranges 20 ?
Bananas 10 ?
NonFruit 10 ?
TOTAL 50 ?
我需要FruitSales%
列: Fruit / (Total - NonFruit)
如果NonFruit是其自己的产品名称,如何在Tablix中将其值用于其他计算?
我想我的FruitSales%的公式是这样的:
Sum(Fields!Units.Value) / (ReportItems!txtTotalUnits.Value - SumIf(Fields!Fruit = "NonFruit", Fields!Units.Value)
但是,SumIf不存在,即使它确实存在,它也将特定于当前行。
虽然我在这里, ReportItems!txtTotalUnits.Value
,我显然已经命名了那个文本框,但有没有更清晰的方法来引用它?
假设底层DataSet(我称之为FruitDataSet )如下所示:
我基于这些数据创建了一个简单的报告:
Fruit Sales%表达式为:
=Sum(IIf(Fields!fruit.Value <> "NonFruit", Fields!units.Value, 0))
/ Sum(IIf(Fields!fruit.Value <> "NonFruit", Fields!units.Value, 0), "FruitDataSet")
这给出了我认为正确的结果:
关于表达式有两点需要注意:
通过对IIf
表达式运行Sum
,您可以控制总计中包含的内容 - 这里我将NonFruit显式设置为0 。
通过设置聚合表达式的范围 ,您可以获得用于计算总百分比的总计 - 在报告中我使用FruitDataSet获得总计并将其与组级总计进行比较以获得%值。
你引用文本框总的方式很好; 唯一的另一种选择是每次你想要总数时使用一个表达式 - 如果这是在Tablix之外你需要显式设置Scope,例如DataSet。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.