|
Организация Супер расширенного поиска
|
|||
---|---|---|---|
#18+
Посоветуйте что-нибудь для решения такой задачи: Есть порядка до 40 кретериев поиска (уже только на стадии ТЗ :). Но Заказчик хочет, чтобы можно было бы устанавливать критерии не только на входе "запроса", но и устанавливать в разрезе какого параметра должны быть данные на выходе. (почти дим.SQL 4-го типа :) Например:) - Определить от куда уходят беременные женщины от 25 до 35 лет, которые были уволены "по согласию сторон" (входной параметр), и сколько из них продолжают искать аналогичную работу (это выходной параметр). Это импровизация (шутка), а по факту Заказчик (как я понимаю) хочет иметь возможность получать отчет из всех "сочетаний" вариантов 40 критериев. Своять под всё DW - не реально. Даже динамически сделать и то верится с трудом. Есть ли решение, или совет? Либо это задача из серии даже теоритически "нерешаемых"? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2011, 00:11 |
|
Организация Супер расширенного поиска
|
|||
---|---|---|---|
#18+
Вы для начала приведите как должен выглядеть результат запроса и на основе каких исходных данных он формируется. А то из ваших сферических беременных в вакууме ничего не понятно, и тем более не понятно почему DW не подходит. DW можно на лету формировать любой сложности. Было бы четкое описание что нужно получить. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2011, 00:31 |
|
Организация Супер расширенного поиска
|
|||
---|---|---|---|
#18+
Anatoly Moskovsky , пример - это была шутка. А всё остальное - похоже на правду. Предполагается, что окно Мастер-Поиска будет разделен на две части (либо таб). В одной части пользователь устанавливает критерии поиска, а в другой критерии отчета, т.е. что он хочет увидеть. Например, при одних входных параметрах: - женщина от 25 до 35 лет; - беременна (ой-ё уже 4-й месяц =); - уволена с последнего места работы "по согласию сторон"... Надо иметь варианты отчета на выходе, например: 1. Кто из них продолжает искать аналогичную работу? 2. Кто из них ждет уже третьего ребенка? ... N. Какие предприятия таки готовы взять их к себе на работу? Т.е. Заказчик должен иметь возможность установить параметры аналогичные входным критериям, чтобы сформировать выходной отчет. Исходя из сказанного это будет ну-у очень много DW, а динамически - это разные по структуре и сложности SQL запросы, поэтому универсальный алгоритм для его формирования (пока) в голову не приходит. Заказчик "мечтает", чтобы он мог потом (без Разработчика) получить любой отчет, исходя из 40 критериев. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2011, 01:14 |
|
Организация Супер расширенного поиска
|
|||
---|---|---|---|
#18+
На самом деле логически (абстрагируемся пока от ваших двух закладок) у вас есть несколько отчетов: 1. Кто ищет работу аналогичную нынешней? 2. Кто ждет третьего ребенка? ... А "из них" - это всего лишь один из возможных критериев - фильтр по сотрудникам (или кто они там у вас). Могут быть и другие критерии, например фильтр по дате, и т.п. Фильтр по сотрудникам может быть просто множественный выбор из справочника сотрудников, а может быть как вы хотите, подзапрос в котором можно задать свои критерии (возраст и прочее). т.е. запрос отчета будет выглядеть так (на примере п.1): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
И соответственно на основе запроса создается ДВ с колонками человек, ищет_работу. Автоматически генерить здесь нужно только where, т.е. то что вводится юзером. А список столбцов и внешний вид можно заранее сделать в виде DWO для каждого отчета. Теперь что такое ваши закладки (критерии поиска и варианты отчета): В первой юзер задает фильтр по которому формируется where, а во второй закладке юзер выбирает из списка нужное ДВ, к которому применить фильтр. Панель с фильтром можно сделать в виде ДВ с группами полей ввода, которые активируются по чекбоксу например, или при вводе в них значений. Потом при формировании where вы просто смотрите какие поля фильтра заполнены и на их основе строите условия а потом соединяете их по AND. Ничего сложного тут нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2011, 03:42 |
|
Организация Супер расширенного поиска
|
|||
---|---|---|---|
#18+
Anatoly Moskovsky , вообще-то поменять условие "where"(в т.ч. с подзапросом), либо создать динамически DWO особых трудностей не вызывает. :) Возможно не так чекто сформулировал задачу - Заказчик хочет иметь "конструктор", в котором может задавать как входные данные, так и то что он хочет иметь на выходе. И основное пока не пойму: - Как визуализировать отчет в случае когда выходные данные и их количество неизвестны на начальном этапе? Например: а) Ищем работника по заданным вх.условиям. б) Ишем предприятие по заданным вх.условиям. в) Статистические данные по заданным вх.условиям. ... т.п. Например делать так (прим.: с входными всё понятно, поэтому далее только в разрезе выходных данных): а) создать перечень предполагаемых задач и под них сделать DWO. (Заказчик против жесткой привязки и DWO по прогнозам может быть очень много.) б) создавать всё запросы динамически (это возможно и полученные данные можно где-то сохранить), но как решить вопрос визуализации в этом случае. Создавать универсальные шаблоны и сервисные функции, чтобы всегда всё выглядело одинаково стильно и сохраняло весь функционал? (Но всё что универсально - не идеально и очень трудоемко. Обязательно где-то что-то когда-то вылезет). P.S. Хотя строить функционал фильтрации и сортировки динамически на основании полученного на выходе списка столбцов и полей - это выход, и уже пол дела. Спасибо за совет. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.07.2011, 15:25 |
|
Организация Супер расширенного поиска
|
|||
---|---|---|---|
#18+
Нормально все получается, несколько раз создавал подобный конструктор Данные в виде таблиц колонок, таблиц условий и таблиц связей храняться в БД (или на диске) DW создается динамически (по-другому крайне сложно реализовать, все условия не предусмотришь) В общем все работало ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2011, 10:26 |
|
Организация Супер расширенного поиска
|
|||
---|---|---|---|
#18+
spas2001Данные в виде ... таблиц связей храняться в БД (или на диске) Это типа хранить в таблице готовые SQL запросы для динамического создания DWO? Если так, то это всё равно будет жесткая привязка, т.е. выбор среди имеющегося. Или поясните, что и как пожалуйста. P.S. Вот даже больше, чем требуется, но таких продуктов у меня нет. :( ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2011, 10:47 |
|
Организация Супер расширенного поиска
|
|||
---|---|---|---|
#18+
23.07.2011 2:14, AIS пишет: > Заказчик "мечтает", чтобы он мог потом (без Разработчика) получить любой > отчет, исходя из 40 критериев. А оно тебе нужно - вбухивать кучу усилий в то, чтобы без тебя смогли обойтись ;)? Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2011, 11:06 |
|
Организация Супер расширенного поиска
|
|||
---|---|---|---|
#18+
Вы не поняли В таблицах хранятся русское наименование столбца, имя таблицы из которой он берется - весь sql-ник сохраняется после формирования его динамически или вообще не хранится ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2011, 11:22 |
|
Организация Супер расширенного поиска
|
|||
---|---|---|---|
#18+
Dim2000А оно тебе нужно - вбухивать кучу усилий в то, чтобы без тебя смогли обойтись ;)? Так везде по началу надо напрягаться, когда познаешь, либо решаешь что-то новое. Зато потом можно это дело применять, где понадобится. Да и фича такая очень многим сегодня интересна, и дает некоторые конкурентные преимущества. spas2001Вы не поняли В таблицах хранятся русское наименование столбца, имя таблицы из которой он берется - весь sql-ник сохраняется после формирования его динамически или вообще не хранится Допустим, пользователь выбирает: - выходные данные (имена таблиц, стобцов, полей) и они пошли в -> select ... from ... - входные данные в -> where ... order by ... А взаимо связи между таблицами (бизнес-логика) как формируються, либо где хранятся и как? Или весь анализ программно делается на основания первичных и внешних ключей и нигде не хранится, а в результате по алгоритму создается весь sql? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2011, 11:54 |
|
Организация Супер расширенного поиска
|
|||
---|---|---|---|
#18+
AISP.S. Вот даже больше, чем требуется, но таких продуктов у меня нет. :( По сути ЭТО требует кучи админов + обучить пользователей до уровня каких-никаких программистов, иначе работать это не будет. Остальное все - рекламное словоблудие. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2011, 11:55 |
|
Организация Супер расширенного поиска
|
|||
---|---|---|---|
#18+
Взаимосвязи хранились в отдельной таблице И еще... Никто не говорил, что сделать это очень просто ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2011, 14:07 |
|
Организация Супер расширенного поиска
|
|||
---|---|---|---|
#18+
spas2001Взаимосвязи хранились в отдельной таблице И еще... Никто не говорил, что сделать это очень просто Я так и предполагал, что не просто. Вот смотрю на N-ое количество готовых DWO и думаю, как найти алгоритм, на основании которого их все можно было бы повторно построить, указав вх. и вых. данные для "черного ящика"(алгоритма). Может кто посоветует, что и где почитать? P.S. А в каком виде хранились, что-то по структуре типа "генеалогического дерева"? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2011, 16:32 |
|
Организация Супер расширенного поиска
|
|||
---|---|---|---|
#18+
Я видел реализацию на основе XML-файлов, правда сами пользователи их не создавали, но им быстренько клепали их в специальном отделе ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2011, 23:10 |
|
Организация Супер расширенного поиска
|
|||
---|---|---|---|
#18+
spas2001Взаимосвязи хранились в отдельной таблице И еще... Никто не говорил, что сделать это очень просто Я говорил, но про другое :) Имхо, динамическое создание внешнего вида отчета тут не нужно. См. мое второе сообщение. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2011, 00:43 |
|
Организация Супер расширенного поиска
|
|||
---|---|---|---|
#18+
Anatoly MoskovskyСм. мое второе сообщение...->> А список столбцов и внешний вид можно заранее сделать в виде DWO для каждого отчета. Если речь про это, то это "жесткая привязка". А хотелось бы (и я над этим упорно тружусь :), чтобы пользователь без меня мог вывести то, что хочет. Согласитесь, что с этим можно любого Заказчика "укатать". P.S. Маю час, маю натхнення, але мрію більшого для рідней ненької України. (no comment) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2011, 01:11 |
|
Организация Супер расширенного поиска
|
|||
---|---|---|---|
#18+
AISА хотелось бы (и я над этим упорно тружусь :), чтобы пользователь без меня мог вывести то, что хочет. Согласитесь, что с этим можно любого Заказчика "укатать". В нашей внутренней бух/фин программе на моей последней работе мы сделали такой мастер отчетов, как вы хотите, где юзер мог с нуля выбирая из словаря реквизитов набрать колонок, задать по ним разные итоги, набрать фильтр, сортировку, даже в SQL-синтаксисе ввести часть фильтра, сохранить/загрузить эти настройки в файл В итоге этим режимом юзеры в основном пользовались так: программист составляет такой запрос пользуясь этим мастером, загружает его сохраненный файл в таблицу отчетов в базе, и юзер загружает его из меню как простой встроенный отчет. Хотя наш экономист пользовалась активно этим мастером сама, но это было исключение. В принципе полезная вещь, но польза от нее преувеличена. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2011, 02:07 |
|
Организация Супер расширенного поиска
|
|||
---|---|---|---|
#18+
Anatoly Moskovsky...В принципе полезная вещь, но польза от нее преувеличена. О-о, позвольте не согласиться! Как говорили немцы: "Вы (русские) живете для того, чтобы работать, а мы работаем для того, чтобы жить" (С) Резюме: мне всё равно кто, как часто и сможет ли вообще, воспользоваться оплаченной "фичей". Заказчик всегда прав. Неужели у Вас другое мнение? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2011, 03:00 |
|
Организация Супер расширенного поиска
|
|||
---|---|---|---|
#18+
AISЗаказчик всегда прав. Неужели у Вас другое мнение? Да. У меня мнение другое: заказчик почти всегда неправ. 100% программ, сделанных на основе постановки задачи заказчиком (без участия разработчика), оказываются бесполезными для этого заказчика. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2011, 03:13 |
|
Организация Супер расширенного поиска
|
|||
---|---|---|---|
#18+
То Anatoly Moskovsky +1 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2011, 12:13 |
|
Организация Супер расширенного поиска
|
|||
---|---|---|---|
#18+
Anatoly Moskovsky (+1...spas2001), Anatoly MoskovskyДа. У меня мнение другое: заказчик почти всегда неправ. при всём моём уважении к Вам к обоим, вы нарушаете "краеугольное понятие" бизнеса. Ради чего Вы работаете? (если вы конечно не "альтруисты"). Господа, Вы же не "ПИонеры" и не "КОМсомольтцы"! Клиент сказал, что это будет "белым" и готов платить, а Вы про "черное"... Тема закрыта, "вектор" мировозрения понятен, мы по разные стороны "барикады", извините. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2011, 22:09 |
|
Организация Супер расширенного поиска
|
|||
---|---|---|---|
#18+
Конечно, местами мы альтруисты:) Просто заказчик понятия может не иметь о том что вы можете сделать, так что довести до него альтернативные варианты - хороший тон. Конечно, если вы сами разрабатываете и вам не все-равно, что выйдет в качестве конечного результата ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2011, 13:06 |
|
|
start [/forum/topic.php?fid=15&fpage=19&tid=1335674]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
54ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 177ms |
0 / 0 |