Визуализация данных

В случае, когда данных очень много, необходимо предоставить пользователю удобные инструменты для манипулирования ими. Здесь предлагается способ визуализации отчетов, достаточно сложный, чтобы быть реализованным и даже формализованным отдельным программистом, но тем не менее достаточно наглядный, чтобы заинтересовать коммерческие фирмы в разработке соответствующего софта.

Визуализация данных



В случае, когда данных очень много, необходимо предоставить пользователю удобные инструменты для манипулирования ими. Здесь предлагается способ визуализации отчетов, достаточно сложный, чтобы быть реализованным и даже формализованным отдельным программистом, но тем не менее достаточно наглядный, чтобы заинтересовать коммерческие фирмы в разработке соответствующего софта.
Оценить визуальное представление отчета вы можете в файле report.xls

Определения
Пусть есть некоторые ПЕРЕМЕННЫЕ, описывающие некую предметную область.
Например в торговой системе для отчета по движению товара это:
љљљ Фирма - фирма, от лица которой осуществлялось движение
љљљ Склад - склад, с которого осуществлялось движение
љљљ Товар - товар, по которому осуществлялось движение
љљљ Дата - дата движения
љљљ Вид - конкретный вид движения (приход, возврат, списание, оприходование)
љљљ Направление - приход или расход
љљљ Контрагент - контрагент, во взаимодействии с которым осуществлялось движение
Также есть некоторые ГРУППЫ - множества, в которые входят значения переменных, причем одно значение переменной может входить в несколько групп, например:
љљљ Происхождение(Товар) - отечественный, импортный
љљљ Группа(Товар) - бакалея (хлеб, масло), алкоголь (водка, пиво), ... - вложенные группы
љљљ Расположение(Склад) - Калининград, Нестеров, Черняховск
љљљ Категория(Товар) - водка РВ, водка СПИРВВК, пиво Очаковское, пиво Классическое
Также существуют некие ФУНКЦИИ от этих переменных (одной или нескольких), например:
љљљ Остаток(Фирма, Склад, Товар)
љљљ Цена (Склад, Товар)
љљљ ИНН (Контрагент)
љљљ Код (Товар)
љљљ Штрих-Код (Товар)
љљљ Количество (Фирма, Склад, Товар, Направление, Вид) - количество движения
љљљ Количество (Товар, Направление, Вид) - количество движения в другом разрезе
Для каждой пары (Группа, Функция) должно быть указано, какая ГРУППИРОВКА используется для вычисления значения функции для группы, способы обычно следующие:
љљљљ Сумма - исползуется по умолчанию, если не задан вид группировки
љљљљ Min, Max
љљљљ Среднее
љљљљ Произведение

Базовое представление
Наиболее простым представлением информации является СГРУППИРОВАННЫЙ отчет: љљљљљљљљљљљљљљљљљљљ

Функии:

Цена Остаток Кол-во Сумма
Переменные: љ љ љ љ
Фирма
љљљ Склад
љљљљљљљ Товар
љљљљљљљљљљљ Направление
љљљљљљљљљљљљљљљ Вид
љ љ љ љ

С отступом повторяются значения переменных. Для каждой переменной также должно выводиться итоговое значение. Очевидно, итог по самой верхней переменной и есть итог всего отчета.

Более сложной формой, но по-сути тем же самым, является ПЕРЕКРЕСТНЫЙ отчет:

љ љ љ Приход љ љ љ љ љ Расход љ љ љ
љ љ љ љ љ Закуп љ Возврат љ љ љ Продажа љ

Функии:

Цена Остаток Кол-во Сумма Кол-во Сумма Кол-во Сумма Кол-во Сумма Кол-во Сумма
Переменные: љ љ љ љ љ љ љ љ љ љ љ љ
Фирма
љљљ Склад
љљљљљљљ Товар
љ љ љ љ љ љ љ љ љ љ љ љ

Это тот же самы отчет, только значения группировок Направление и Вид вынесены в колонки. Как видим, для группировок Направление и Вид вычисляются только переменные Кол-во и Сумма, т.к. остальные переменные безразличны к этим группировкам.

Иерархическое представление
Более сложным представлением является ИЕРАРХИЧЕСКИЙ СГРУППИРОВАННЫЙ отчет:

Функии:

Цена Остаток Кол-во Сумма
Переменные: љ љ љ љ
Фирма
љљљ Склад
љљљљ Группа(Товар)
љљљљљљљљљ Группа(Товар)
љљљљљљљљљљљљљљљљљ Товар

љљљљљљљљљљљљљљљљљљљљљљ Направление
љљљљљљљљљљљљљљљљљљљљљљљљљљљљ Вид
љ љ љ љ

Как видно, товар представлен не просто списком значений, а значения входят в группы. Для формирования групп существуют следующие способы:

  • нет группировки - просто все значения (простой сгруппированный отчет)

  • только одна группировка, те товары, которые в нее не входят, относятся к прочим.

  • несколько группировок, если товар не найден в одной группировке, группой для него является следующая группировка и т.д.

Удобно для просмотра значений группировок и переменных разного уровня использовать интерактивные формы с раскрывающимися группами, например в Excel есть понятие групп, обЪединяющих строки и колонки которые можно разворачивать и сворачивать.

Пример сложного иерархического сгруппированного отчета в файле (скоро будет....).

Формат входящих данных
Переменные передаются в таблицах следующего формата:
Код_значения_переменной Значение_переменной
Каждая переменная имеет свой код Код_переменной.

Группы передаются в таблицах вида (в них содержится и группировка групп):
Код_значения_группы Значение_группы Код_значения_группы (для родителя)
Каждая группа имеет свой код Код_группы.

Принадлежность элементов группам передаются в таблицах вида:
Код_переменной Код_группы Код_значения_переменной Код_значения_группы

Очевидно, любой отчет можно формализировать.... Но это в будующем.

Очевидно, данные могут передаваться через DBF, XML, TXT, XLS и т.п. форматы.

Интерактивное составление отчетов.
Исходные данные для отчета загружаются только один раз. Затем пользователь имеет полную свободу в составление отчетности в различных разрезах.
Очевидно, для составления любого отчета пользователю нужно указать:

  • какие переменные и в каком порядке использовать

  • какие группы и какими способами использовать для переменных

  • какие функции показать в отчете

  • на какой переменной перейти к перекрестному отчету и какие колонки использовать в каждой переменной, учавствующей в перекресте...

Например отчетљ report.xls, м.б. описан следующим образом:

Переменные - есть ли перекрест и указаны в порядке:
Фирма
Товар
Склад
Направление - перекрест
Вид - перекрест

Функции - для каких переменных:
Цена - для всех
Остаток - для всех
Количество - для Направление, Вид
Сумма - для Направление, Вид

Группы - для каких переменных:


Комментарии

13