|
|
|
SSAS 2016 - MDX Script - Scope оптимизация - Calculation Pass
|
|||
|---|---|---|---|
|
#18+
Кто знает есть-ли какие методы заставить/обойти назначения в Scope не агрегировать значения выше по иерархии, например в иерархии Год-Месяц-Дата прописать только для [Дата] и чтобы ничего небыло в [Месяц] и/или [Год] Или-же единственное решение в иерархиях чистки вверх только через повторный CalculationPass на Scope[Месяц]..;this=null;.. Scope[Год]..;this=null; Просто хотелось-бы избавится от лишних CalculationPass для SubКуба ради производительности (со всеми остальными настройками и Сервера и в Партициях/Агрегациях/Мерах/Аттрибутах и структуре измерений / чистки элементов резервы оптимизации уже исчерпаны) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2017, 18:48 |
|
||
|
SSAS 2016 - MDX Script - Scope оптимизация - Calculation Pass
|
|||
|---|---|---|---|
|
#18+
vikkiv, IIF([Дата].[Год-Месяц-Дата].CurrentMember.Level is [Дата].[Год-Месяц-Дата].[Дата], [Measures].CurrentMember, NULL) Нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2017, 19:23 |
|
||
|
SSAS 2016 - MDX Script - Scope оптимизация - Calculation Pass
|
|||
|---|---|---|---|
|
#18+
vikkiv, Это поведение из-за самих мер. Если у вас есть иерархия, на листьях которой у вас должны быть данные, а наверху нет, то переопределить-то можно в Scope, но это будет ДОПОЛНИТЕЛЬНОЕ вычисление. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2017, 19:24 |
|
||
|
SSAS 2016 - MDX Script - Scope оптимизация - Calculation Pass
|
|||
|---|---|---|---|
|
#18+
SkyTodvikkiv, IIF([Дата].[Год-Месяц-Дата].CurrentMember.Level is [Дата].[Год-Месяц-Дата].[Дата], [Measures].CurrentMember, NULL) Нет?Не совсем, в обычных иерархиях при популяции нижнего уровня (напр. даты) - верхние атрибуты (месяц-квартал-семестр-год) перерасчитываются автоматом, именно в этом проблема которой хотелось-бы избежать (для сокращения ресурсов затрачиваемых на дополнительные пробеги), у нас ещё проблема т.к. к сожелению имеются конкурирующие иерархии, приходится их тоже на [All] принуждать.. кроме того в твоём случае ещё влючается функция сравнения (дополнительная нагрузка), хотя альтернатива переписав только данный уровень а потом descendants выше (или жестко указав атрибуты месяц/год)=null примерно тоже самое даст. Voyager_lan - да уж, неизбежно, коротче через settostr(Root()) вытащил и поставил scope для малоиспользуемых атрибутов (olapquerylog > dataset) с тяжелой кардинальностью на [All] - субкуб сразу урезался до вполне приемлеммых размеров.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 23:55 |
|
||
|
SSAS 2016 - MDX Script - Scope оптимизация - Calculation Pass
|
|||
|---|---|---|---|
|
#18+
vikkivSkyTodvikkiv, IIF([Дата].[Год-Месяц-Дата].CurrentMember.Level is [Дата].[Год-Месяц-Дата].[Дата], [Measures].CurrentMember, NULL) Нет?Не совсем, в обычных иерархиях при популяции нижнего уровня (напр. даты) - верхние атрибуты (месяц-квартал-семестр-год) перерасчитываются автоматом, именно в этом проблема которой хотелось-бы избежать (для сокращения ресурсов затрачиваемых на дополнительные пробеги), у нас ещё проблема т.к. к сожелению имеются конкурирующие иерархии, приходится их тоже на [All] принуждать.. кроме того в твоём случае ещё влючается функция сравнения (дополнительная нагрузка), хотя альтернатива переписав только данный уровень а потом descendants выше (или жестко указав атрибуты месяц/год)=null примерно тоже самое даст. Voyager_lan - да уж, неизбежно, коротче через settostr(Root()) вытащил и поставил scope для малоиспользуемых атрибутов (olapquerylog > dataset) с тяжелой кардинальностью на [All] - субкуб сразу урезался до вполне приемлеммых размеров.. лучше делайте SCOPE -- есть смысл накидать даже небольшой генератор скоупов, если там много ветвей иерархии ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2017, 18:03 |
|
||
|
SSAS 2016 - MDX Script - Scope оптимизация - Calculation Pass
|
|||
|---|---|---|---|
|
#18+
a_voronin, ну так я узко и кидаю через VBA и матрицы атрибутов, десяток тысяч строк кода уже не предел.. давно понял что во многих случаях больше узких Scop-ов производительнее чем компактный код пытающийся покрыть всё пространство... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2017, 18:41 |
|
||
|
SSAS 2016 - MDX Script - Scope оптимизация - Calculation Pass
|
|||
|---|---|---|---|
|
#18+
vikkiva_voronin, ну так я узко и кидаю через VBA и матрицы атрибутов, десяток тысяч строк кода уже не предел.. давно понял что во многих случаях больше узких Scop-ов производительнее чем компактный код пытающийся покрыть всё пространство... Главное - потом не запутаться в этой писанине :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2017, 21:51 |
|
||
|
SSAS 2016 - MDX Script - Scope оптимизация - Calculation Pass
|
|||
|---|---|---|---|
|
#18+
Voyager_lan, так это-же просто алгоритм строящий логическую структуру из формул по параметрам, навигация в таком организованном коде если знаешь модель и что ищешь - в принципе довольно проста. ладно - тема вырожденная, вопрос концептуально решен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2017, 00:43 |
|
||
|
|

start [/forum/topic.php?fid=49&msg=39392526&tid=1858394]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
65ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 384ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...