|
|
|
Расчёт выражения вне текущего контекста ограничений доступа.
|
|||
|---|---|---|---|
|
#18+
Добрый день. Есть вычисление для куба рассчитывающее остаток товара. ([Дата].[Дата].[Дата], [Measures].[Остаток стоимость]) = SUM(null:[Дата].[Дата].CurrentMember,[Measures].[Стоимость0]) Понадобилось для одной из ролей ограничить период по годам Allowed member set: {[Дата].[Год].&[2016-01-01T00:00:00], [Дата].[Год].&[2017-01-01T00:00:00]} В этой роли перестал корректно считаться остаток ([Measures].[Остаток стоимость]). Так как накладываются ограничения по роли. Можно ли как то организовать выполнение вычисления этого выражения без учета ограничений указанных в роли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2017, 05:00 |
|
||
|
Расчёт выражения вне текущего контекста ограничений доступа.
|
|||
|---|---|---|---|
|
#18+
vosdДобрый день. Есть вычисление для куба рассчитывающее остаток товара. ([Дата].[Дата].[Дата], [Measures].[Остаток стоимость]) = SUM(null:[Дата].[Дата].CurrentMember,[Measures].[Стоимость0]) Понадобилось для одной из ролей ограничить период по годам Allowed member set: {[Дата].[Год].&[2016-01-01T00:00:00], [Дата].[Год].&[2017-01-01T00:00:00]} В этой роли перестал корректно считаться остаток ([Measures].[Остаток стоимость]). Так как накладываются ограничения по роли. Можно ли как то организовать выполнение вычисления этого выражения без учета ограничений указанных в роли? Нет, потому что - Вы ограничили в роли доступ к некоторым дням, у Вас остаток на 2016-01-01 (доступ открыт) - это сумма движений с начала времен до 2015-12-31 (а там доступ закрыт). Есть изысканный обходной путь. Прикручиваете группу мер на новое измерение "ОтборПоДням" - Да(1)/Нет(0), далее новую группу мер "ДниОтбораДляРоли" как 1 для ОтборПоДням и ключ даты для измерения "Дата" и строки для дней 2016 года, далее ВСЕ группы мер, привязанные на измерение Дата, привязываете на новое измерение "ОтборПоДням" как "многие-ко-многим" через новую группу мер "ДниОтбораДляРоли". И в роли доступа ставите allowed member set {[ОтборПоДням].[ОтборПоДням].&[1]}. У Вас автоматически через эту роль видны продажи, движения, остатки только для дат 2016 года. Но. Остатки не будут корректно считаться. Поэтому делаете еще одну группу мер с дубликатом меры "Стоимость0", НЕ привязываете как "многие-ко-многим", делаете скрытой Visible=0 и меру-дубликат используете для ([Дата].[Дата].[Дата], [Measures].[Остаток стоимость]) . То есть стоимость для движения для 2001-2015 будет считаться для остатков 2016-01-01 и далее, а посмотреть ее будет невозможно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2017, 14:04 |
|
||
|
Расчёт выражения вне текущего контекста ограничений доступа.
|
|||
|---|---|---|---|
|
#18+
Посчитать в ХД срез на дату окончания ограничения и в формуле использовать эту дату как точку отсчета. Возможно, придется написать свои формулы для разных групп пользователей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2017, 19:24 |
|
||
|
Расчёт выражения вне текущего контекста ограничений доступа.
|
|||
|---|---|---|---|
|
#18+
Andy_OLAP, Спасибо за предложенный вариант. Лучше переделаю расчет формулу расчета остатков, так чтобы использовались рассчитанные в базе источнике остатки на начало каждого года (или месяца). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2017, 09:24 |
|
||
|
Расчёт выражения вне текущего контекста ограничений доступа.
|
|||
|---|---|---|---|
|
#18+
vosdAndy_OLAP, Спасибо за предложенный вариант. Лучше переделаю расчет формулу расчета остатков, так чтобы использовались рассчитанные в базе источнике остатки на начало каждого года (или месяца). Видите ли, Вашим пользователям это потом так понравится, что они скажут - создайте отдельную роль доступа для Иванова и отдельную для Петрова, Иванову дайте доступ ко всем показателям за 1-15 января, а Петрову за 16-31 января. И не больше. И тут окажется, что остатки на начала месяца или года не очень и подходят. В новом измерении не обязательно варианты 1-0. Можно под каждую роль свой элемент и только к нему доступ в allowed member set. То есть измерени "ВариантыДнейОтбора" (1-2-3), для Иванова элемент 1 (и в группе мер "ДниОтбораДляРоли" строки для дат 1-15 января), для Петрова элемент 2 (и строки для дат 16-31 января), для всех остальных (для дефолтной роли) элемент 3 и строки для дат 1900-01-01 - 2020-01-01. И далее внутри куба привязка "многие-ко-многим" не меняется. И спрятанная мера "Копия Стоимость0", не привязанная к измерению "ВариантыДнейОтбора", позволяет для любого дня рассчитать остаток. Но выводить его только по открытым для доступа датам, для каждой роли своим. Изначально вариант гибкий и не нужно ломать куб при добавлении Сидорова, которому просто элемент 4, доступ в новой роли только к элементу 4 и новые строки в существующей группе мер "ДниОтбораДляРоли" на элемент 4 и на даты 1 марта - 23 марта 2017 (с потолка взяты для примера). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2017, 21:03 |
|
||
|
|

start [/forum/topic.php?fid=49&fpage=26&tid=1858035]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
37ms |
get forum data: |
2ms |
get page messages: |
66ms |
get tp. blocked users: |
4ms |
| others: | 241ms |
| total: | 418ms |

| 0 / 0 |

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