Расчет промежуточных "итогов" в СКД

1. login1020 134 20.11.19 14:57 Сейчас в теме
Добрый день.
Есть данные по количеству за каждый день,

Данные:
07.11 - 100
08.11 - 200

11.11 - 100
12.11 - 150
13.11 - 100
14.11 - 0
15.11 - 100

можно ли построить средствами СКД таблицу вида (указанного ниже) без промежуточных подготовительных таблиц.

ИтогЗаНеделю рассчитывается как среднее за неделю, кроме дней, у которых количество 0, с 11.11 по 15.11 будем делить не на 5, а на 4.
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
17. dhurricane 20.11.19 16:30 Сейчас в теме
(16) Пожалуйста.
Прикрепленные файлы:
ВнешнийОтчет1.erf
user1481387; login1020; +2 Ответить
18. dhurricane 21.11.19 16:14 Сейчас в теме
(16) С расчетом итогов:

Для группировки "ПериодДень" выражение ресурса будет простым:
Сумма(Сумма)

Для остальных группировок посложнее:
Сумма(ВычислитьВыражениеСГруппировкойМассив("Среднее(Выбор Когда ЗначениеЗаполнено(Сумма) Тогда Сумма Конец)", "ПериодНеделя,Товар"))
Прикрепленные файлы:
ВнешнийОтчет1.erf
user1481387; login1020; +2 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
5. dhurricane 20.11.19 15:24 Сейчас в теме
(1) Если проблема исключительно в отсекании дней с нулевым количеством, то можно изменить выражение вычисления ресурса для нужных группировок примерно следующим образом:
Среднее(ВЫБОР
		КОГДА ЗначениеЗаполнено(Количество)
		ТОГДА Количество
	КОНЕЦ)
При таком подходе в детальных записях нулевые значения Количества будут равны NULL, и агрегатная функция расчета среднего проигнорирует эти значения.
7. login1020 134 20.11.19 15:27 Сейчас в теме
(5) Это будет кросс таблица, строки не указал,
Объект у которого считаем количество - и пошло количество по дням и среднее по неделям.
8. dhurricane 20.11.19 15:29 Сейчас в теме
(7) Извините, я не понял Ваш комментарий. По каким именно причинам Вы не можете воспользоваться моим советом?
9. login1020 134 20.11.19 15:33 Сейчас в теме
(8) посчитать отдельно среднее по неделям не сложно, потом это среднее объединением добавить к начальной таблице с количеством по дням и получим общую картину, проблема как потом выводить их в строгом порядке по датам, как показано на скрине.
10. dhurricane 20.11.19 15:35 Сейчас в теме
(9) Нет, Вы неправильно поняли мой совет. Я предложил решение, при котором не предполагается изменение исходных набор данных (запрос), а вместо этого несколько раз определяется выражение ресурса для поля "Количество".
11. login1020 134 20.11.19 15:41 Сейчас в теме
(10) про ресурс я понял, а как в этом случаем выводить это среднее в разрезе нужных недель,
12. dhurricane 20.11.19 15:45 Сейчас в теме
(11) А какие недели являются "нужными"?
13. login1020 134 20.11.19 15:55 Сейчас в теме
(12) Все, что попали в период.
Ну смотрите, я для пример взял 2 недели,
нужны вывести кол-во за каждый день недели, потом среднее количество за эту неделю, потом кол-во за каждый день следующей недели и потом среднее уже по это неделе и т.д.
И все это в виде кросс таблицы, где н а пересечении дня и объекта у нас количество, в том числе и среднее.
14. dhurricane 20.11.19 16:03 Сейчас в теме
(13) Например:

1. Дважды добавляете поле "Количество" в ресурсы. Для первого выражение "Сумма(Количество)", рассчитывать по "ПериодДень". Для второго выражение как я указал выше, рассчитывать по "ПериодНеделя".

2. Добавляете новое вычисляемое поле "СреднееКоличество" с выражением, указанным выше (без агрегатной суммы). Включаете его в ресурсы "Среднее(СреднееКоличество)", а в настройках для группировки по дням выбираете "Количество", для группировки по неделям "СреднееКоличество".

Ну и нужно определиться, как должно рассчитываться количество в общих итогах.
16. login1020 134 20.11.19 16:17 Сейчас в теме
(14) Можете показать на пример любого документа пусть ПКО

организация строка, дата (столбец) Среднее за неделю(столбец) и СуммаДокумента на пересечении, как это у вас выглядит.
17. dhurricane 20.11.19 16:30 Сейчас в теме
(16) Пожалуйста.
Прикрепленные файлы:
ВнешнийОтчет1.erf
user1481387; login1020; +2 Ответить
18. dhurricane 21.11.19 16:14 Сейчас в теме
(16) С расчетом итогов:

Для группировки "ПериодДень" выражение ресурса будет простым:
Сумма(Сумма)

Для остальных группировок посложнее:
Сумма(ВычислитьВыражениеСГруппировкойМассив("Среднее(Выбор Когда ЗначениеЗаполнено(Сумма) Тогда Сумма Конец)", "ПериодНеделя,Товар"))
Прикрепленные файлы:
ВнешнийОтчет1.erf
user1481387; login1020; +2 Ответить
15. VmvLer 20.11.19 16:06 Сейчас в теме
(13) В запрос набора данных добавьте поле идентифицирующее сущность "нужная неделя"
это может быть сквозной номер недели.
т.е. если у вас выборка за два года, то недель там будет около 112, по вашему примеру

Данные:
День - Колво - Неделя
07.11 - 100 - 45
08.11 - 200 - 45

11.11 - 100 - 46
12.11 - 150 - 46
13.11 - 100 - 46
14.11 - 0 - 46
15.11 - 100 - 46

В таких задачах лучше сразу создать в наборе базисное поле от которого будут "плясать"
группировки и ресурсы, а не полагаться на дополнение дат и функции СКД.
Тем более когда понятие "нужная неделя" условно.
2. Lenten 25 20.11.19 15:08 Сейчас в теме
без промежуточной таблицы не получится сделать отбор где количество = 0.

а так
1) делаем отбор, где количество = 0
2) добавляем колонку с номером недели
3) считаем количество дней в неделе с заполненными данными и на это число делим.

Вот сделать таблицу вашего вида скорее всего проще будет через макет
3. VmvLer 20.11.19 15:08 Сейчас в теме
Среднее(КолвоДней)

если свое средне, то

Выбор Когда Между(15.11, 11.11) Тогда
Тогда Сумма(КолвоДней)/5
Иначе
Сумма(КолвоДней)/4
Конец

как-то так костылить
4. VmvLer 20.11.19 15:12 Сейчас в теме
в задаче в вычисляемом поле определяем Делитель
в ресурсе вычисляем
Сумма()/Делитель

Делитель вычислять как счетчик где колво > 0 чрез выбор когда или еще как
6. login1020 134 20.11.19 15:25 Сейчас в теме
(4) Допустим, понятно что привязываться надо к неделе и собирать по ней сумму, потом проблема возникает в выводе итогов, вывод же будет осуществляться по дням недели, это надо будет итог привязать к мнимой дате (например к воскресенью) т.к. выводить буду данные с понедельника по пятницу
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот