Как получить сумму столбца с абсолютным значением в матрице в SSRS

Я новичок в SSRS, и я создаю отчет, в котором мне нужна сумма столбца с абсолютным значением как Gross. У меня следующая структура базы данных:

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

Я использовал столбец long_short в группе строк и столбец 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

Здесь Gross - это абсолютная сумма длинных и коротких позиций по Японии и США.

Я пробую следующее выражение для расчета брутто:

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

введите описание изображения здесь

Любая помощь будет оценена по достоинству. Спасибо.


person Saurabh Saxena    schedule 06.04.2016    source источник
comment
Я уверен, =iff(InScope.. 'опечатка, но на всякий случай ... Разве ты не хочешь IIF?   -  person BJones    schedule 06.04.2016
comment
Да, это опечатка, это должен быть IIF, я использовал правильный синтаксис в своем отчете SSRS   -  person Saurabh Saxena    schedule 07.04.2016


Ответы (1)


В SSRS вы должны уметь построить выражение. Выражение должно быть примерно таким: = Abs (iff (InScope ("ExpCat"), Sum (Field! Qty), 0)), которое должно дать вам искомое значение.

person Wes Palmer    schedule 06.04.2016
comment
В моем случае Expression не сработал, я его использовал. В моем примере Япония имеет Long = 60 и Short = -2, мне нужен результат 62 для Японии, но ваше выражение дает 58 в качестве результата. - person Saurabh Saxena; 07.04.2016
comment
Возможно, попробуйте сделать = IIf (InScope (ExpCat)), Sum (abs (Field! Qty)), 0), что может сработать. Просто оберните любое отрицательное значение в abs () или вы можете использовать оператор и IF, чтобы проверить, равно ли значение ‹0, если оно умножается на -1. - person Wes Palmer; 07.04.2016