powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Расчёт выражения вне текущего контекста ограничений доступа.
5 сообщений из 5, страница 1 из 1
Расчёт выражения вне текущего контекста ограничений доступа.
    #39558698
vosd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Есть вычисление для куба рассчитывающее остаток товара.

([Дата].[Дата].[Дата], [Measures].[Остаток стоимость])
= SUM(null:[Дата].[Дата].CurrentMember,[Measures].[Стоимость0])

Понадобилось для одной из ролей ограничить период по годам

Allowed member set:
{[Дата].[Год].&[2016-01-01T00:00:00], [Дата].[Год].&[2017-01-01T00:00:00]}

В этой роли перестал корректно считаться остаток ([Measures].[Остаток стоимость]). Так как накладываются ограничения по роли.

Можно ли как то организовать выполнение вычисления этого выражения без учета ограничений указанных в роли?
...
Рейтинг: 0 / 0
Расчёт выражения вне текущего контекста ограничений доступа.
    #39559022
Andy_OLAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 и далее, а посмотреть ее будет невозможно.
...
Рейтинг: 0 / 0
Расчёт выражения вне текущего контекста ограничений доступа.
    #39559251
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посчитать в ХД срез на дату окончания ограничения и в формуле использовать эту дату как точку отсчета.
Возможно, придется написать свои формулы для разных групп пользователей.
...
Рейтинг: 0 / 0
Расчёт выражения вне текущего контекста ограничений доступа.
    #39559348
vosd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Andy_OLAP,
Спасибо за предложенный вариант.

Лучше переделаю расчет формулу расчета остатков, так чтобы использовались рассчитанные в базе источнике остатки на начало каждого года (или месяца).
...
Рейтинг: 0 / 0
Расчёт выражения вне текущего контекста ограничений доступа.
    #39559501
Andy_OLAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 (с потолка взяты для примера).
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Расчёт выражения вне текущего контекста ограничений доступа.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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