Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Фильтр по проперти с возможностью дрилдаун
|
|||
|---|---|---|---|
|
#18+
Есть 3-х-уровневый дименшн [TrafObject], у последнего уровня есть проперти "Trobj Type", на котором построен виртуальный дименшн [Traf_Type]. Этот запрос фильтрует по значению проперти и показывает только те члены дименшина, у которого значение проперти ="Пучки" , но при этом и показывается в результирующем сете 3-й уровень. select {[Measures].[Out Seans],[Measures].[Out Talks] } on columns, Filter(Descendants( [TrafObject].[AneniiNoi],2,self ) ,[TrafObject].currentmember.Properties("Trobj Type")="Пучки" ) on rows from Traf where ([DateTime].[All DateTime].[2005].[February].[28],[Traf_Type].[Пучки]) Вопрос, как сохранить фильтр, но показать не 3-й, а 2-й уровень иерархии с возможностью потом со 2-го, раскрыть 3-й, в котором все красиво отфильтровано по проперти ??? DrillupLevel - не работает почему-то.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2005, 18:06 |
|
||
|
Фильтр по проперти с возможностью дрилдаун
|
|||
|---|---|---|---|
|
#18+
Что вы вкладываете в понятие "сохранить фильтр"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2005, 22:53 |
|
||
|
Фильтр по проперти с возможностью дрилдаун
|
|||
|---|---|---|---|
|
#18+
Этот запрос используется с пивот-тэйбл контролом, который имеет возможность раскрывать (expand) члены более высокого уровня. И хотелось бы получить для него набор записей начиная со второго уровня иерархии, и при этом, чтоб при раскрытии 2-го уровня на 3-й, на 3-м присутствовали только члены, удовлетворяющие условию фильтра. Фильтр и проперти накладываются на 3-й уровень, а показывать хочется начиная со второго. Возможно ли и как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2005, 09:01 |
|
||
|
Фильтр по проперти с возможностью дрилдаун
|
|||
|---|---|---|---|
|
#18+
по-моему Filter(...,Properties("Trobj Type")="Пучки") - это совершенно лишнее достаточно where ([Traf_Type].[Пучки]) попробуйте такой запрос: Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2005, 11:44 |
|
||
|
Фильтр по проперти с возможностью дрилдаун
|
|||
|---|---|---|---|
|
#18+
Не, это все равно что просто слайсинг, здесь даже Hierarchize не нужен, если указать нужный уровень сразу. Слайсинг приводить к тому что показывает данные только для "Пучков" к примеру, но при этом в rows показываются ВСЕ объекты [TrafObject], а мне нужны только те, у которых проперти = "Пучки". Так что фильтр нужен по-любому. Проблема решается вот таким запросом: select {[Measures].[Out Seans],[Measures].[Out Talks] } on columns, Hierarchize({ [TrafObject].[Ats Name].Members, Filter(Descendants( [TrafObject].[AneniiNoi],2,self ) ,[TrafObject].currentmember.Properties("Trobj Type")="Пучки" ) }) on rows from Traf where ([DateTime].[All DateTime].[2005].[February].[28]) Тут даже слайсинг по [TrafType] не нужен благодаря фильтру. Но тут другая тонкость. Фильтр накладывается только на третий уровень, проперти на 3-м. Соответственно применение фильтра возвращает тоже только 3-й уровень и Hierarchize на нем ничего не даст. Приходится добавлять к сету элементы второго уровня [TrafObject].[Ats Name].Members - и тогда Hierarchize отрабатывает красиво. Но остается проблема, когда останется элемент 2-го уровня, все элементы 3-го для которого отфильтрованы...(( Вот мне и интересно, можно ли сделать как-то красиво, сложить иерархию снизу вверх, а не так как я ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2005, 12:45 |
|
||
|
Фильтр по проперти с возможностью дрилдаун
|
|||
|---|---|---|---|
|
#18+
Использование Filter всегда тормознее чем NonEmptyCrossJoin, а использование MemberProperty всегда тормознее чем VirtualDimension. Я вы копал в сторону использования NonEmptyCrossJoin в этом случае ваше выражение выглядело бы сл. образом. Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2005, 12:51 |
|
||
|
Фильтр по проперти с возможностью дрилдаун
|
|||
|---|---|---|---|
|
#18+
Да, это было бы круто.. Но к сожалению, мне нужно отслеживать и пустые объекты. Задача состоит в том, чтоб отслеживать данные по всем "пучкам" или "направлениям", поэтому пустые показывать принципиально. Насчет тормознутости пропертиз - в самом деле заметно. Поэтому, прихожу к выводу, что завязывать надо с фильтрами по проперти. Вместо этого, вывести эти "пучки" и "направления" как еще один уровень иерархии в [TrafObject] и избавиться от всем проблем разом. Правда, иметь виртуальный дименшн [TrafType] и меньше уровней в [TrafObject] было бы удобней, красивей и наверно грамотней, но я пока не вижу приемлимой альтернативы в эффективности и визуализации..( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2005, 14:26 |
|
||
|
Фильтр по проперти с возможностью дрилдаун
|
|||
|---|---|---|---|
|
#18+
Задача состоит в том, чтоб отслеживать данные по всем "пучкам" или "направлениям", поэтому пустые показывать принципиально. До боли знакомая ситуация :-) Вы каким клиентом ходите? Я 100% такую точно задачу решил для себя с помощью доп куба, в котором собраны воедино зависимые измерения. Например. Клиент, Группа Клиентов, Отрасль, Населенный Пункт, Почтовый Индекс. А затем я натравливаю NECJ (NonEmptyCrossJoin) не на основной куб в котором транзакции а на дополнительный, в котором не движения а реляции между измерениями. (в NECJ можно указать меру, тогда NECJ отправится к тому физическому кубу, чья мера указана в выражении) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2005, 15:03 |
|
||
|
Фильтр по проперти с возможностью дрилдаун
|
|||
|---|---|---|---|
|
#18+
Ух ты, круто! А это мысль...Фактически, следующий шаг по пути объединения "Пучков" с [TrafObject], если я правильно ловлю идею. И раз уж для вас это пройденный этап, можно поподробней, что значит " собраны воедино зависимые измерения" ? Как этот кубик вспомогательный организован, если в нем "не движения а реляции между измерениями", это как??? Я пытаюсь клиентское приложение в 7-й студии состряпать, естественно минимальной кровью, поэтому пытаюсь пока использовать owc11.AxPivotTable, адаптировав под свои нужды. MSAS 8-й, EnterpriseEdition. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2005, 15:27 |
|
||
|
Фильтр по проперти с возможностью дрилдаун
|
|||
|---|---|---|---|
|
#18+
meИ раз уж для вас это пройденный этап, можно поподробней, что значит " собраны воедино зависимые измерения" ? Как этот кубик вспомогательный организован, если в нем "не движения а реляции между измерениями", это как??? Подскажу направление движения. Сделайте кубик в котором таблицей фактов является таблица основного измерения (в моем примере - "клиент"). В этом кубе создайте одну единственную меру с аггрегацией count (можно на любом поле таблицы). введите в этот куб измерение клиент и все зависимые от него виртуальные измерения. Получившийся куб соедините с основным в виртуальном кубе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2005, 23:09 |
|
||
|
Фильтр по проперти с возможностью дрилдаун
|
|||
|---|---|---|---|
|
#18+
Решение которое дал backfire - это очень правильное направление. В Yukon зачастую даже не надо создавать вспомогательную measure group, а можно работать напрямую с dimension table при помощи функции Exists. Плюс reference dimensions тоже могут сильно помочь в таких задачах. Моша ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2005, 23:32 |
|
||
|
Фильтр по проперти с возможностью дрилдаун
|
|||
|---|---|---|---|
|
#18+
MoshaРешение которое дал backfire - это очень правильное направление. В Yukon зачастую даже не надо создавать вспомогательную measure group, а можно работать напрямую с dimension table при помощи функции Exists. Плюс reference dimensions тоже могут сильно помочь в таких задачах. Моша ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights Вот именно что "зачастую". Я сейчас точно не скажу, ибо Юкона под рукой нет, но я так и не смог полностью отказаться от дополнительной Measure Group и дополнительных "телодвижений" при построении запроса, для того чтобы в Юконе полность заменить наработанный мной в AS2K функционал для "зависимых" измерений (в Юконе они становятся Attribute hierarchy). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2005, 23:57 |
|
||
|
Фильтр по проперти с возможностью дрилдаун
|
|||
|---|---|---|---|
|
#18+
Ок, сенкс.. Попробую, оригинальное решение конечно, мне бы в голову не пришло, наверно... Интересно, сами дошли или есть литература какая с такими вот типа патернами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2005, 10:19 |
|
||
|
Фильтр по проперти с возможностью дрилдаун
|
|||
|---|---|---|---|
|
#18+
meОк, сенкс.. Попробую, оригинальное решение конечно, мне бы в голову не пришло, наверно... Интересно, сами дошли или есть литература какая с такими вот типа патернами? Дошел до этого сам, еще в далеком 2000 году. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2005, 10:59 |
|
||
|
Фильтр по проперти с возможностью дрилдаун
|
|||
|---|---|---|---|
|
#18+
Да, все круто! Работает, как надо! Здорово! Сенкс..) Прикольное решение! Подытожу. Значит, когда встает вопрос об усложнении иерархии дименшина (выводе всяких пропертиз на уровень иерархии), для повышения эффективности (отказов от фильтров или визуализации, типа показов и пустых значений, как было у меня ). Это усложнение можно обойти, построив вспомогательный куб, нацеленный на этот самый дименш. Включить в него сам дименшн и все зависимые виртуальные и объединить с фактическим кубом в виртуальный. А дальше, NECJ - дает искомый результат. Круто. Я все правильно, излагаю?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2005, 12:01 |
|
||
|
Фильтр по проперти с возможностью дрилдаун
|
|||
|---|---|---|---|
|
#18+
Кстати, можно было бы организовать что-нибудь вроде сборника таких вот решений или патернов. Форум это конечно тоже вариант, но вряд ли кому нравится повторяться, да и искать по всем темам тоже не мед. А такие вот наработки - это ж круто! и было б здорово и намного эффективней иметь определенный набор чего-нибудь типа тематических FAQ-ов что ли. Ну это так, лирическре отступление. А вообще, просто огромное человеческое СПАСИБО. Очень понравилось, и вызвало море всяких эмоций. Элегантно, красиво, здорово...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2005, 12:11 |
|
||
|
Фильтр по проперти с возможностью дрилдаун
|
|||
|---|---|---|---|
|
#18+
А дальше, NECJ - дает искомый результат. Круто. Я все правильно, излагаю?! Угу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2005, 12:36 |
|
||
|
|

start [/forum/topic.php?fid=49&gotonew=1&tid=1871713]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
56ms |
get topic data: |
8ms |
get first new msg: |
4ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 223ms |
| total: | 389ms |

| 0 / 0 |
