Сводные таблицы сущностей - агрегация/группировка данных для последующего использования
Добавлено: 13 авг 2021, 17:21
Добрый день!
Нужны консолидированные данные по типу сводных таблиц - т.е. чтобы группировать строки (записывать в одну с суммированием, например) - из нескольких "одноименных" и потом полученные данные использовать далее.
Для чего нужно:
Например, формирование сводной ведомости з/п.
Если есть сущность Виды работ, где собственно имеются отдельные записи за каждый день, там, естественно числовые поля - Суммы.
Есть отдельная сущность Ведомости, где можно создать "собирающую" запись за период и подключить через связанные записи туда записи из Видов работ, которые подходят по периоду (по полю Дата).
НО так подключаются все строки записей. А там (в сущности Виды работ), например, есть поле выпадающий список, который выводит "тип работы" - те. некое постоянное значение из глобального списка.
Обобщенная схема такая:
Ведомость №1 за период 01.08.21 - 07.08.21
- Механообработка от 01.08.21 / 3 ч / 100 руб
- Механообработка от 01.08.21 / 2 ч / 80 руб
- Механообработка от 02.08.21 / 3 ч / 100 руб
- Покраска от 03.08.21 / 4 ч / 200 руб
- Покраска от 04.08.21 / 5 ч / 250 руб
- Покраска от 05.08.21 / 2 ч / 100 руб
Итого по ведомости (100+80+100+200+250+100) / 830 руб.
Т.е. видно, что ведомость собирается из отдельных видов работ, которые повторяются. А хотелось в итоге чтобы было так примерно:
Ведомость №1 за период 01.08.21 - 07.08.21
- Механообработка / 8 ч / 280 руб
- Покраска / 1 ч / 550 руб
Итого по ведомости/ 830 руб.
Т.е. чтобы список отдельных записей "преобразовывался" в некий сводный список записей в специальной "сводной" сущности. А определяющим (группирующим) элементом выступали, например, "опциональные" поля (выпадающие списки, радио, поле Сущность) - т.е. чтобы можно было "объединить" по признаку.
Ну и данная информация, естественно, записывалась в БД, чтобы можно было полученные данные дальше использовать в аналитике. При этом, обновление можно сделать не динамическим, а, например. через автоматизацию (если так будет проще), ну или как выйдет.
Надеюсь, идею донес понятно, думаю, такие сводные сущности модернизируют работу с аналитикой и позволят работать с уже посчитанными "промежуточными" данными, уменьшат объемы выходных данных (записей-то меньше станет). Может даже в какой-то мере заменят стандартные сводные таблицы, с которыми ничего сделать нельзя, кроме использования в отчетах.
Может у кого-то есть идеи по данному предложению? Хотелось бы услышать, а также ответ Сергея по данному функционалу - можно ли в целом такое реализовать? Возможно на модуле Сводные таблицы элементов - доработать его, чтобы сохраняло в БД в виде "динамических" записей для последующего использования.
Нужны консолидированные данные по типу сводных таблиц - т.е. чтобы группировать строки (записывать в одну с суммированием, например) - из нескольких "одноименных" и потом полученные данные использовать далее.
Для чего нужно:
Например, формирование сводной ведомости з/п.
Если есть сущность Виды работ, где собственно имеются отдельные записи за каждый день, там, естественно числовые поля - Суммы.
Есть отдельная сущность Ведомости, где можно создать "собирающую" запись за период и подключить через связанные записи туда записи из Видов работ, которые подходят по периоду (по полю Дата).
НО так подключаются все строки записей. А там (в сущности Виды работ), например, есть поле выпадающий список, который выводит "тип работы" - те. некое постоянное значение из глобального списка.
Обобщенная схема такая:
Ведомость №1 за период 01.08.21 - 07.08.21
- Механообработка от 01.08.21 / 3 ч / 100 руб
- Механообработка от 01.08.21 / 2 ч / 80 руб
- Механообработка от 02.08.21 / 3 ч / 100 руб
- Покраска от 03.08.21 / 4 ч / 200 руб
- Покраска от 04.08.21 / 5 ч / 250 руб
- Покраска от 05.08.21 / 2 ч / 100 руб
Итого по ведомости (100+80+100+200+250+100) / 830 руб.
Т.е. видно, что ведомость собирается из отдельных видов работ, которые повторяются. А хотелось в итоге чтобы было так примерно:
Ведомость №1 за период 01.08.21 - 07.08.21
- Механообработка / 8 ч / 280 руб
- Покраска / 1 ч / 550 руб
Итого по ведомости/ 830 руб.
Т.е. чтобы список отдельных записей "преобразовывался" в некий сводный список записей в специальной "сводной" сущности. А определяющим (группирующим) элементом выступали, например, "опциональные" поля (выпадающие списки, радио, поле Сущность) - т.е. чтобы можно было "объединить" по признаку.
Ну и данная информация, естественно, записывалась в БД, чтобы можно было полученные данные дальше использовать в аналитике. При этом, обновление можно сделать не динамическим, а, например. через автоматизацию (если так будет проще), ну или как выйдет.
Надеюсь, идею донес понятно, думаю, такие сводные сущности модернизируют работу с аналитикой и позволят работать с уже посчитанными "промежуточными" данными, уменьшат объемы выходных данных (записей-то меньше станет). Может даже в какой-то мере заменят стандартные сводные таблицы, с которыми ничего сделать нельзя, кроме использования в отчетах.
Может у кого-то есть идеи по данному предложению? Хотелось бы услышать, а также ответ Сергея по данному функционалу - можно ли в целом такое реализовать? Возможно на модуле Сводные таблицы элементов - доработать его, чтобы сохраняло в БД в виде "динамических" записей для последующего использования.