SRSS 复数计算总值
SRSS Complex Calculated Value on a Total
我的 SRSS 报告中有下一个 table:
Month Amount + Tax PY Amount + Tax CY Amount + Tax PY vs CY %
--------------------------------------------------------------------------------------------------
Gennaio 0 124.687 0%
Febbraio 5.817 169.236 2.809%
Marzo 397 158.143 39.720%
Aprile 1.059 202.928 19.067%
Maggio 18.016 240.273 1.234%
Giugno 79.429 315.122 297%
Luglio 144.766 198.513 37%
Agosto 103.777 158.023 52%
Settembre 225.305 457.579 103%
Ottobre 214.439 453.605 112%
--------------------------------------------------------------------------------------------------
Total 793004,97 2478110,02 [Error]
[Amount + Tax PY vs CY %] 列是具有下一个表达式的计算字段:
=IIf(Fields!Amnt_Tax_PY.Value=0,0,(Fields!Amnt_Tax_CY.Value-Fields!Amnt_Tax_PY.Value)/IIf(Fields!Amnt_Tax_PY.Value=0,1,Abs(Fields!Amnt_Tax_PY.Value)))
我想使用下一个表达式 [Amount + Tax PY] 和 [Amount + Tax CY] 列的总和来计算该列的总和:
=IIf(sum(Fields!Amnt_Tax_PY.Value)=0,0,(sum(Fields!Amnt_Tax_CY.Value)-sum(Fields!Amnt_Tax_PY.Value))/IIf(sum(Fields!Amnt_Tax_PY.Value)=0,1,Abs(sum(Fields!Amnt_Tax_PY.Value))))
但是给我一个错误...预期结果应该是:212%
错误是:
aggregate, rownumber, runningvalue, previous and lookup functions cannot be used in calculated field expression
我错过了什么?
您的错误消息告诉您答案:
aggregate ... functions cannot be used in calculated field expression
sum
是聚合函数。
您似乎在尝试将总计作为计算列添加到数据集中,从您收到的错误中可以看出,这是不可能的。
如果你想在table中有Amount + Tax PY vs CY %
列,你可以逐行这样做,而不用表达式中的聚合,然后得到整体数字来显示在报告中,使用带有聚合的表达式。
如果您在数据集中添加了您声明为计算字段的表达式,则将它们从它们中取出并在报告中使用相同的表达式 table,它们将正常工作。
我重新创建了您的数据集,我知道您的数据可能有更多行,但这不会有问题。
然后我创建了一个简单的 table .
在最后一栏中我使用了你所说的表达方式
最终输出如下所示..
您可能需要将第 2 列和第 3 列中的表达式更改为 SUM,但除此之外应该没问题。
如果这没有帮助,post您报告设计。
我的 SRSS 报告中有下一个 table:
Month Amount + Tax PY Amount + Tax CY Amount + Tax PY vs CY %
--------------------------------------------------------------------------------------------------
Gennaio 0 124.687 0%
Febbraio 5.817 169.236 2.809%
Marzo 397 158.143 39.720%
Aprile 1.059 202.928 19.067%
Maggio 18.016 240.273 1.234%
Giugno 79.429 315.122 297%
Luglio 144.766 198.513 37%
Agosto 103.777 158.023 52%
Settembre 225.305 457.579 103%
Ottobre 214.439 453.605 112%
--------------------------------------------------------------------------------------------------
Total 793004,97 2478110,02 [Error]
[Amount + Tax PY vs CY %] 列是具有下一个表达式的计算字段:
=IIf(Fields!Amnt_Tax_PY.Value=0,0,(Fields!Amnt_Tax_CY.Value-Fields!Amnt_Tax_PY.Value)/IIf(Fields!Amnt_Tax_PY.Value=0,1,Abs(Fields!Amnt_Tax_PY.Value)))
我想使用下一个表达式 [Amount + Tax PY] 和 [Amount + Tax CY] 列的总和来计算该列的总和:
=IIf(sum(Fields!Amnt_Tax_PY.Value)=0,0,(sum(Fields!Amnt_Tax_CY.Value)-sum(Fields!Amnt_Tax_PY.Value))/IIf(sum(Fields!Amnt_Tax_PY.Value)=0,1,Abs(sum(Fields!Amnt_Tax_PY.Value))))
但是给我一个错误...预期结果应该是:212%
错误是:
aggregate, rownumber, runningvalue, previous and lookup functions cannot be used in calculated field expression
我错过了什么?
您的错误消息告诉您答案:
aggregate ... functions cannot be used in calculated field expression
sum
是聚合函数。
您似乎在尝试将总计作为计算列添加到数据集中,从您收到的错误中可以看出,这是不可能的。
如果你想在table中有Amount + Tax PY vs CY %
列,你可以逐行这样做,而不用表达式中的聚合,然后得到整体数字来显示在报告中,使用带有聚合的表达式。
如果您在数据集中添加了您声明为计算字段的表达式,则将它们从它们中取出并在报告中使用相同的表达式 table,它们将正常工作。
我重新创建了您的数据集,我知道您的数据可能有更多行,但这不会有问题。
然后我创建了一个简单的 table .
在最后一栏中我使用了你所说的表达方式
最终输出如下所示..
您可能需要将第 2 列和第 3 列中的表达式更改为 SUM,但除此之外应该没问题。
如果这没有帮助,post您报告设计。