【问题标题】:mondrian role: filter by hierarchy and hide hierarchymondrian 角色:按层次过滤和隐藏层次
【发布时间】:2020-11-12 16:40:59
【问题描述】:

我有一个带有不同客户端的数据库(表 TD_CLIENTS),它可以访问一个 mondrian Cube。显然,我希望每个客户端都只能看到自己的数据。

我已经通过每个客户的角色完成了这一点(我的客户很少,所以这是一个可以接受的权衡。无论如何,如果有人知道更好的方法,我会很高兴听到它):

<Schema name="my_schema" description="my  schema">
  <Dimension type="StandardDimension" visible="true" highCardinality="false" name="Clients">
    <Hierarchy name="Clients hierarchy" visible="true" hasAll="true">
      <Table name="td_clients" schema="public">
      </Table>
      <Level name="Client" visible="true" table="td_clients" column="client_id" nameColumn="client_name" type="String" uniqueMembers="false" levelType="Regular" hideMemberIf="Never">
      </Level>
    </Hierarchy>
  </Dimension>
  <Cube name="my cube" visible="true" cache="true" enabled="true">
    <Table name="my_facts_table" schema="public">
    </Table>
    <DimensionUsage source="Clients" name="Clients" visible="true" foreignKey="client_id" highCardinality="false">
    </DimensionUsage>
    <Measure name="my measure" column="amount" aggregator="sum" visible="true">
    </Measure>
  </Cube>
  <Role name="Client 2 test">
    <SchemaGrant access="all">
      <CubeGrant cube="my cube" access="all">
        <HierarchyGrant hierarchy="[Clients.Clients hierarchy]" topLevel="[Clients.Clients hierarchy].[Client]" bottomLevel="[Clients.Clients hierarchy].[Client]" rollupPolicy="partial" access="custom">
          <MemberGrant member="[Clients.Clients hierarchy].[A CERTAIN CLIENT]" access="all">
          </MemberGrant>
        </HierarchyGrant>
      </CubeGrant>
    </SchemaGrant>
  </Role>
</Schema>

但是现在,由于每个登录用户(与其客户角色相关联)只能看到一个客户,我想隐藏客户层次结构。

我怎样才能完成它?

谢谢你和最好的问候!

【问题讨论】:

    标签: pentaho roles mondrian


    【解决方案1】:

    你已经接近了:

    添加第二个 HierarchyGrant 以限制其可见性,例如:

            <HierarchyGrant hierarchy="[Clients.Clients hierarchy]" rollupPolicy="partial" access="custom">
              <MemberGrant member="[Clients.Clients hierarchy].[A CERTAIN CLIENT]" access="all">
              </MemberGrant>
            </HierarchyGrant>
            <HierarchyGrant hierarchy="[Clients.Clients hierarchy]" rollupPolicy="partial" access="none">
            </HierarchyGrant>
    

    但是,请记住,除非您添加第二个(可见)维度,否则 jpivot 之类的工具将无法工作。

    【讨论】:

      猜你喜欢
      • 2010-11-19
      • 1970-01-01
      • 2014-06-17
      • 2014-11-01
      • 2012-06-16
      • 2020-10-09
      • 2017-12-27
      • 2016-07-13
      • 2019-07-23
      相关资源
      最近更新 更多