0. dusha0020 880 05.01.18 17:30 Сейчас в теме

Свертка таблицы значений. С блэкджеком и всем остальным

Функция свертки таблицы значений. Умеет в отличие от стандартного метода все, что можно делать на языке запросов.

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. Armando 1388 22.01.18 22:52 Сейчас в теме
ВЫБРАТЬ * ПОМЕСТИТЬ ВТ Из &ВТ

Дороговатый метод
5. dusha0020 880 23.01.18 10:39 Сейчас в теме
(1) Согласен. В (3) выборка усечена. И так лучше.
(2) Не знаю. Нужно сделать вариант через СКД и сравнить. Может и попробую.
2. Armando 1388 22.01.18 23:50 Сейчас в теме
Через СКД не лучше будет?
3. mszsuz 79 23.01.18 09:16 Сейчас в теме
Извините, не удержался )
Функция СвернутьЗапросом(ТаблицаЗначений, Знач КолонкиГруппировок, Знач КолонкиСуммирования, Ф="СУММА") Экспорт
	
	Ф = ВРег(Ф) + "(";
	Если СтрНайти("СУММА(,МИНИМУМ(,МАКСИМУМ(,КОЛИЧЕСТВО(,СРЕДНЕЕ(", Ф) = 0 Тогда
		Ф = "КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ";
	КонецЕсли;
	
	Запрос = Новый Запрос(СтрШаблон("
	|ВЫБРАТЬ
	|	%1
	|ПОМЕСТИТЬ ВТ Из &ТЗ КАК ТЗ
	|;
	|ВЫБРАТЬ
	|	%2
	|ИЗ ВТ КАК ВТ 
	|СГРУППИРОВАТЬ ПО 
	|	%3",
	КолонкиГруппировок + "," + КолонкиСуммирования, // %1
	КолонкиГруппировок + "," + Ф + СтрЗаменить(КолонкиСуммирования, ",", "), " + Ф) + ")", // %2
	КолонкиГруппировок)); // %3
	
	Запрос.Параметры.Вставить("ТЗ", ТаблицаЗначений);
	
	Возврат Запрос.Выполнить().Выгрузить();
	
КонецФункции
Показать
amatoravg; DarkUser; dusha0020; +3 Ответить
4. dusha0020 880 23.01.18 10:31 Сейчас в теме
(3) Извиняю и снимаю шляпу:) Компактно получилось. Так намного круче!
6. VmvLer 23.01.18 10:47 Сейчас в теме
%1, %2 уже есть в 8.3. метод глобального контекста вроде СтрШаблон(...)

который поддерживает 9 параметров замены, т.е. код замены шаблонов строк подобно...

СтрЗаменить(КолонкиСуммирования, ",", "), " + Ф) + ")", // %2

уже не актуален
8. dusha0020 880 23.01.18 11:02 Сейчас в теме
(6) Я вообще-то считаю, что универсальные функции должны иметь глубокую совместимость. Например те же СтрШаблон и СтрНайти с 8.3.6 кажется работают.
Но все равно очень понравилось решение в (3). А, кстати, что за
есть в 8.3. метод глобального контекста вроде СтрШаблон(...)
?
Я далеко не всезнайка. И стало любопытно.
9. mszsuz 79 23.01.18 12:20 Сейчас в теме
(6) Так там и так СтрШаблон(), посмотрите внимательнее
7. МихаилМ 23.01.18 10:58 Сейчас в теме
(0)
использовать в продакшене вычисления на субд - моветон. тк уложняется управление производительностью.

в 1с есть класс анализ данных

Общая статистика – этот тип анализа представляет собой простую статистическую выборку из источника данных. Пример применения – анализ продаж по номенклатуре за период. Результатом анализа станет информация о том, сколько было продано того или иного товара. Также система рассчитает специфические поля – максимум, минимум, медиана, среднее, размах, стандартное отклонение, количество значений, количество уникальных значений, мода.

либо можно скд. но скд медленно выводит данные в тз.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Владивосток
зарплата от 60 000 руб. до 90 000 руб.
Полный день

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Программист 1С
Москва
зарплата от 120 000 руб.
Полный день

Руководитель проекта, аналитик, консультант
Санкт-Петербург
По совместительству

Программист 1С
Самара
зарплата от 100 000 руб. до 150 000 руб.
Полный день