Я работаю с ролями в мондрийской схеме, и я хотел бы узнать, если можно сделать пересечение двух объявленных ролей.Pentaho Role Intersection
Я создал эти роли:
Для менеджера продукта, который имеет ограничение по конкретным видам продукции
<Role name="product_manager">
<SchemaGrant access="none">
<CubeGrant cube="product" access="all">
<HierarchyGrant hierarchy="product_group" rollupPolicy="partial" access="custom">
<MemberGrant member="[product_group].[Wardrobes]" access="all">
</MemberGrant>
</HierarchyGrant>
</CubeGrant>
</SchemaGrant>
</Role>
И финансовый менеджер, который имеет ограничение по конкретной стране
<Role name="financial_manager">
<SchemaGrant access="none">
<CubeGrant cube="country" access="all">
<HierarchyGrant hierarchy="country" rollupPolicy="partial" access="custom">
<MemberGrant member="[country].[Germany]" access="all">
</MemberGrant>
</HierarchyGrant>
</CubeGrant>
</SchemaGrant>
</Role>
Мой требуемый результат должно быть пересечение этих двух ролей, я обнаружил, что существует элемент UNION, но я нашел что он возвращает сумму обоих, так что пользователь может видеть все с обоих, это не мое требуемое решение.
<Role name="product_and_financial_manager_for_wardrobes_and_germany_resort">
<Union>
<RoleUsage roleName="product_manager" />
<RoleUsage roleName="financial_manager" />
</Union>
</Role>
Что-то вроде этого:
<Role name="product_and_financial_manager_for_wardrobes_and_germany_resort">
<Intersection>
<RoleUsage roleName="product_manager" />
<RoleUsage roleName="financial_manager" />
</Intersection>
</Role>
Это пример данных:
fact_product
---------------------------------------------------------------------------
| id_fact_product | price | id_dim_product_group | id_dim_country
---------------------------------------------------------------------------
| 1 | 100 | 1 | 1
---------------------------------------------------------------------------
| 2 | 150 | 1 | 2
---------------------------------------------------------------------------
| 3 | 120 | 2 | 2
---------------------------------------------------------------------------
| 4 | 230 | 1 | 2
---------------------------------------------------------------------------
dim_product_group
----------------------------------------------
| id_dim_product_group | section
----------------------------------------------
| 1 | Wardrobes
----------------------------------------------
| 2 | Tables
----------------------------------------------
dim_country
----------------------------------------------
| id_dim_country | country
----------------------------------------------
| 1 | Italy
----------------------------------------------
| 2 | Germany
----------------------------------------------
Результат для Role product_and_financial_manager_for_wardrobes_and_germany_resort должны видеть данные только в этом диапазоне
-----------------------------------------------------------------------------
| id_fact_product | price | id_dim_product_group | id_dim_country
---------------------------------------------------------------------------
| 2 | 150 | 1 | 2
---------------------------------------------------------------------------
| 4 | 230 | 1 | 2
---------------------------------------------------------------------------
----------------------------------------
| section | country |
-----------------------------------
| Wardrobes | Germany |
-----------------------------------
| Wardrobes | Germany |
-----------------------------------
Спасибо вам помочь