Наш проект имеет особые требования.Я понимаю это, но не думаю, что это может быть легко реализовать.
Описание: В базе данных есть таблица с 500 столбцами.Теперь конечные пользователи (опытные пользователи или администраторы) могут захотеть определить производные столбцы.Производный столбец - это столбец, основанный на других столбцах.Производный столбец технически может быть фактическим физическим столбцом или просто логическим столбцом, который мы генерируем во время выполнения с помощью динамического запроса SQL.
Пример: скажем, есть столбец с именем «WageOnDay», а есть другой с именем «WageDate»,Теперь конечный пользователь может захотеть определить производный столбец с именем «WageForPastMonth» или «WageForPastYear» или просто производный столбец с «WageDate» + 2000.Пользователь может захотеть определить любое количество таких дополнительных производных полей и захочет определить их через пользовательский интерфейс.Пользователь также хотел бы указать настраиваемое отображаемое имя для этих производных столбцов.Пример: пользователь может захотеть вызвать производный столбец для «WageDate» + 2000 как «WageWithBonus» или «WageAfterAdjustment».Пользователь может время от времени изменять отображаемое имя производного столбца и его определение (текущее определение «WageDate» + 2000 на «WageDate» + 4000). Производное определение столбца также может представлять собой агрегирование, например сумму по заработной плате длядиапазон дат и т. д.
Теперь - мы обдумали это с технической точки зрения.И, кажется, нет способа реализовать это.Пользователь может определить агрегацию для производного столбца или простого выражения и т. Д. Мы могли бы продолжить изменение таблицы и добавить эти дополнительные поля в соответствии с определением пользователя для производных столбцов.
Другой подход будетхранить эти определения производных столбцов в другой таблице конфигурации и использовать их для создания динамического SQL, который должен будет генерировать производные столбцы в соответствии с определением.
В настоящее время мы считаем, что реализация этого потребует огромных усилий,Нам также необходимо создать семантический язык, который будет хранить определение производного столбца и должен был бы реализовать синтаксический анализатор, который генерирует часть SQL на основе определения пользователя.
Я знаю, что существуют такие инструменты отчетности, как QlikView,CrystalReports и JasperReport, которые имеют описанную мной функциональность.
Но можем ли мы реализовать ее в нашем проекте?Если нет, то возможна интеграция с любым другим инструментом.
Пожалуйста, поделитесь своими мыслями и предложениями.Сообщите нам, было ли выполнено такое требование, и о техническом подходе высокого уровня.