Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
подробности работы Leaves (yukon)
|
|||
|---|---|---|---|
|
#18+
вот какой красивый код предложил Моша к одному из моих вопросов: Код: plaintext 1. 2. несколько проблем я описал в том же посте http://www.sql.ru/forum/actualthread.aspx?tid=210739 , но сейчас хочется спросить знатоков функции Leaves. как известно этот код заменяет примерно такой Код: plaintext 1. 2. 3. но вот проблема в IsLeaf аргумет - это hierarchy, а в Leaves - dimension у нас есть dimension [Товар], а там 2 hierarchy [Признак 1].[Признак 2] и [Признак 2].[Признак 1] или dimension [Подразделения] а там 2 hierarchy [Юридическое лицо].[Филиал].[Департамент], и [Юридическое лицо].[Филиал] так вот если написать Leaves(Товар) или Leaves(Подразделения) - что будет листьями в этих случаях? возможно я пропустил что-то в документации по этому поводу...? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2005, 17:26 |
|
||
|
подробности работы Leaves (yukon)
|
|||
|---|---|---|---|
|
#18+
Leaves - это функция которая работает с dimension или с measure group. Главное ее применение внутри SCOPE statement. Ну а если нужны листья иерархии, то можно сказать DESCENDANDS(hierarchy,,LEAVES) Моша ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2005, 21:54 |
|
||
|
подробности работы Leaves (yukon)
|
|||
|---|---|---|---|
|
#18+
MoshaLeaves - это функция которая работает с dimension или с measure group. Главное ее применение внутри SCOPE statement. Ну а если нужны листья иерархии, то можно сказать DESCENDANDS(hierarchy,,LEAVES) Моша ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights спасибо, понятно. мы так и пишем примерно. просто мне показалось что есть возможность решить одну нашу проблему которую мы "отложили". на форуме я не видел чего-то похожего есть dimension [Товар], а там 2 иерархии [Группировка1].[Наименование] и [Группировка2].[Наименование] как обычно CM Sum в As2000 выглядит примерно так IIF isleaf([Группировка1]) Qty*price, Sum(Группировка1].children) так вот когда пользователь хочет посмотреть в разрезе [Группировка2], то CM перестает работать так как хочется. можно ли что то нам посоветовать? спасибо (функция Leaves звучит очень перспективно, как кажется) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2005, 23:23 |
|
||
|
подробности работы Leaves (yukon)
|
|||
|---|---|---|---|
|
#18+
Мне как раз и кажется, что суммирование должно происходить вне зависимости по какой группировке происходит просмотр данных, поэтому именна нужна функция которая работает со всем измерением, а не с отдельно взятой иерархией. Моша ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2005, 04:05 |
|
||
|
подробности работы Leaves (yukon)
|
|||
|---|---|---|---|
|
#18+
MoshaМне как раз и кажется, что суммирование должно происходить вне зависимости по какой группировке происходит просмотр данных, поэтому именна нужна функция которая работает со всем измерением, а не с отдельно взятой иерархией. Моша ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights да действительно, суммирование происходит как надо. просто я забыл написать о проблеме которая возникла с Leaves. итак раньше мы писали проверка на листья: IsLeaf(dimension) и для листьев использовали некоторую информацию из "папы": (Measures.Coef,Ancestor([dimension].currentmember,1)) теперь IsLeaf([dimension]) мы заменили на Leaves([dimension]) но так как в dimension у нас есть несколько иерархий то написать Ancestor([dimension].currentmember,1)) не получается - просят указать иерархию :-( хочется, чтобы эта формала работала для любой иерархии в этом dimension. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2005, 17:53 |
|
||
|
подробности работы Leaves (yukon)
|
|||
|---|---|---|---|
|
#18+
zmikeитак раньше мы писали проверка на листья: IsLeaf(dimension) и для листьев использовали некоторую информацию из "папы": (Measures.Coef,Ancestor([dimension].currentmember,1)) Но если мы находимся на настоящем Leaves, то это значит что мы на атрибуте "Наименование". У него может быть два разных папы - Группировка1 и Группировка2. В зависимости от того которого надо взять, по тому и надо делать Ancestor. Моша ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2005, 23:13 |
|
||
|
подробности работы Leaves (yukon)
|
|||
|---|---|---|---|
|
#18+
Mosha zmikeитак раньше мы писали проверка на листья: IsLeaf(dimension) и для листьев использовали некоторую информацию из "папы": (Measures.Coef,Ancestor([dimension].currentmember,1)) Но если мы находимся на настоящем Leaves, то это значит что мы на атрибуте "Наименование". У него может быть два разных папы - Группировка1 и Группировка2. В зависимости от того которого надо взять, по тому и надо делать Ancestor. Моша ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights совершенно верно, их может быть 2 - но формула от этого "не меняется". то есть надо написать что-то типа current_hierarchy. возможно я много хочу, но хочется взять папу того, который сейчас "текущий". ну к примеру поделить некоторую меру child-а на общую характеристику parent. так в этом случае не важно что за иерархия, формула "не меняется". а таких иерархий у нас хотят наделать несколько... можно даже сказать много. надеюсь я понятно объяснил проблему... не хочется писать много :) хотелось как-то воспользоваться тем что в dimension может быть много иерархий. спасибо за внимание к теме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2005, 00:46 |
|
||
|
подробности работы Leaves (yukon)
|
|||
|---|---|---|---|
|
#18+
zmikeто есть надо написать что-то типа current_hierarchy. возможно я много хочу, но хочется взять папу того, который сейчас "текущий". Я не понял понятие "текущей иерархии". Вы можете привести пример ? Моша ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2005, 02:27 |
|
||
|
подробности работы Leaves (yukon)
|
|||
|---|---|---|---|
|
#18+
Mosha zmikeто есть надо написать что-то типа current_hierarchy. возможно я много хочу, но хочется взять папу того, который сейчас "текущий". Я не понял понятие "текущей иерархии". Вы можете привести пример ? Моша ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights постараюсь объяснить с начала. например у нас dimension [товар] делаем 2 hierarchy [группировка товаров 1].[наименование], [группировка товаров 2].[наименование] далее у нас для каждой группы товаров (в обоих иерархиях) есть CM [средняя цена] хотим например посчитать отклонение от средней цены для каждого товара так вот если клиент смотрит в разрезе [группировка товаров 1], то AS2000 мы бы написали iif(isLeaf([группировка товаров 1]) [price] - Measures.AvgPrice,Ancestor([группировка товаров 1].[наименование].currentmember,1)), 0 ) соответственно когда в разрезе [группировка товаров 2] iif(isLeaf([группировка товаров 2]) [price] - Measures.AvgPrice,Ancestor([группировка товаров 2].[наименование].currentmember,1)), 0 ) в AS2005 было бы здорово написать Scope( delta, Leaves([товар]) ) [price] - Measures.AvgPrice,Ancestor([товар].currentmember,1)), и это бы работало вне зависимости от того в каком разрезе (иерархии) смотрит пользователь. как я уже сказал, я охотно верю что это невозможно в принципе, но может поскажите какую другую идею из опыта? P.S. ну и разумеется иерархий, измерений и вычисляемых переменных - кучи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2005, 17:40 |
|
||
|
|

start [/forum/topic.php?fid=49&msg=33241901&tid=1871137]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 234ms |
| total: | 367ms |

| 0 / 0 |
