#0
by mzelensky
Доброго всем. Имею таблицу значенйи со следующими колонками: Параметр - ссылка на некий справочник МассивЗначенийПараметра - массив значений этого параметра. Тип данных элемента массива Строка Значения в колонке "Параметр" уникальны (не повторяются). Количество элементов в "МассивЗначенийПараметра" произвольно (на практике от 2 до 10). Количество Строк в таблице произвольно (на практике от 2 до 5). Нужно получить все возможные комбинации значений параметров (порядок значения не имеет, только состав. Т.е. "1"+"2" = "2"+"1").
#1
by mzelensky
Понятно, что самое банальное - это вложенные циклы по количеству строк в таблице (что соответствует количеству параметров). Но их количество может быть относительно произвольным... Может как-то рекурсию можно сделать?
#5
by mzelensky
Как вариант думаю сгенерировать текст запроса и полным соединением собрать все эти данные. По идее получится то, что нужно
#6
by mzelensky
Чувак, вроде взрослый дядька, а херней страдаешь. Есть что по сути сказать - говори. А нет - не нужно тут свою обгаженую быдло душенку выворачивать.
#7
by Garykom
меня убивают отчетактиповымдописыватели которые только запросы типа изучили и потом ими все делают даже пол подметают...
#10
by quest
еще и бараном обозвали... кастрированым... и просят еще и на халяву сделать. Твоя задача - 11 класс общеобразовательной школы. Строить из себя тут деву с тонкой душевной организацией - не надо. Если тупишь так и напиши - "туплю. Заплачу за решение"
#12
by Garykom
+ т.е. задача в описана хреново, даже не понять что с чем комбинировать хочешь то ли значения внутри по каждому параметру переставлять-сочетать, то ли значения между параметрами=ссылками уникальными на справочники
#13
by Garykom
мда... усть цыфры 1 2 и 3 сочетания уникальные это 1 и 2, 1 и 3, 2 и 3 и внимание 1-2-3 ну и еще 3 сочетания по 1 элементу 1, 2, 3
#14
by mzelensky
Читаем внимательно. "Нужно получить все возможные комбинации значений параметров", затем читаем еще раз внимательно "МассивЗначенийПараметра ". Ты сейчас сам из себя дурака делаешь. Ща пример напишу
#17
by mzelensky
Исходная таблица Параметр значения (через запятую) П1 1, 2, 3 То, что нужно получить на выходе 1, 4, 6 И так далее
#18
by mzelensky
Заранее количество Параметров (П) не известно и оно может быть ЛЮБЫМ (от 2 до 1000000000). Количество Значенйи параметров (циферок) может быть ЛЮБЫМ (от 2 до 1000000000)
#24
by mzelensky
По количество параметров. Если параметров будет 5, то и комбинация будет из 5 значений.
#29
by DirecTwiX
Там количество вложенных циклов должно равняться количеству параметров. Но пока самая главная интрига затаилась в
#30
by Йохохо
как то это называется, то ли матрица параметров, то ли размерная сетка типа "цвет, м/ж, размер"
#31
by GROOVY
Как продает СП, так я скоро буду торговать учебниками по информатике для 10-11 классов школы. :) Без обид.
#32
by ssh2QQ6
раз порядок не важен, то число комбинаций на выходе можно посчитать по формуле Если в выборках изn объектов поkобъектов порядок их следования по условию задачи не имеет значения, то размещения, отличающиеся лишь порядком следования, становятся одинаковыми. Число таких одинаковых выборок по k разных объектов, которые получаются друг из друга перестановкой, равно k! Поэтому, число выборок из n поk без учета порядка следования определяется формулой
#34
by mzelensky
В целом суть понятна, но что-то сомнения по поводу работоспособности...Сейчас попробую воспроизвести. Формирую таблицу обмена данными. Для некоторых параметров значеняи могут выступать в формате "или или" (значенйи может быть Н-ное количество) и таких параметров может быть Н-ное количество. Например "Мячик красныйзеленыйсиний размером 203040 см". Соответственно на выходе я получаю "Мячик красный размером 20 см" "Мячик красный размером 30 см" и так далее
#35
by МихаилМ
+ фактически получается система счисления для построения всех значений достаточно знать размерность и порядок и по ним в 2 циклах сделать построение все возможных значений
#40
by Salimbek
Для N параметров: Выбрать Т1.Элемент, Т2.Элемент, ..., ТN.Элемент из (Выбрать Элемент из Таблица Где Параметр=1 Сгруппировать По Элемент) Как Т1, (Выбрать Элемент из Таблица Где Параметр=2 Сгруппировать По Элемент) Как Т2, ..., (Выбрать Элемент из Таблица Где Параметр=N Сгруппировать По Элемент) Как ТN Т.е. сначала получаешь выборку всех параметров, потом динамически строишь по выборке этот запрос.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- Программно Открыть ОСВ с ОТБОРОМ !УФ!
- 1с лог как внешний источник данных, проблемы с размером и памятью
- RDP. Server2008->Server2008. Монтирование локального диска.
- Как бы половчее избежать запроса в цикле?
- Ширина колонки в таблице значений программно
- План обмена. Вручную выгружается, автоматически нет.
- Зависает выгрузка информационной базы
- Удаленная перезагрузка ПК через роутер
- Отладчик не заходит во внеш. обработку. debug стоит
- Как получить все эл-ты ДанныеФормыКоллекция?
- Розница 8. Серии и сроки годности.
- 8.3 идентификация пользователя не выполнена
- Postgre ??? Простейший запрос висит
- По документообороту подскажите - связи документов
- Как отбросить часть знаков после запятой?
- списание пива - "прочие расходы" в декларации формы 5
- v7: максимум по дате документа в запросе 1с 7.7
- Как в универсальном отчете вывести две таблицы, не зависящие по запросу.
- Есть ли возможность в УПП перечислять подотчет на карту как по зарплате
- СКД, оформление строки жирным шрифтом