【问题标题】:Pentaho MDX rolesPentaho MDX 角色
【发布时间】:2013-04-05 13:02:32
【问题描述】:

我尝试在 pentaho jpivot 中创建一些限制
1. 我有 2 个用户(用户 1 - 角色 1 和用户 2 - 角色 2)
2. 我有一个带有这个值的支点

商店 |所有者 |销售量 --------------------- s1 |用户1 | 1235 |用户2 | 2684 s2 |用户1 | 1628 |用户2 | 1002 s3 |用户1 | 1111 |用户2 | 1596 ...

我的架构看起来像这样:

<Schema name="asimov1">
  <Dimension type="StandardDimension" visible="true" foreignKey="owner" name="owner">
   <Hierarchy name="owner" visible="true" hasAll="false" primaryKey="owner" primaryKeyTable="storeTable">
     <Level name="owner" visible="true" table="storeTable" column="owner" uniqueMembers="false">
     </Level>
   </Hierarchy>
 </Dimension>
 <Dimension type="StandardDimension" visible="true" foreignKey="store1" name="store1">
  <Hierarchy name="store1" visible="true" hasAll="true" primaryKey="store1" primaryKeyTable="storeTable">
     <Level name="store1" visible="true" table="storeTable" column="store1" uniqueMembers="false">
     </Level>
  </Hierarchy>
</Dimension>
<Cube name="asimov1" caption="asimov1" visible="true" description="asimov1"  cache="true" enabled="true">
  <Table name="storeTable">
  </Table>
  <DimensionUsage source="store1" name="store1" visible="true" foreignKey="store1">
  </DimensionUsage>
  <DimensionUsage source="owner" name="owner" visible="true" foreignKey="owner">
  </DimensionUsage>
  <Measure name="sales" column="sales" formatString="#" aggregator="sum">
  </Measure>

 </Cube>
</Schema>

我的选择:

select NON EMPTY Crossjoin({[owner].[owner].Members}, {[Measures].[sales]}) ON COLUMNS,
NON EMPTY {[store].[store].Members} ON ROWS
from [role_test]

当我以 user1 身份登录时,我希望只查看 user1 的值,以及 user2 的值。

我使用 xaction 添加了 where 子句,但如果访问 jpivot OLAP 导航器,user1 仍然可以看到 user2 的值。

我向维度所有者添加了 visible="false",但没有效果。 我做了没有效果的角色。

<Role name="user1">
<SchemaGrant access="none">
  <CubeGrant cube="asimov1" access="all">
    <HierarchyGrant hierarchy="owner" topLevel="owner" bottomLevel="owner" access="custom">
      <MemberGrant member="[owner].[user1]" access="all">
      </MemberGrant>
      <MemberGrant member="[owner].[user2]" access="none">
      </MemberGrant>
    </HierarchyGrant>
  </CubeGrant>
</SchemaGrant>

....

仅此而已,所以请提供一些指导。

最好的问候, dga

【问题讨论】:

    标签: pentaho mondrian


    【解决方案1】:

    一切都很好,除了这个:

    在使用角色之前,必须在 biserver-ce/pentaho-solutions/system/pentahoObjects.spring.xml

    中取消注释此行
    <bean id="Mondrian-UserRoleMapper" 
        name="Mondrian-One-To-One-UserRoleMapper"  
        class="org.pentaho.platform.plugin.action.mondrian.mapper.MondrianOneToOneUserRoleListMapper" 
        scope="singleton" />
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-23
    • 1970-01-01
    • 2015-11-07
    • 2023-02-02
    相关资源
    最近更新 更多