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

Я создал графический интерфейс для генерации SQL, что-то очень похожее на MS Access Visual Query Designer, цель заключалась в том, чтобы позволить нашей команде обслуживания клиентов создавать свои собственные отчеты. Но даже после того, как я спроектировал все это, я вижу, что они не уверены, как действовать для создания нового отчета.

SQL стал для меня интуитивно понятным после долгого опыта, но такие вещи, как группировка, агрегатные функции, различные функции даты / строки, непросты для непрограммиста.

Как я могу упростить непрограммисту создание SQL с помощью графического интерфейса?

http://i45.tinypic.com/345j48k.png


person Pheonix    schedule 19.09.2012    source источник
comment
Какую систему баз данных вы используете? В случае с SQL-сервером, почему бы не использовать службы отчетов?   -  person ZippyV    schedule 19.09.2012
comment
обычный пользователь ПК чертовски работает с командами. они просто хотят нажать несколько кнопок, и появится священный Грааль. Если вы сделали это для генерации sql, почему бы вам не пойти дальше и не запустить sql и не представить только результаты?   -  person Vlad Balmos    schedule 19.09.2012
comment
@ZippyV Mysql, я не уверен, что это такое, проверю.   -  person Pheonix    schedule 19.09.2012
comment
@VladBalmos да результаты есть и с экспортом в CSV.   -  person Pheonix    schedule 19.09.2012
comment
из изображения, я думаю, ваша проблема в том, что есть много элементов управления (выберите поля, флажки). Я не дизайнер и не ориентирован на пользовательский интерфейс, но я бы попытался свести к минимуму количество вводов или получить помощь от дизайнера.   -  person Vlad Balmos    schedule 19.09.2012
comment
Агрегатные функции, на мой взгляд, не такие уж и сложные, люди обычно понимают, что означают MAX, MIN, AVG, по крайней мере, те функции, которые они должны использовать. Что касается агрегирования, то в таких инструментах оно часто организуется автоматически - когда пользователь использует агрегатную функцию, инструмент неявно перемещает все столбцы, не входящие в агрегатные функции, в предложение GROUP BY. Обычно этого достаточно для обычных пользователей. Что касается других функций, обычно помогает какой-нибудь документ с хорошими примерами.   -  person WojtusJ    schedule 19.09.2012
comment
Другой вариант - сделать весь процесс в стиле учебника / мастера. Первый экран - ›выберите таблицы, второй экран -› выберите столбцы, третий экран - ›добавьте средства файлов, порядок, ограничения и т. Д.   -  person Vlad Balmos    schedule 19.09.2012


Ответы (2)


arrow_upward
0
arrow_downward

Может быть, вы сможете применить упрощенную транскрипцию SQL. Представьте себе что-нибудь вроде https://ifttt.com/wtf. Это в сочетании с визуальной частью может облегчить понимание того, что происходит.

person TTT    schedule 19.09.2012

arrow_upward

arrow_downward

person    schedule
comment
На самом деле это несколько сложнее, когда имеешь дело со свободным выбором из нескольких связанных таблиц, отношениями 1: n, тонкостями агрегирования и группировки ... - person Alex K.; 19.09.2012
comment
вы должны использовать systemTable, systemColumns ... и хорошо, где отношения и получение результата ... это что-то сложное, но вы должны получить результат в соответствии с вами и доволен вашим пользователем. - person jainvikram444; 19.09.2012
comment
Я добавил фото того, что у меня есть в настоящее время, все пункты, о которых вы упомянули, покрыты. Спасибо за это. Отношения не берутся из схемы базы данных, поскольку в нашей схеме не указаны FK. - person Pheonix; 19.09.2012