Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PowerBuilder Новый топик    Ответить
 Организация Супер расширенного поиска  [new]
AIS
Member

Откуда:
Сообщений: 1695
Посоветуйте что-нибудь для решения такой задачи:
Есть порядка до 40 кретериев поиска (уже только на стадии ТЗ :). Но Заказчик хочет, чтобы можно было бы устанавливать критерии не только на входе "запроса", но и устанавливать в разрезе какого параметра должны быть данные на выходе. (почти дим.SQL 4-го типа :)
Например:)
- Определить от куда уходят беременные женщины от 25 до 35 лет, которые были уволены "по согласию сторон" (входной параметр), и сколько из них продолжают искать аналогичную работу (это выходной параметр).
Это импровизация (шутка), а по факту Заказчик (как я понимаю) хочет иметь возможность получать отчет из всех "сочетаний" вариантов 40 критериев.

Своять под всё DW - не реально. Даже динамически сделать и то верится с трудом. Есть ли решение, или совет? Либо это задача из серии даже теоритически "нерешаемых"?
23 июл 11, 00:11    [11015698]     Ответить | Цитировать Сообщить модератору
 Re: Организация Супер расширенного поиска  [new]
Anatoly Moskovsky
Member

Откуда: Odessa
Сообщений: 6610
Вы для начала приведите как должен выглядеть результат запроса и на основе каких исходных данных он формируется.
А то из ваших сферических беременных в вакууме ничего не понятно, и тем более не понятно почему DW не подходит.

DW можно на лету формировать любой сложности. Было бы четкое описание что нужно получить.
23 июл 11, 00:31    [11015755]     Ответить | Цитировать Сообщить модератору
 Re: Организация Супер расширенного поиска  [new]
AIS
Member

Откуда:
Сообщений: 1695
Anatoly Moskovsky,
пример - это была шутка. А всё остальное - похоже на правду.
Предполагается, что окно Мастер-Поиска будет разделен на две части (либо таб). В одной части пользователь устанавливает критерии поиска, а в другой критерии отчета, т.е. что он хочет увидеть.
Например, при одних входных параметрах:
- женщина от 25 до 35 лет;
- беременна (ой-ё уже 4-й месяц =);
- уволена с последнего места работы "по согласию сторон"...

Надо иметь варианты отчета на выходе, например:
1. Кто из них продолжает искать аналогичную работу?
2. Кто из них ждет уже третьего ребенка?
...
N. Какие предприятия таки готовы взять их к себе на работу?

Т.е. Заказчик должен иметь возможность установить параметры аналогичные входным критериям, чтобы сформировать выходной отчет. Исходя из сказанного это будет ну-у очень много DW, а динамически - это разные по структуре и сложности SQL запросы, поэтому универсальный алгоритм для его формирования (пока) в голову не приходит.
Заказчик "мечтает", чтобы он мог потом (без Разработчика) получить любой отчет, исходя из 40 критериев.
23 июл 11, 01:14    [11015884]     Ответить | Цитировать Сообщить модератору
 Re: Организация Супер расширенного поиска  [new]
Anatoly Moskovsky
Member

Откуда: Odessa
Сообщений: 6610
На самом деле логически (абстрагируемся пока от ваших двух закладок) у вас есть несколько отчетов:
1. Кто ищет работу аналогичную нынешней?
2. Кто ждет третьего ребенка?
...

А "из них" - это всего лишь один из возможных критериев - фильтр по сотрудникам (или кто они там у вас). Могут быть и другие критерии, например фильтр по дате, и т.п.

Фильтр по сотрудникам может быть просто множественный выбор из справочника сотрудников,
а может быть как вы хотите, подзапрос в котором можно задать свои критерии (возраст и прочее).

т.е. запрос отчета будет выглядеть так (на примере п.1):
select человек, ищет_работу
 from ...
where человек in (
   select человек from ...
    where возраст между 25 и 35 
      and беременный
      and тип_уволнения = "по согласию сторон"
)
 and другие критерии 

И соответственно на основе запроса создается ДВ с колонками человек, ищет_работу.
Автоматически генерить здесь нужно только where, т.е. то что вводится юзером.
А список столбцов и внешний вид можно заранее сделать в виде DWO для каждого отчета.

Теперь что такое ваши закладки (критерии поиска и варианты отчета):
В первой юзер задает фильтр по которому формируется where, а во второй закладке юзер выбирает из списка нужное ДВ, к которому применить фильтр.

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

Ничего сложного тут нет.
23 июл 11, 03:42    [11016198]     Ответить | Цитировать Сообщить модератору
 Re: Организация Супер расширенного поиска  [new]
AIS
Member

Откуда:
Сообщений: 1695
Anatoly Moskovsky,
вообще-то поменять условие "where"(в т.ч. с подзапросом), либо создать динамически DWO особых трудностей не вызывает. :)
Возможно не так чекто сформулировал задачу - Заказчик хочет иметь "конструктор", в котором может задавать как входные данные, так и то что он хочет иметь на выходе.
И основное пока не пойму:
- Как визуализировать отчет в случае когда выходные данные и их количество неизвестны на начальном этапе?
Например:
а) Ищем работника по заданным вх.условиям.
б) Ишем предприятие по заданным вх.условиям.
в) Статистические данные по заданным вх.условиям.
... т.п.

Например делать так (прим.: с входными всё понятно, поэтому далее только в разрезе выходных данных):
а) создать перечень предполагаемых задач и под них сделать DWO. (Заказчик против жесткой привязки и DWO по прогнозам может быть очень много.)
б) создавать всё запросы динамически (это возможно и полученные данные можно где-то сохранить), но как решить вопрос визуализации в этом случае. Создавать универсальные шаблоны и сервисные функции, чтобы всегда всё выглядело одинаково стильно и сохраняло весь функционал? (Но всё что универсально - не идеально и очень трудоемко. Обязательно где-то что-то когда-то вылезет).

P.S. Хотя строить функционал фильтрации и сортировки динамически на основании полученного на выходе списка столбцов и полей - это выход, и уже пол дела. Спасибо за совет.
24 июл 11, 15:25    [11019255]     Ответить | Цитировать Сообщить модератору
 Re: Организация Супер расширенного поиска  [new]
spas2001
Member

Откуда: Тамбов--->Москва-->Тамбов-->Москва-->Тамбов
Сообщений: 2010
Нормально все получается, несколько раз создавал подобный конструктор
Данные в виде таблиц колонок, таблиц условий и таблиц связей храняться в БД (или на диске)
DW создается динамически (по-другому крайне сложно реализовать, все условия не предусмотришь)
В общем все работало
25 июл 11, 10:26    [11021299]     Ответить | Цитировать Сообщить модератору
 Re: Организация Супер расширенного поиска  [new]
AIS
Member

Откуда:
Сообщений: 1695
spas2001
Данные в виде ...таблиц связей храняться в БД (или на диске)

Это типа хранить в таблице готовые SQL запросы для динамического создания DWO? Если так, то это всё равно будет жесткая привязка, т.е. выбор среди имеющегося. Или поясните, что и как пожалуйста.

P.S. Вот даже больше, чем требуется, но таких продуктов у меня нет. :(
25 июл 11, 10:47    [11021398]     Ответить | Цитировать Сообщить модератору
 Re: Организация Супер расширенного поиска  [new]
Dim2000
Member

Откуда: Москва
Сообщений: 5318

23.07.2011 2:14, AIS пишет:

> Заказчик "мечтает", чтобы он мог потом (без Разработчика) получить любой
> отчет, исходя из 40 критериев.

А оно тебе нужно - вбухивать кучу усилий в то, чтобы без тебя смогли
обойтись ;)?

Posted via ActualForum NNTP Server 1.4

25 июл 11, 11:06    [11021525]     Ответить | Цитировать Сообщить модератору
 Re: Организация Супер расширенного поиска  [new]
spas2001
Member

Откуда: Тамбов--->Москва-->Тамбов-->Москва-->Тамбов
Сообщений: 2010
Вы не поняли
В таблицах хранятся русское наименование столбца, имя таблицы из которой он берется - весь sql-ник сохраняется после формирования его динамически или вообще не хранится
25 июл 11, 11:22    [11021626]     Ответить | Цитировать Сообщить модератору
 Re: Организация Супер расширенного поиска  [new]
AIS
Member

Откуда:
Сообщений: 1695
Dim2000
А оно тебе нужно - вбухивать кучу усилий в то, чтобы без тебя смогли
обойтись ;)?

Так везде по началу надо напрягаться, когда познаешь, либо решаешь что-то новое. Зато потом можно это дело применять, где понадобится. Да и фича такая очень многим сегодня интересна, и дает некоторые конкурентные преимущества.

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

Допустим, пользователь выбирает:
- выходные данные (имена таблиц, стобцов, полей) и они пошли в -> select ... from ...
- входные данные в -> where ... order by ...
А взаимосвязи между таблицами (бизнес-логика) как формируються, либо где хранятся и как?
Или весь анализ программно делается на основания первичных и внешних ключей и нигде не хранится, а в результате по алгоритму создается весь sql?
25 июл 11, 11:54    [11021921]     Ответить | Цитировать Сообщить модератору
 Re: Организация Супер расширенного поиска  [new]
Локшин Марк
Member

Откуда: Воронеж
Сообщений: 3154
AIS
P.S. Вот даже больше, чем требуется, но таких продуктов у меня нет. :(

По сути ЭТО требует кучи админов + обучить пользователей до уровня каких-никаких программистов, иначе работать это не будет. Остальное все - рекламное словоблудие.
25 июл 11, 11:55    [11021926]     Ответить | Цитировать Сообщить модератору
 Re: Организация Супер расширенного поиска  [new]
spas2001
Member

Откуда: Тамбов--->Москва-->Тамбов-->Москва-->Тамбов
Сообщений: 2010
Взаимосвязи хранились в отдельной таблице
И еще... Никто не говорил, что сделать это очень просто
25 июл 11, 14:07    [11022976]     Ответить | Цитировать Сообщить модератору
 Re: Организация Супер расширенного поиска  [new]
AIS
Member

Откуда:
Сообщений: 1695
spas2001
Взаимосвязи хранились в отдельной таблице
И еще... Никто не говорил, что сделать это очень просто

Я так и предполагал, что не просто.
Вот смотрю на N-ое количество готовых DWO и думаю, как найти алгоритм, на основании которого их все можно было бы повторно построить, указав вх. и вых. данные для "черного ящика"(алгоритма). Может кто посоветует, что и где почитать?

P.S. А в каком виде хранились, что-то по структуре типа "генеалогического дерева"?
25 июл 11, 16:32    [11023972]     Ответить | Цитировать Сообщить модератору
 Re: Организация Супер расширенного поиска  [new]
spas2001
Member

Откуда: Тамбов--->Москва-->Тамбов-->Москва-->Тамбов
Сообщений: 2010
Я видел реализацию на основе XML-файлов, правда сами пользователи их не создавали, но им быстренько клепали их в специальном отделе
25 июл 11, 23:10    [11025594]     Ответить | Цитировать Сообщить модератору
 Re: Организация Супер расширенного поиска  [new]
Anatoly Moskovsky
Member

Откуда: Odessa
Сообщений: 6610
spas2001
Взаимосвязи хранились в отдельной таблице
И еще... Никто не говорил, что сделать это очень просто

Я говорил, но про другое :)
Имхо, динамическое создание внешнего вида отчета тут не нужно.
См. мое второе сообщение.
26 июл 11, 00:43    [11025869]     Ответить | Цитировать Сообщить модератору
 Re: Организация Супер расширенного поиска  [new]
AIS
Member

Откуда:
Сообщений: 1695
Anatoly Moskovsky
См. мое второе сообщение...->> А список столбцов и внешний вид можно заранее сделать в виде DWO для каждого отчета.

Если речь про это, то это "жесткая привязка". А хотелось бы (и я над этим упорно тружусь :), чтобы пользователь без меня мог вывести то, что хочет.
Согласитесь, что с этим можно любого Заказчика "укатать".

P.S. Маю час, маю натхнення, але мрію більшого для рідней ненької України. (no comment)
26 июл 11, 01:11    [11025897]     Ответить | Цитировать Сообщить модератору
 Re: Организация Супер расширенного поиска  [new]
Anatoly Moskovsky
Member

Откуда: Odessa
Сообщений: 6610
AIS
А хотелось бы (и я над этим упорно тружусь :), чтобы пользователь без меня мог вывести то, что хочет.
Согласитесь, что с этим можно любого Заказчика "укатать".

В нашей внутренней бух/фин программе на моей последней работе мы сделали такой мастер отчетов, как вы хотите, где юзер мог с нуля выбирая из словаря реквизитов набрать колонок, задать по ним разные итоги, набрать фильтр, сортировку, даже в SQL-синтаксисе ввести часть фильтра, сохранить/загрузить эти настройки в файл

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

Хотя наш экономист пользовалась активно этим мастером сама, но это было исключение.

В принципе полезная вещь, но польза от нее преувеличена.
26 июл 11, 02:07    [11025942]     Ответить | Цитировать Сообщить модератору
 Re: Организация Супер расширенного поиска  [new]
AIS
Member

Откуда:
Сообщений: 1695
Anatoly Moskovsky
...В принципе полезная вещь, но польза от нее преувеличена.

О-о, позвольте не согласиться!
Как говорили немцы: "Вы (русские) живете для того, чтобы работать, а мы работаем для того, чтобы жить" (С)
Резюме: мне всё равно кто, как часто и сможет ли вообще, воспользоваться оплаченной "фичей". Заказчик всегда прав.
Неужели у Вас другое мнение?
26 июл 11, 03:00    [11025980]     Ответить | Цитировать Сообщить модератору
 Re: Организация Супер расширенного поиска  [new]
Anatoly Moskovsky
Member

Откуда: Odessa
Сообщений: 6610
AIS
Заказчик всегда прав.
Неужели у Вас другое мнение?

Да. У меня мнение другое: заказчик почти всегда неправ.

100% программ, сделанных на основе постановки задачи заказчиком (без участия разработчика), оказываются бесполезными для этого заказчика.
26 июл 11, 03:13    [11025985]     Ответить | Цитировать Сообщить модератору
 Re: Организация Супер расширенного поиска  [new]
spas2001
Member

Откуда: Тамбов--->Москва-->Тамбов-->Москва-->Тамбов
Сообщений: 2010
То Anatoly Moskovsky
+1
26 июл 11, 12:13    [11027315]     Ответить | Цитировать Сообщить модератору
 Re: Организация Супер расширенного поиска  [new]
AIS
Member

Откуда:
Сообщений: 1695
Anatoly Moskovsky (+1...spas2001),
Anatoly Moskovsky
Да. У меня мнение другое: заказчик почти всегда неправ.

при всём моём уважении к Вам к обоим, вы нарушаете "краеугольное понятие" бизнеса.
Ради чего Вы работаете? (если вы конечно не "альтруисты").
Господа, Вы же не "ПИонеры" и не "КОМсомольтцы"! Клиент сказал, что это будет "белым" и готов платить, а Вы про "черное"...

Тема закрыта, "вектор" мировозрения понятен, мы по разные стороны "барикады", извините.
27 июл 11, 22:09    [11036685]     Ответить | Цитировать Сообщить модератору
 Re: Организация Супер расширенного поиска  [new]
spas2001
Member

Откуда: Тамбов--->Москва-->Тамбов-->Москва-->Тамбов
Сообщений: 2010
Конечно, местами мы альтруисты:)
Просто заказчик понятия может не иметь о том что вы можете сделать, так что довести до него альтернативные варианты - хороший тон. Конечно, если вы сами разрабатываете и вам не все-равно, что выйдет в качестве конечного результата
28 июл 11, 13:06    [11039217]     Ответить | Цитировать Сообщить модератору
 Re: Организация Супер расширенного поиска  [new]
spas2001
Member

Откуда: Тамбов--->Москва-->Тамбов-->Москва-->Тамбов
Сообщений: 2010
Да, было время, когда у нас людей переводили на пару недель в помощь операторам, чтобы прочуяли как все это работает на себе
28 июл 11, 13:08    [11039228]     Ответить | Цитировать Сообщить модератору
Все форумы / PowerBuilder Ответить