powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Как реализовать ограничение показателя через отношение между измерениями?
18 сообщений из 18, страница 1 из 1
Как реализовать ограничение показателя через отношение между измерениями?
    #32252561
Arti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте. Помогите решить одну проблему.

В базе на Oracle Express cуществует три измерения - ФИО, пол, образование.
Одному ФИО соответствует один пол и одно образование.
Пример:

Иванов M МГУ
Петрова F МГТУ
Степанов M МАИ
Михайлов M МГУ

Соответственно, есть два отношения - ФИО_пол и ФИО_образование.
Еще есть одна формальная переменная VAL, индексированная измерением ФИО, которая принимает одно значение на всех значениях измерения - 1.

Необходимо ограничить измерение ФИО через ограничение измерений пол и образование. Для этого придумали отношения ФИО_пол и ФИО_образование.
С помощью Express Language просто сделать, можно, например, так:

report VAL

Иванов 1
Петрова 1
Степанов 1
Михайлов 1



limit ПОЛ to 'M'
limit ФИО to ФИО_пол

потом, если сделаем

report VAL

Иванов 1
Степанов 1
Михайлов 1

Вопрос: можно ли такой механизм ограничений с помощью отношений реализовать с помощью selector'а в Oracle Express Analyzer'е ?

Там есть выбор по атрибуту, то ли это, что мне нужно?
В селекторе есть выбор из списка конкретных значений, но нет выбора значений, содержащих какую-то комбинацию букв, например, 'экон'.
...
Рейтинг: 0 / 0
Как реализовать ограничение показателя через отношение между измерениями?
    #32252766
Arti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извините, может никто не понял, что я хочу. Ну объясню по-другому.
Есть реляционная база данных. В ней каждому сотруднику сопоставляют пол, возраст, регион работы, образование, специальность и т.п.

Каким образом построить структуру многомерной базы данных, чтобы была такая функциональность: ограничивая пол, образование, возраст, другие характеристики, получить список лиц, удовлетворяющих данным критериям поиска? Необходимо реализовать возможность не только выбора значения из списка, но и выбирать значения, в которых содержится определенный набор букв, например, "экон" в образовании.
Инструмент, который мне настойчиво рекомендуюет использовать начальство - это Oracle Express и, соответственно, клиентские приложения для него.

Артур.
...
Рейтинг: 0 / 0
Как реализовать ограничение показателя через отношение между измерениями?
    #32252811
Jurii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arti,

Все прекрасно поняли, что Вам нужно. Просто на форуме не так много знатоков по Oracle Express Analyzer.
Я слышал, что когда внедряют Oracle Express - обычно и клиентскую, и серверную часть пишут каждый раз с нуля, под конкретные задачи (этот подход очень трудоемок, но зато универсален). Насчет того, позволяет ли Analyzer делать выборки по подстроке - не знаю.
Могу лишь посоветовать поиграться с OLAP-клиентом Cognos PowerPlay User (в нем можно делать отбор по подстроке). Вполне возможно, что через некоторое время Ваше руководство убедится, что и сами кубы удобнее создавать с помощью OLAP-сервера PowerPlay.
...
Рейтинг: 0 / 0
Как реализовать ограничение показателя через отношение между измерениями?
    #32252835
DimaR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Там есть выбор по атрибуту, то ли это, что мне нужно?
Да,
ты описал 2 аттрибута пол, образование

Если ты сделал все правильно, то Express Analyzer должен все это понять.
...
Рейтинг: 0 / 0
Как реализовать ограничение показателя через отношение между измерениями?
    #32252888
Arti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дима, привет, спасибо, что ответил.
Да, там действительно, можно ограничивать ФИО, ограничивая пол, допустим.
Но там можно лишь выбирать отдельные значения или группу значений, выделенную курсором, а мне нужно выбрать все значения, которые содержат "экон". Не знаешь, как это сделать?
...
Рейтинг: 0 / 0
Как реализовать ограничение показателя через отношение между измерениями?
    #32252957
DimaR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я с Express Analyzer, не работал, но он обеспечивает, довольно простую функциональность, если тебе надо, что то больше, бери Express Objects
(правда с ним я тоже не работал:-)
...
Рейтинг: 0 / 0
Как реализовать ограничение показателя через отношение между измерениями?
    #32252990
Jurii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В такой ситуации видимо остается посмотреть ознакомительные версии разных OLAP-клиентов для кубов Oracle Express. Насколько я знаю, Analyzer и Express Objects можно скачать из интернета, Cognos PowerPlay можно заказать через сайт http://cognos.narod.ru
Ваша задача кажется настолько несложной, что ее можно и с помощью автофильтра Excel решать :)
...
Рейтинг: 0 / 0
Как реализовать ограничение показателя через отношение между измерениями?
    #32253020
DimaR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ваша задача кажется настолько несложной, что ее можно и с помощью автофильтра Excel решать :)

Да, особенно если учесть что Excel не сможет например высветить более 64000 строк, или еще при закачке большого количества данных в консолидированую таблицу просто слетает.

А вообще уже много говорилось о вожможностях OLAP серверов,
и если у Express сервера очень бедный клиентский функционал,т.е. надо писать самому, то серверная часть являеться непревзойденной.

(все IMHO, сравнения с остальными только по чтению этого форума.)
...
Рейтинг: 0 / 0
Как реализовать ограничение показателя через отношение между измерениями?
    #32253055
Jurii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насчет Excel это была шутка, хотя в каждой шутке есть доля правды (для небольших объемов данных Excel не так плох).

Arti, не расскажете, сколько примерно людей в Вашей базе данных, хотя бы - какой порядок (менее 100, 1000, десятки тысяч, миллионы)?

если у Express сервера очень бедный клиентский функционал,т.е. надо писать самому, то серверная часть являеться непревзойденной.

Не будем развивать эту тему, просто напомню тот вывод, который был сделан при обсуждении OLAP-серверов Cognos PowerPlay и MS AS:
"В руках неопытного пользователя даже хороший сервер будет работать плохо".
...
Рейтинг: 0 / 0
Как реализовать ограничение показателя через отношение между измерениями?
    #32253108
Arti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Юрий, порядок - тысячи людей.
Но вот какая проблема: если, допутим, есть два измерения, ФИО и образование. Первое - 5 тыс человек, второе - 1 тысяча, уже на пересечении появляется 5 млн. Даже если мы ограничим образование тем, чем хотели, значениями, в которых содержится "экон", все равно получится около около 50 значений измерения. То есть получается 5000x50=250000, а в экспрессе установлено ограничение 200000 на количество ячеек показателя (variable), которое показывается. Даже если я установил флажок "не показывать нулевые и неизвестные строки", все равно не удается отобразить то, что мне нужно. Возможно, как-то надо настроить, сделать измерение "sparse" и др. То есть уже это нельзя отобразить в таблице в Express Analyzer.
Второе, что мне предложили здесь и что я пытался реализовать - это сделать отношение ФИО-образование и каждому человеку сопоставить образование. Но вот в чем проблема! В селекторе, в режиме выборки "атрибут" нет контекстного поиска, есть только ручной выбор из общего списка.
Я уверен, что только лишь мой маленький опыт не позволяет мне справится с этой проблемой, а средство мощное (ведь Oracle).
Артур.
...
Рейтинг: 0 / 0
Как реализовать ограничение показателя через отношение между измерениями?
    #32253160
DimaR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Arti

В твоем случае образование , есть атрибут.
Ты все делаеш правильно.
Просто в Analyzer скудные средства.
...
Рейтинг: 0 / 0
Как реализовать ограничение показателя через отношение между измерениями?
    #32253265
Jurii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть ли на форуме эксперты по Oracle Express, которые так же хорошо знают этот продукт, как например я - Cognos PowerPlay, а Владимир Иванов или г-н Любимов - MS Analysis Services? Вопрос то у Arti вроде несложный...

Первое - 5 тыс человек, второе - 1 тысяча, уже на пересечении появляется 5 млн. Даже если мы ограничим образование тем, чем хотели, значениями, в которых содержится "экон", все равно получится около около 50 значений измерения. То есть получается 5000x50=250000, а в экспрессе установлено ограничение 200000 на количество ячеек показателя (variable)

Express и клиентские приложения от компании Oracle - это довольно старые продукты, много лет не развиваются. Если взять очень старую версию Excel, то там было не 65000 строк, а 16000. Поэтому рекомендую воспользоваться более мощным клиентом для кубов Express (например Cognos PowerPlay не имеет ограничения на кол-во ячеек показателя, я делал в нем отчеты с миллиардом (!) ячеек - миллион строк на тысячу столбцов).

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

Когда у Вас станет побольше опыта, Вы поймете, что сильно заблуждались. Oracle - это просто раскрученная торговая марка, благодаря крутизне и мощности своей РЕЛЯЦИОННОЙ СУБД. OLAP-сервер Oracle Express по мощности серьезно отстал от конкурентов (таких как Cognos и Microsoft). Хотя все относительно: если взять 486 компьютер, он мощный по сравнению с 286 (но очень слабый по сравнению с Pentium-4 :)

Справедливости ради отмечу, что сильные стороны Oracle Express не в его мощности, а в возможности написать на нем многомерные аналитические модели со сложной внутренней логикой. И лично мне хотелось бы услышать примеры СЛОЖНЫХ задач, решенных на Oracle Express чтобы подумать, насколько легко или тяжело их решить с помощью Cognos PowerPlay.
...
Рейтинг: 0 / 0
Как реализовать ограничение показателя через отношение между измерениями?
    #32255675
Илья Салов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По задаче с Фамилией, полом и образованием:
Если это измерения, то что мешает в селекторе Express Analyser просто выбирать пол = 'M', образование = 'экон.'?
Или я не совсем правильно понял задачу?
Можно создать иерархии:
пол:
человек
M
F
образование:
высшее
экон.
...
Фамилия:
все сотрудники
Иванов
Петрова
...
Затем сделать AGGREGATE по иерархиям. И можно будет выбирать все, что нужно.

-=-
Удачи,
Илья

P.S. у самого с этим продуктом много вопросов, но варианты использования приложений других фирм руководство не приветствует.
...
Рейтинг: 0 / 0
Как реализовать ограничение показателя через отношение между измерениями?
    #32255723
Jurii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Илья,

По задаче с Фамилией, полом и образованием:
Если это измерения, то что мешает в селекторе Express Analyser просто выбирать пол = 'M', образование = 'экон.'?
Или я не совсем правильно понял задачу?


Вы не совсем правильно поняли задачу. Приведу более понятный пример. Есть клиенты:
Лукойл
Яртелеком
Голдентелеком
Газпром
Уралтелеком
Славнефть

Из них нужно отобрать телекомовские компании. И логично, что эти компании часто содержат в своем названии подстроку "телеком". Вот по подстроке и надо делать отбор. Более сложный случай, когда нужно выбрать нефтяные компании, и там условие - КЛИЕНТ содержит (contains) "ойл" ИЛИ (OR) "нефть". В OLAP-клиенте Cognos PowerPlay такие выборки делаются с помощью функциональности отбора подмножеств (Subset definition, Advanced Subset). Вопрос в том, есть ли аналогичная функциональность в клиентских приложениях Oracle?

P.S. у самого с этим продуктом много вопросов, но варианты использования приложений других фирм руководство не приветствует.

Если Ваше руководство не хочет портить добрые отношения с поставщиками продуктов Oracle - то тогда ничего не поделаешь, и придется использовать не самые удобные продукты. Однако бывают случаи, что руководители просто не слышали об альтернативных аналитических продуктах, не следят за обзорами экспертов (например http://mediaproducts.gartner.com/reprints/cognos/116968.html )...
...
Рейтинг: 0 / 0
Как реализовать ограничение показателя через отношение между измерениями?
    #32255791
Илья Салов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Jurii:

Реально сделать такую выборку по подстроке 'телеком'.
примерно это будет выглядеть так:

limit clients to findchars(clients, 'телеком') gt 0

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

Уверен, что в Express Objects это делается, возможно еще проще.

-=-
С уважением,
Илья Салов
...
Рейтинг: 0 / 0
Как реализовать ограничение показателя через отношение между измерениями?
    #32261394
Arti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Юрий, здравствуйте.
Несмотря на то, что вы по ходу занимаетесь рекламой своего продукта, вы помогаете и обычным пользователям других программ. Спасибо Вам за это.

Илья, понимаешь, у меня следующая структура: несколько измерений и один показатель, но показатель базируется не на всех этих измерениях, а только лишь на одном - ФИО. Другие измерения ( образование и пол) лишь влияют на измерение ФИО через отношения. Ну так вот, вопрос был в том, что нельзя средствами селектора ограничить измерение "образование", используя шаблон.
Можно выбрать несколько видов образования из списка, но нельзя так сделать, чтобы ограничивать с помощью контекстного поиска. То есть если бы это было обычным измерением показателя, то можно было бы ограничить как хочешь, но при такой конструкции - нет. Я даже написал так называемый iTAR на сайте metalink.oracle.com.


Hello.
I've met this problem while working with Oracle Express Analyzer 6.3
There are 2 text dimensions - NAME and EDU. Also there is VAL variable indexed
by NAME dimension. There is also relation NAME_EDU.
NAME NAME_EDU
A economics
B applied math
C mathematics
D math
I want to limit NAME dimension by limiting EDU dimension through NAME_EDU
relation. I use Oracle Analyzer. Can I do it with means of common selector?
There is a possibility to select by attribute, but it is possible only select
attributes from list, and I want to make context search. For example, I want to
limit NAME dimension by EDU dimension. I want the 'math' pattern to exist in
EDU values which limit NAME values by means of NAME_EDU relation.
How can I do it in my Express Analyzer?
Arthur.
P.S. The client platform is Windows 2000

Ответ специалиста был следующим:

Dear Customer,

thank you for contacting Support Services. Unfortunately the Common Selector is not flexible enough to handle such selections. While you can search for Dimension values with the MATCH functionality, further dynamic limitation is not possible.

My best recommednation is to use Express Objects instead as you need to do custom programming to obtain the results you want. Sorry for that. As we in support are not doing custom programming, i also recommend to contact ORACLE Consulting if you are in need of help for doing programming.


Вот. И самое интересное, что в web-версии аналога Oracle Analyzer'а функциональность другая и там реализовано то, что мне нужно. Но там другое... Например, не могу вывести измерение, которое содержит более 1000 элементов. В Express Analyzere я просто изменял параметр и все, а тут я не могу настроить. Совсем другой интерфейс.
...
Рейтинг: 0 / 0
Как реализовать ограничение показателя через отношение между измерениями?
    #32261431
Илья Салов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Arti:

А что мешает действительно воспользоваться средствами Oracle Express Objects? Тем более, что его рекомендуют спецы.

Спасибо, за приведенный текст. Было полезно.

-=-
Илья
...
Рейтинг: 0 / 0
Как реализовать ограничение показателя через отношение между измерениями?
    #32261471
Георгий Т.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет, Артур.

1.
Похоже, действительно следует всерьёз задуматься об использовании Oracle Express Objects. Это существенно хлопотнее, но и возможностей больше.

Даже если удастся благополучно решить вашу текущую проблему при помощи Analyzer (чего я вам желаю!), наверняка у заказчика/пользователей появятся иные, более сложные функциональные требования к Системе в процессе эксплуатации.

Но это, конечно, только вам решать.

2.
Дабы избежать случайной путаницы, лучше не использовать имя NAME в своих программах (примерах). "NAME is a special Express dimension..." (с) - это из Help-а

---

Главное - с архитектурой базы всё хорошо :), и нужные limit-ы подобраны.
Желаю удачи
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Как реализовать ограничение показателя через отношение между измерениями?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]