|
Суммирование в запросе по различным строкам | ☑ | ||
---|---|---|---|---|
0
Kaperang
27.08.12
✎
11:56
|
Имеется результат запроса типа
Сотрудник ПродолжительностьСмены --------------------------------- Иванов 9 Петров 8 Сидоров 12 Мне нужно получить на выходе дерево значений, где в корневой ветке будет посчитано общее количество часов бригады, а в подчиненных строках - детализация. В данном случае общее количество часов бригады рассчитать в запросе просто: "ИТОГИ Сумма(ПродолжительностьСмены) ПО Сотрудник" дает правильный результат -29 Далее, имеем результат запроса типа: Сотрудник Работа Загрузка ПродолжительностьСмены --------------------------------------------------------- Иванов Работа1 3 9 Петров Работа2 4 8 Петров Работа3 2 8 Сидоров Работа4 5 12 Мне точно также необходимо получить дерево запросов с общим количеством часов бригады в корневой ветке. Конструкция "ИТОГИ Сумма(ПродолжительностьСмены) ПО Сотрудник" дает 37. Правильное количество - 29 Чего то никак не соображу, как получить правильное количество часов :( |
|||
1
Kaperang
27.08.12
✎
12:09
|
Вроде с виду задачка-то простенькая, а чего-то никак не вкурю, с какого края за нее взяться
|
|||
2
Ненавижу 1С
гуру
27.08.12
✎
12:11
|
37 вроде как, если сложить
|
|||
3
Kaperang
27.08.12
✎
12:15
|
Мне необходимо получить сумму часов по различным строкам. Т.е. чтобы часы по Петрову считались 1 раз, а не 2.
|
|||
4
rutony
27.08.12
✎
12:18
|
Ну так сделай выборку различных по сотруднику: ВЫБРАТЬ РАЗЛИЧНЫЕ, а потом левым соединением прицепи ПродолжительностьСмены и возьми итоги суммы по сотруднику
|
|||
5
Zmich
27.08.12
✎
12:20
|
А так не сработает?
ИТОГИ МИНИМУМ(ПродолжительностьСмены) ПО Сотрудник |
|||
6
acsent
27.08.12
✎
12:23
|
на скд можно сделать
|
|||
7
Kaperang
27.08.12
✎
12:23
|
(5) Да на уровне детализации по сотрудникам отработает. А вот общие итоги....
"ИТОГИ МИНИМУМ(ПродолжительностьСмены) ПО Общие, Сотрудник" выдаст заведомо не тот результат. |
|||
8
Kaperang
27.08.12
✎
12:24
|
(6) А поподробнее можно?
|
|||
9
Kaperang
27.08.12
✎
12:25
|
(6) Пробовал с исползованием СКД:
"ПродолжительностьСмены" добавлял в ресурсы. В результате - те же яйца, только сбоку |
|||
10
Kaperang
27.08.12
✎
12:29
|
(6)
Вот тестовый запрос, выдающий наш пример: "ВЫБРАТЬ "Иванов" КАК Сотрудник, "Работа1" КАК Работа, 2 КАК Загрузка, 9 КАК ПродолжительностьСмены ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "Петров" КАК Сотрудник, "Работа2" КАК Работа, 4 КАК Загрузка, 8 КАК ПродолжительностьСмены ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "Петров" КАК Сотрудник, "Работа3" КАК Работа, 2 КАК Загрузка, 8 КАК ПродолжительностьСмены ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "Сидоров" КАК Сотрудник, "Работа3" КАК Работа, 5 КАК Загрузка, 12 КАК ПродолжительностьСмены" Какие настройки мне выставить в СКД, чтобы получить в общем итоге правильную цифру? |
|||
11
Kaperang
27.08.12
✎
12:37
|
(6) Итого, судя по всему, СКД здесь тоже бессилен (((
|
|||
12
mistеr
27.08.12
✎
12:38
|
(8) Строки размножаются после соединения с другой таблицей, верно? Если соединять не в запросе, а в СКД (связи наборов данных), каждая строка будет учтена в итогах один раз.
|
|||
13
acsent
27.08.12
✎
12:38
|
(7) нужно делать через объединение:
1 запрос детальные данные, 2 запрос - данные по сотруднику обобщенно |
|||
14
Kaperang
27.08.12
✎
12:39
|
(12) Вот, вот примерно это мне и нужно. Буду пробовать
|
|||
15
nicxxx
27.08.12
✎
12:55
|
||||
16
Kaperang
27.08.12
✎
21:51
|
(15) Коллега, спасибо!
Оказывается, объединение наборов данных в СКД не такая сложная штука. Очень похоже на объединение данных в запросе, в чем то даже проще. На тестовом примере алгоритм отладил, счас буду делать реальный отчет. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |