Введение

Язык программирования
Structured Query Report (SQR) (Hyperion SQR Production Reporting, часть OBIEE) — это язык программирования, предназначенный для генерации отчетов из систем управления базами данных. Название является аббревиатурой от Structured Query Reporter, что указывает на его связь с SQL (Structured Query Language). Любой SQL-оператор может быть встроен в программу SQR.

История

В начале 80-х годов SQR был бесплатным дополнением к SQLBase от Gupta. В то время SQLBase была единственной реляционной базой данных, работавшей на компьютерах IBM PC (x86). SQR был разработан Израилем Стерном в Кливленде, штат Огайо, предположительно, около 1984 или 1985 года. SQ Software создала SQR в середине 1980-х годов. Компания имела маркетинговое соглашение с D & N Systems, которая сменила название на SQL Solutions и позднее была приобретена Sybase Inc в начале 1990-х годов. Чтобы избежать прямой конкуренции с Oracle Corporation, Sybase заключила соглашение о маркетинге и разработке версий SQR, совместимых с базой данных Oracle, с компанией MITI. MITI приобрела полные права на SQR в середине 1990-х годов. В 1997 году MITI сменила название на SQRiBE Technologies. Brio Technology приобрела SQRiBE в августе 1999 года. Позднее Brio Technology сменила название на Brio Software. Brio лицензировала свой исходный код компании PeopleSoft Inc. примерно в 2000 году. В октябре 2003 года Hyperion Solutions Corporation приобрела Brio Software. В декабре 2004 года Oracle Corporation приобрела PeopleSoft. В марте 2007 года Oracle Corporation приобрела Hyperion Solutions.

Продукты, связанные с SQR

Oracle: Система отчётности о производстве Hyperion SQR 9 (выпуск 9.3.1, 2008);
Oracle: Система отчётности о производстве Hyperion SQR 11 (выпуск 11.1.2, 2010);
Oracle: Инструменты и технологии PeopleSoft Enterprise (PeopleTools, выпуск 8.52, 2011)

Особенности

SQR примечателен своими функциями работы с базами данных и печатью. Он позволяет встраивать практически любые SQL-запросы в любую часть программы. Одна из конфигураций SQR может обеспечивать доступ к многомерным базам данных, таким как Essbase. SQR позволяет объединять чтение данных из базы данных с командами печати, гибко форматировать данные и переносить страницы, а также использовать различные шрифты, размеры и цвета при печати. SQR включает в себя команду для создания графиков, предлагающую десятки параметров для настройки содержимого и внешнего вида.

Синтаксис

SQR имеет четыре типа скалярных данных. Первые три – числовой (переменные начинаются с “#”), строковый (переменные начинаются с “$”) и дата (переменные начинаются с “$”, как и строковые переменные). Переменные типа дата должны быть объявлены, чтобы их можно было отличить от строковых переменных. Числовые переменные могут быть более конкретных типов: целые, с плавающей точкой. Переменные, представляющие столбцы базы данных, начинаются с “&”. Значения столбцов базы данных устанавливаются только оператором SQL “select”; никакая другая команда не может их изменить. SQR имеет структуру данных – массив. Массив содержит одно или несколько полей, каждое из которых имеет один из доступных типов данных. Каждое поле может иметь несколько экземпляров, что обеспечивает SQR функциональность, эквивалентную двумерным массивам. SQR имеет команды для работы с несколькими элементами внутри одного массива. SQR имеет четыре структуры управления. Первые три – “if else end”, “while end” и “evaluate”. Четвертая – встроенный оператор SQL “select”, который позволяет выполнять операторы SQR для каждой строки данных в цикле. SQR имеет команды для открытия, чтения, записи, добавления и закрытия компьютерных файлов. Ввод и вывод файлов осуществляется только последовательно и в виде записей; прямой доступ не поддерживается.