Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SSRS中如何求矩阵中绝对值列的和_Sql Server_Sql Server 2008_Reporting Services_Ssms_Ssms 2014 - Fatal编程技术网

Sql server SSRS中如何求矩阵中绝对值列的和

Sql server SSRS中如何求矩阵中绝对值列的和,sql-server,sql-server-2008,reporting-services,ssms,ssms-2014,Sql Server,Sql Server 2008,Reporting Services,Ssms,Ssms 2014,我是SSRS新手,我正在创建一个报告,其中我需要绝对值为总值的列总和。 我有以下数据库结构: ExpCat long_short Qty USA Long 10 USA Long 30 USA Long -15 USA Short 5 USA Short -1 Japan Long 50 Japan Long 10 Japan Short

我是SSRS新手,我正在创建一个报告,其中我需要绝对值为总值的列总和。 我有以下数据库结构:

ExpCat  long_short  Qty
USA     Long        10
USA     Long        30
USA     Long        -15
USA     Short       5 
USA     Short       -1
Japan   Long        50
Japan   Long        10
Japan   Short       -2
我在行组中使用长\短列,在矩阵中使用ExpCat列作为列组

电流输出:

Entity  Japan   USA
 Long   60      25
 Short  -2      4
 Gross  58      29
期望输出:

Entity  Japan   USA
Long    60      25
Short   -2      4
Gross   62      29
这里的总值是日本和美国的长和短的绝对总和

我尝试使用以下表达式来计算总量:

=IIf(InScope("ExpCat"),Sum(Field!Qty),0)

任何帮助都将不胜感激。
谢谢

I SSRS您应该能够构建一个表达式。表达式应类似于: =绝对值(iff(检查范围(“ExpCat”),总和(字段!数量),0))
这应该会给你你想要的值。

我肯定
=iff(InScope..
'是一个拼写错误,但只是为了确保…你不想要
IIF
?是的,拼写错误,应该是IIF,我在我的SSRS报告中使用了正确的语法表达式在我的情况下不起作用,我使用了它。在我的示例中,日本的Long=60,Short=-2,我需要输出62,但你的表达式将58作为输出。也许可以尝试这样做=IIf(InScope(“ExpCat”)、Sum(abs(Field!Qty))、0)可能有效。只需在abs()中包装任何负值,或者可以使用and IF语句来检查值是否小于0(如果值乘以-1)。