Имя: Пароль:
1C
1С v8
Как создать кросс-таблицу в запросе?
,
0 ChAlex
 
12.07.12
10:53
Можно ли в запросе получить кросс-таблицу (ну или транспонировать таблицу). Кажется где-то в виде-курсе как-то попадалось на глаза элегантное решение создания кросс-таблицы путем соединения но вот никак не найду (когда не надо всегда под руками, а как понадобится - и где тот ящик..... :) .
1 Defender aka LINN
 
12.07.12
10:56
Нафига?
2 shuhard
 
12.07.12
10:57
(0) если число колонок фиксированное, то N левых соединения с подзапросами
3 andrewks
 
12.07.12
11:02
(0) а что ты понимаешь под кросс-таблицей?
4 МихаилМ
 
12.07.12
11:07
бесовщина
если матрица неразряжена то можно расценить эту операцию как упаковку.операцию отимизации трафика.

но как правило следствие непонимания использования СУБД. те путают получение и представление данных.
5 ChAlex
 
12.07.12
12:38
Мне нужно определить количество различных наборов параметров для некоторых объектов. Значения параметров хранятся в виде линейного списка: объект, параметр, значение. Соответственно мне нужно получить кросс-таблицу в строках которой объект, а в колонках значения параметров. Да сее можно получить обходом выборки, таблицей значений,ее сверткой и прочее. Но был какой-то хитрый финт в запросе, когда получалась крос-таблица . Возможно в видео и был вариант (2), но мне что-то кажется там использовалась агрегатная функция для получения эффекта (но могу ошибаться)
6 ChAlex
 
12.07.12
12:41
(4) - перевести на русский было бы не плохо, особенно "если матрица неразряжена то можно расценить эту операцию как упаковку.операцию отимизации трафика." Вот при чем здесь упаковка и кросс-таблица? ...
7 ChAlex
 
12.07.12
12:43
+(6) - про трафик вообще - каким боком он соотносится с кросс-таблицей... ну потому что он красный?
8 YF
 
12.07.12
12:43
Можно выбором типа
Выбор Когда параметр = 1 Тогда
значение
Иначе
Null
Конец КАК ПолеЗапроса1
9 YF
 
12.07.12
12:43
Естественно с группировкой по объекту
10 ChAlex
 
12.07.12
13:01
(8) - Как сформировать в несколько этапов - не вопрос, меня терзает тот момент - что вроде был интересный способ транспонировать, который демонстрировал Гилев, вот только не могу найти где это было и точно как (типа МАКСИМУМ(ССЫЛКА) - и получался результат, что-то аналогичное типа поучения нумерации строк таблицы запроса). Хотя может Дежавю  и не было такого :)
11 МихаилМ
 
12.07.12
13:17
используйте скд.
специально для таких случаем придуман механизм.
12 ChAlex
 
12.07.12
13:25
(11) - СКД - не пойдет, ибо нужна потом обработка, а сформировать в таблицу значений или дерево - не получится, поскольку отчет придется тогда делать как таблица, а в этом случае ограничение на использование
13 МихаилМ
 
12.07.12
13:29
(12)
используйте скд как механизм создания кросс-таблицы

если нужна пост обработка подсуте ее на вход опять же скд.

очень удобный механизм.
14 YF
 
12.07.12
14:27
(10) какие насколько этапов? запрос сразу нужную таблицу выдаст
15 ChAlex
 
12.07.12
14:33
(13) - а вот это как подсунуть на вход, что бы получить постобработку? В результате мне нужно получить ну скажем просто количество РАЗЛИЧНЫХ комплектов или сами наборы РАЗЛИЧНЫХ комплектов параметров (для разных объектов комплекты могут повторяться). Нужна в итоге таблица. Что бы я не делал в СКД - если результат выгружается в таблицу - я не могу использовать механизм СКД, а результирующая таблица получается из отчета вида "Таблица" СКД. И как отсюда вывернуться?

(14) Изначально неизвестно количество колонок, поэтому неизвестно сколько их создавать. Поэтому сначала нужно получить количество колнок, а потом рисовать программно текст запроса, чтобы получить все значения. Разве не так?
16 МихаилМ
 
12.07.12
14:34
(14)
запрос выдает выборку, а не таблицу.
17 mishgan75
 
12.07.12
14:45
Если нужен только в виде отчета то в построителе задаешь ИзмерениеСтроки=Объект, ИзмерениеКолонки=Параметр
18 ChAlex
 
12.07.12
14:57
(16) Ну если выдаст выборку - то выборку всех значений (кстати при этом ничего вообще городить не нужно, поскольку можно в ыборка выбрать все значения (параметр метода Выбрать). Для того, чтобы получить РАЗЛИЧНЫЕ наборы -  теперь это нужно загрузить в таблицу и таблицу свернуть по всем колонкам - тогда останутся только уникальные наборы параметров. Тоже самое хотелось сделать запросом.

(17) - если б нужен был вывод в отчет - вопросов бы не было (ДА СКД ЭТО ДЕЛАЕТ). Мне нужна как промежуточный результат в обработке