Вторник, 26.11.2024
Мой сайт
Меню сайта
Статистика

Онлайн всего: 46
Гостей: 46
Пользователей: 0
Главная » 2018 » Август » 1 » Перевод строк в колонки
22:48
Перевод строк в колонки

Перевод строк в колонки

Наиболее частый вид работы с информацией это выборка по фильтрам типа автофильтров Excel-я. А тут:
http://akostina76.ucoz.ru/blog/2018-08-01-5261

… у меня изначально был список, в каждой строке которого район (или учреждение), экономическая статья и сумма. Но мне хотелось не списком это смотреть а сделать так чтобы экономические статьи стали колонками.
Эту операцию никак не назовёшь стандартной и точно всегда необходимой потому прикручивание такой возможности идёт постепенно, медленно и не везде.
Понятно что если очень надо, то можно заставить программиста написать всё это вручную. Но для стандартных вещей вроде как должен быть стандартный же инструментарий, упрощающей все эти вещи. Я не помню, в стандарте какого года PIVOT стал обязательной функцией языка SQL но скорее всего там какой-нибудь 1995-1998-й.
Он есть, хотя с пользовательской точки зрения выглядит довольно странно. В выборке с экономическими статьями мне потребовалось выбрать все экономические статьи руками и вписать их ему в явном виде:
 
Вопрос «Чего же он сам это список не сформирует?» вполне уместен… в 2018 году. А когда это делалось не менее уместным был встречный вопрос: «А что дальше с этой информацией делать?»  Полученную информацию надо выводить на экран или в отчёт, а они все довольно жёстко ориентированы на любое количество строк но фиксированное количество колонок.
Эта проблема вылезает, например, в Access-е, у которого немного свой SQL, позволяющий разворачивать строки в колонки. У него и удобный конструктор есть, позволяющий не писать руками так называемый «перекрёстный запрос»:

В результате он сформировал такое:
TRANSFORM Sum(Vb.Сумма) AS [Sum-Сумма]
SELECT Vb.Учреждение, Sum(Vb.Сумма) AS [Итоговое значение Сумма]
FROM Vb
GROUP BY Vb.Учреждение
PIVOT Vb.КОСГУ;
… и действительно сам справляется с вытаскиванием в колонки всех экономических статей (КОСГУ). Проблема только в том что просмотреть в виде таблицы я его могу а для корректной работы например отчёта в нём обязательно должны быть все колонки (иначе вылет по ошибке).
Этот вопрос снимается если вывод идёт с Интернет страницу или (что тоже часть бывает) в Excel (с любым количеством колонок). Но раньше этого было совсем мало да и сейчас это никак не стандарт вывода информации.
Сюда же за компанию то, что придумали 1С-овцы в 8.2 версии, т.е настройки СКД- отчета.
В настройках в меня вначале идёт группа «Детальные записи», т.е просто вывод информации в виде полученного списка:

Так это выглядит:

… остальные годы там ниже.
А так выглядит то, что вытащено настройками таблицы:

СКД-отчёт, естественно тоже сам ищет сколько надо колонок и каких.



 

Просмотров: 226 | Добавил: akostina76 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Форма входа
Поиск
Календарь
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Copyright MyCorp © 2024
    Бесплатный конструктор сайтов - uCoz