Добрый день.
Есть данные по количеству за каждый день,
Данные:
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.
Есть данные по количеству за каждый день,
Данные:
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.
Прикрепленные файлы:
По теме из базы знаний
- 50+ советов для успешной сдачи 1С: Специалист по платформе
- Приемы работы с СКД: делаем за 5 минут то, на что у других уйдет час
- Три способа создания одного отчета на СКД
- СКД: 5 советов, как сделать лучше
- Практическое применение менеджера расчета для расчета зарплаты "на лету" через отчет за произвольное количество месяцев в конфигурации ЗУП 3.1 и ERP
Найденные решения
(16) С расчетом итогов:
Для группировки "ПериодДень" выражение ресурса будет простым:
Сумма(Сумма)
Для остальных группировок посложнее:
Сумма(ВычислитьВыражениеСГруппировкойМассив("Среднее(Выбор Когда ЗначениеЗаполнено(Сумма) Тогда Сумма Конец)", "ПериодНеделя,Товар"))
Для группировки "ПериодДень" выражение ресурса будет простым:
Сумма(Сумма)
Для остальных группировок посложнее:
Сумма(ВычислитьВыражениеСГруппировкойМассив("Среднее(Выбор Когда ЗначениеЗаполнено(Сумма) Тогда Сумма Конец)", "ПериодНеделя,Товар"))
Прикрепленные файлы:
ВнешнийОтчет1.erf
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Если проблема исключительно в отсекании дней с нулевым количеством, то можно изменить выражение вычисления ресурса для нужных группировок примерно следующим образом:
При таком подходе в детальных записях нулевые значения Количества будут равны NULL, и агрегатная функция расчета среднего проигнорирует эти значения.
Среднее(ВЫБОР
КОГДА ЗначениеЗаполнено(Количество)
ТОГДА Количество
КОНЕЦ)
(12) Все, что попали в период.
Ну смотрите, я для пример взял 2 недели,
нужны вывести кол-во за каждый день недели, потом среднее количество за эту неделю, потом кол-во за каждый день следующей недели и потом среднее уже по это неделе и т.д.
И все это в виде кросс таблицы, где н а пересечении дня и объекта у нас количество, в том числе и среднее.
Ну смотрите, я для пример взял 2 недели,
нужны вывести кол-во за каждый день недели, потом среднее количество за эту неделю, потом кол-во за каждый день следующей недели и потом среднее уже по это неделе и т.д.
И все это в виде кросс таблицы, где н а пересечении дня и объекта у нас количество, в том числе и среднее.
(13) Например:
1. Дважды добавляете поле "Количество" в ресурсы. Для первого выражение "Сумма(Количество)", рассчитывать по "ПериодДень". Для второго выражение как я указал выше, рассчитывать по "ПериодНеделя".
2. Добавляете новое вычисляемое поле "СреднееКоличество" с выражением, указанным выше (без агрегатной суммы). Включаете его в ресурсы "Среднее(СреднееКоличество)", а в настройках для группировки по дням выбираете "Количество", для группировки по неделям "СреднееКоличество".
Ну и нужно определиться, как должно рассчитываться количество в общих итогах.
1. Дважды добавляете поле "Количество" в ресурсы. Для первого выражение "Сумма(Количество)", рассчитывать по "ПериодДень". Для второго выражение как я указал выше, рассчитывать по "ПериодНеделя".
2. Добавляете новое вычисляемое поле "СреднееКоличество" с выражением, указанным выше (без агрегатной суммы). Включаете его в ресурсы "Среднее(СреднееКоличество)", а в настройках для группировки по дням выбираете "Количество", для группировки по неделям "СреднееКоличество".
Ну и нужно определиться, как должно рассчитываться количество в общих итогах.
(16) С расчетом итогов:
Для группировки "ПериодДень" выражение ресурса будет простым:
Сумма(Сумма)
Для остальных группировок посложнее:
Сумма(ВычислитьВыражениеСГруппировкойМассив("Среднее(Выбор Когда ЗначениеЗаполнено(Сумма) Тогда Сумма Конец)", "ПериодНеделя,Товар"))
Для группировки "ПериодДень" выражение ресурса будет простым:
Сумма(Сумма)
Для остальных группировок посложнее:
Сумма(ВычислитьВыражениеСГруппировкойМассив("Среднее(Выбор Когда ЗначениеЗаполнено(Сумма) Тогда Сумма Конец)", "ПериодНеделя,Товар"))
Прикрепленные файлы:
ВнешнийОтчет1.erf
(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
В таких задачах лучше сразу создать в наборе базисное поле от которого будут "плясать"
группировки и ресурсы, а не полагаться на дополнение дат и функции СКД.
Тем более когда понятие "нужная неделя" условно.
это может быть сквозной номер недели.
т.е. если у вас выборка за два года, то недель там будет около 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
В таких задачах лучше сразу создать в наборе базисное поле от которого будут "плясать"
группировки и ресурсы, а не полагаться на дополнение дат и функции СКД.
Тем более когда понятие "нужная неделя" условно.
без промежуточной таблицы не получится сделать отбор где количество = 0.
а так
1) делаем отбор, где количество = 0
2) добавляем колонку с номером недели
3) считаем количество дней в неделе с заполненными данными и на это число делим.
Вот сделать таблицу вашего вида скорее всего проще будет через макет
а так
1) делаем отбор, где количество = 0
2) добавляем колонку с номером недели
3) считаем количество дней в неделе с заполненными данными и на это число делим.
Вот сделать таблицу вашего вида скорее всего проще будет через макет
(4) Допустим, понятно что привязываться надо к неделе и собирать по ней сумму, потом проблема возникает в выводе итогов, вывод же будет осуществляться по дням недели, это надо будет итог привязать к мнимой дате (например к воскресенью) т.к. выводить буду данные с понедельника по пятницу
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот