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

Я создал графический интерфейс для генерации 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)


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

person TTT    schedule 19.09.2012

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