Pentaho角色交集
Pentaho Role Intersection
我正在处理 mondrian 模式中的角色,我想知道是否可以使两个声明的角色相交。
我创建了这些角色:
对特定类型产品有限制的产品经理
<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,但我发现它是 returns 两者的总和,因此用户可以看看两者,这不是我需要的解决方案。
<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
----------------------------------------------
角色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 |
-----------------------------------
谢谢你的帮助
蒙德里安没有这样的特征。我建议在 Jira tracker.
中创建一张票
或者,您可以 implement the Role interface 并将其传递给您的连接。
我正在处理 mondrian 模式中的角色,我想知道是否可以使两个声明的角色相交。
我创建了这些角色:
对特定类型产品有限制的产品经理
<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,但我发现它是 returns 两者的总和,因此用户可以看看两者,这不是我需要的解决方案。
<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
----------------------------------------------
角色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 |
-----------------------------------
谢谢你的帮助
蒙德里安没有这样的特征。我建议在 Jira tracker.
中创建一张票或者,您可以 implement the Role interface 并将其传递给您的连接。