Я борюсь с этой проблемой и не могу понять, как ее решить.
Это подробные данные моего набора данных:
Order Item StartDay EndDay EndYear StartEndDiff
1 1 01.01.2018 02.01.2018 2018 1
1 2 03.01.2018 05.01.2018 2018 2
2 1 05.01.2019 06.01.2019 2019 1
2 2 06.01.2019 06.01.2019 2019 0
2 3 08.01.2019 10.01.2019 2019 1
3 1 07.01.2019 08.01.2019 2019 1
Теперь я сгруппировал их по Order
(это прекрасно работает в таблице).Имя группы: OrderGroup
:
Order MinStartDay MaxEndDay EndYear MinStartMaxEndDiff
1 01.01.2018 05.01.2018 2018 4
2 05.01.2019 10.01.2019 2019 5
3 07.01.2019 08.01.2019 2019 1
Для MinStartMaxEndDiff
Я получил следующее выражение:
=DateDiff("d", Min(Fields!StartDay.Value, "OrderGroup"), Max(Fields!EndDay.Value, "OrderGroup"))
Теперь я добавил еще одну группу в таблицу и вывел Avg(MinStartMaxEndDiff)
вEndYear
.Это все еще хорошо работает в tablix со всеми группировками.Результат:
Avg(MinStartMaxEnd) Year
4 2018
3 2019
Но я не могу понять, как отобразить на графике только данные из результата, основанного на вычислениях.Я обычно делаю эти вычисления на стороне SQL, но на этот раз я не могу сделать их на стороне SQL.
Проблема в том, что когда я пытаюсь добавить OrderGroup
в диаграмму, она всегда показывает мне детали.Но мне нужна эта группа, чтобы получить правильные значения.Скрыть или установить метку категории на Nothing
не сработало.Также установка DataElementOutput
на NoOutput
не помогла (реальный вид):
Мне просто нужно на оси XYears
и в качестве значений Avg(MinStartMaxEnd)
.Это был бы мой желаемый результат, основанный на данных примера выше:
РЕДАКТИРОВАТЬ ПОСЛЕ РЕШЕНИЯ, КОТОРОЕ НАЙДЕНО:
Что я могу сделать, если данные строки выглядят так:
Order Item StartDay EndDay EndYear StartEndDiff
1 1 29.12.2018 02.01.2019 2019 4
1 2 28.12.2018 30.12.2018 2018 2
Эта таблица будет разделена на два отдельных datarow в таблице вместе из-за группировки EndYear
.Ожидаемый результат должен выглядеть следующим образом:
Order MinStartDay MaxEndDay EndYear MinStartMaxEndDiff
1 28.12.2018 02.01.2019 2019 5
Но группировка года с выражением
=Max(CDate(Fields!EndYear.Value), "OrderGroup")
невозможна.