SSRS 2016 - Как рассчитать процентную разницу между двумя значениями в группе? - PullRequest
0 голосов
/ 02 мая 2019

Я создаю отчет, показывающий продажи товара до диапазона дат и после диапазона дат.

Часть, с которой я столкнулся, представляет собой процентную разницу между общими продажами на дату 1 и дату 2.

Товары могут не иметь продаж в течение определенной недели. Пользователь может выбрать несколько идентификаторов элементов в параметре идентификатора элемента.

Я могу обновить вопрос, чтобы опубликовать свой SQL-запрос, если это необходимо.

Что я пробовал

Поскольку я поместил группу в идентификатор элемента, я думал, что функции First и Last будут работать.

Вот мое выражение в столбце PCT.

=(Last(Fields!total_sales1.Value, "Date1")- First(Fields!total_sales1.Value, "Date1")) / First(Fields!total_sales1.Value, "Date1") * 100

Но когда я запускаю отчет, я получаю следующие результаты.

enter image description here

Мне нужно выражение в столбце PCT, которое даст мне процентную разницу для каждой пары элементов.

1 Ответ

0 голосов
/ 03 мая 2019

Похоже, ваша область неверна. Проверьте, как называется группа строк, где вы группируете по идентификатору элемента (скажем, группа строк называется «yourItemRowGroupName»).

Затем измените выражение, чтобы использовать эту область, а не «Date1».

На самом деле вам может вообще не понадобиться область действия, так как она должна работать в пределах области, в которой находится выражение (в вашем случае, внутри вашей группы ItemID.).

Так что попробуйте

=(Last(Fields!total_sales1.Value)- First(Fields!total_sales1.Value)) / First(Fields!total_sales1.Value) * 100

Или ..

=(Last(Fields!total_sales1.Value, "yourItemRowGroupName")- First(Fields!total_sales1.Value, "yourItemRowGroupName")) / First(Fields!total_sales1.Value, "yourItemRowGroupName") * 100

Возможно, вам придется обработать деление на ноль, но попробуйте начать с этого, прежде чем добавлять какие-либо дополнительные сложности.

...