Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Л-6_13.doc
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
203.78 Кб
Скачать

Метод сквозной детализации для разработчиков

После включения сквозной детализации и настроек безопасности сквозную детализацию уже можно применять в приложениях. Чтобы продемонстрировать шаги, необходимые для выполнения сквозной детализации, я использовал ее возможности на странице Active Server Pages (ASP), ASPADOComplex.asp, которая поставляется вместе с Analysis Services.

В приложениях, построенных на Web, наиболее естественный путь обеспечения поддержки сквозной детализации в интерфейсе пользователя - поместить гиперссылку в ячейку и предложить пользователю щелкнуть на ней для отображения детальных данных Для создания гиперссылки требуется модифицировать следующее предложение или поменять код на странице ASPADOComplex.asp, который выводит значение ячейки.

 

Response.Write "<a href= Drillthrough.asp?colName=" & _

colName(k) & "&rowName=" & rowName(j) & _

"&cube=Enrollment&Where=" &

Server.URLEncode(strWhere) & ">" _

& cst(k, j).FormattedValue & "</a>"

 

Следует заметить, что гиперссылка вызывает страницу Drillthrough.asp и передает этой странице через строку запросов текущую колонку, строку имен данных, куб и одно из условий WHERE, которое предложение MDX применяет для формирования набора ячеек. Программа на странице ASPADOComplex.asp сохраняет имена строки и столбца по мере заполнения массива и когда создается строка таблицы и заголовок столбца на ASP-странице. Далее программа выделяет оператор WHERE из сообщения MDX, затем посылает значения странице Drillthrough.asp, которая показана в Листинге 1.

 

intPos = Instr(Session("MDXQuery"),"WHERE")

If IntPos > 0 Then strWhere = Mid(Session("MDXQuery"),intPos)

 

Drillthrough.asp создает MDX-предложение, которое содержит ключевое слово, чтобы дать серверу OLAP команду создать и выполнить запрос о возврате данных. Можно поставить ключевое слово Drillthrough в начале MDX-сообщения, которое может содержать параметры MAXROWS и FIRSTROWSET, чтобы ограничить число строк, выданных пользователю, и определить разделы, данные из которых будут выданы в первую очередь, в том случае, если куб содержит множество разделов. OLAP-сервер обращается к параметру MAXROWS после применения команды фильтрации данных из куба или раздела. Надо отметить, что в метке A Листинга 1 число строк на странице не может превышать 5000. Чтобы создать оператор MDX, страница присоединяет к переменной strSource параметры, переданные в строке запросов (название столбца, название строки, куб и оператор WHERE), и получает доступ к данным через объект ASP Request. К примеру, если щелкнуть на столбце Days на пересечении со строкой Cincinnati, код страницы составляет следующий оператор МDX:

 

Drillthrough MAXROWS 5000

SELECT {[Measures].[Days]} ON COLUMNS,

{[Location].[All Location].[N].[Cincinnati]}

ON ROWS

FROM Enrollment

 

Чтобы выполнить команду MDX, надо запустить метод Execute объекта Connection. В приведенном примере устанавливается свойство Active Connection объекта ADOMD.Catalog для сервера и название каталога, который использовался в сеансе пользователя до того как вызывался метод Execute. В Web-приложениях значение, возвращаемое методом Execute – это набор данных АDO, а не набор ячеек как в ADO MD. Применение сквозной детализации в Web-приложениях приводит к возврату многочисленных наборов записей. Поэтому можно написать код, который циклически будет находить результаты и форматировать их в HTML-таблицу. 

Набор данных объектного метода Next Recordset t возвращает наборы записей, созданные для дополнительных секций или возвращает Nothing , если нет набора данных. Если есть уверенность, что наборы данных в разных секциях содержат одинаковые столбцы, можно объединить результаты, используя код ASP. Однако команда Print Table только поместит на странице дополнительную HTML-таблицу, возвращаемую пользователю. 

Реализация действий (Actions)

Действия - это второе свойство Analysis Services, которое может использоваться разработчиками. Как и сквозная детализация, действия соединяют данные куба с дополнительными данными. В отличие от сквозной детализации, действия крайне гибкие, и Analysis Services не ограничивает их функции одним только связыванием ячейки с реляционными данными, из которых она была вычислена. Как следует из названия, действия дают пользователям возможность действовать в их аналитической деятельности, предоставляя им возможности для работы с данными в кубе, размерностью, уровнем, элементом или уровнем ячеек. В основном, действия дают пользователям возможность активизировать процесс решения задачи, или получать доступ к большему количеству информации о данных в кубе. К примеру, пользователям для анализа продаж и маркетинга нужно получить доступ к кубу Enrollment. При просмотре данных куба через ASP-приложение можно было бы сделать щелчок на гиперссылке, чтобы просмотреть расписание отдельного курса. Такое расписание поможет при работе с содержанием курса. Можно реализовать этот пример, создав действие URL на уровне куба, для получения большей информации о курсе. Как и сквозная детализация, выполнение действий - это пошаговый процесс. Сначала администратору нужно создать операцию, затем разработчик должен модифицировать приложение, чтобы оно могло реализовать действие. 

Для создания действий используется Cube Editor. Правый щелчок на папке Cube Editor’s Actions запускает Action Wizard. Этот мастер предлагает выполнить несколько шагов - на первом идет идентификация адресата действия (куб, взятый в целом, отдельный уровень, размерность, отдельные ячейки или именованные наборы данных).

 Если выбрана размерность или отдельный уровень, также требуется идентифицировать размерность или уровень и указать, доступно ли действие, когда пользователь щелкнет на заголовке, конкретной размерности или уровню. Например, куб с именем Quilogy Education содержит именованную размерность Course, которая содержит уровни Vendor Name, Product Name и CourseNum. CourseNum идентифицирует курс, предлагаемый Quilogy. Например, курс Microsoft Official Curriculum (MOC) имеет номер 2072. После выбора уровня мастер показывает выпадающий список типов операций, из которого нужно выбрать соответствующий пункт, в данном случае - создать действие URL.  

Следующий экран мастера позволит задать синтаксис действия для возврата в приложение пользователя, он же впоследствии будет использоваться для запуска действия. В этом примере следует отформатировать синтаксис действия под формат URL. На экране мастера есть кнопка запуска MDX Builder. Таким образом, разработчик может включать данные из куба в синтаксис действия. Так как действие доступно в тот момент, когда пользователь щелкает на выбранном номере курса, результирующий URL должен включать номер курса, чтобы создать ссылку на расписание. Таким образом, разработчику следует выбрать размерность и применить функцию Current Member и свойство Name, чтобы было выдано название курса, номер которого был выбран.

Разработка экспертных систем

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

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

Современные экспертные системы широко используются для тиражирования опытам знаний ведущих специалистов практически во всех сферах экономики. Традиционно знания существуют в двух видах - коллективный опыт и личный опыт.

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

Если в предметной области большая часть знаний является личным опытом специалистов высокого уровня (экспертов), если эти знания по каким-либо причинам слабо структурированы, такая предметная область скорее всего нуждается в экспертной системе.

Обобщенная структура экспертной системы представлена на рис. Следует учесть, что реальные экспертные системы могут иметь более сложную структуру, однако блоки, изображенные на рисунке, непременно присутствуют в любой действительно экспертной системе, поскольку являют собой негласный канон на структуру современной экспертной системы.

Определим основные термины в рамках данного учебника.

 

Пользователь - специалист предметной области, для которого предназначена система, Обычно его квалификация недостаточно высока, и поэтому он нуждается в помощи и поддержке своей деятельности со стороны ЭС.

Инженер по знаниям - специалист по искусственному интеллекту, выступающий в роли промежуточного буфера между экспертом и базой знаний. Синонимы: когнитолог, инженер-интерпретатор, аналитик.

Интерфейс пользователя - комплекс программ, реализующих диалог пользователя с ЭС как на стадии ввода информации, так и получения результатов.

База знаний (БЗ) - ядро ЭС, совокупность знаний предметной области, записанная на машинный носитель в форме, понятной эксперту и пользователю (обычно на некотором языке, приближенном к естественному). Параллельно такому "человеческому" представлению существует БЗ во внутреннем "машинном" представлении-

Решатель - программа, моделирующая ход рассуждении эксперта на основании знаний, имеющихся в БЗ. Синонимы: дедуктивная машина, блок логического вывода.

Подсистема объяснений - программа, позволяющая пользователю получить ответы на вопросы; "Как была получена та или иная рекомендация?" и "Почему система приняла такое решение?" Ответ на вопрос "как" - это трассировка всего процесса получения решения с указанием использованных фрагментов БЗ, т.е. всех шагов цепи умозаключений. Ответ на вопрос "почему"- ссылка на умозаключение, непосредственно предшествовавшее полученному решению, т.е. отход на один шаг назад.

Интеллектуальный редактор БЗ - программа, представляющая инженеру по знаниям возможность создавать БЗ в диалоговом режиме- Включает в себя систему вложенных меню, шаблонов языка представления знаний, подсказок ("help" - режим) и других сервисных средств, облегчающих работу с базой.

В коллектив разработчиков ЭС входят как минимум четыре человека:

  • эксперт;

  • инженер по знаниям;

  • программист;

  • пользователь.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]