【问题标题】:Mondrian MDX Query error:- All arguments to function '{}' must have same hierarchyMondrian MDX 查询错误:- 函数“{}”的所有参数必须具有相同的层次结构
【发布时间】:2018-06-07 21:49:25
【问题描述】:

我正在使用 Tibco Jaspersoft 生成报告。

预期结果:-

创建的架构文件:

    <Schema name="Telemetry Count Schema">
  <Cube name="Telemetry Count Cube" cache="true" enabled="true">
    <Table name="device_telementry">
    </Table>
    <Dimension type="StandardDimension" foreignKey="companyId" name="Tenant">
      <Hierarchy hasAll="true" allMemberName="All Tenant" primaryKey="id">
        <Table name="device">
        </Table>
        <Level name="Tenant Level " column="name" type="String" uniqueMembers="true" levelType="Regular" hideMemberIf="Never">
        </Level>
      </Hierarchy>
    </Dimension>
    <Dimension type="StandardDimension" foreignKey="subscriptionId" name="Subscription">
      <Hierarchy hasAll="true" allMemberName="All Subscription" primaryKey="id">
        <Table name="subscription">
        </Table>
        <Level name="Subscription Level" column="name" type="String" uniqueMembers="true" levelType="Regular" hideMemberIf="Never">
        </Level>
      </Hierarchy>
    </Dimension>
    <Dimension type="StandardDimension" foreignKey="applicationId" name="Application">
      <Hierarchy hasAll="true" allMemberName="All Application" primaryKey="id">
        <Table name="application">
        </Table>
        <Level name="Application Level" column="name" type="String" uniqueMembers="true" levelType="Regular" hideMemberIf="Never">
        </Level>
      </Hierarchy>
    </Dimension>
    <Dimension type="StandardDimension" foreignKey="gatewayId" name="Gateway">
      <Hierarchy hasAll="true" allMemberName="All Gateway" primaryKey="id">
        <Table name="gateway">
        </Table>
        <Level name="Gateway Level" column="name" type="String" uniqueMembers="true" levelType="Regular" hideMemberIf="Never">
        </Level>
      </Hierarchy>  
    </Dimension>
    <Dimension type="StandardDimension" foreignKey="deviceId" name="Device">
      <Hierarchy hasAll="true" allMemberName="All Device" primaryKey="id">
        <Table name="device">
        </Table>
        <Level name="Device Level" column="name" type="String" uniqueMembers="true" levelType="Regular" hideMemberIf="Never">
        </Level>
      </Hierarchy>
    </Dimension>
    <Measure name="Telemetry Count" column="telemetry_count" aggregator="sum" visible="true">
    </Measure>
    <Measure name="Telemetry Item Count" column="telemetry_item_count" aggregator="count" visible="true">
    </Measure>
  </Cube>
</Schema>

MDX 查询:-

在列上选择 {[Measures].[Telemetry Count]、[Measures].[Telemetry Item Count]}, {[Gateway].[All Gateway], [Gateway].[All Gateway].Children, [Device].[All Device], [Device].[All Device].Children} ON ROWS 来自[Telemetry Count Cube]

错误信息:

蒙德里安错误:函数“{}”的所有参数必须相同 层次结构。

我在这里做错了什么?

【问题讨论】:

    标签: mdx olap olap-cube mondrian mdx-query


    【解决方案1】:

    结果 MDX 查询:-

    select {[Measures].[Telemetry Count], [Measures].[Telemetry Item Count]} ON COLUMNS,
      NON EMPTY 
    { CrossJoin ( {([Application].members)}, {CrossJoin ( {([Gateway].members)}, {([Device].members)} ) }) } 
    ON ROWS
    from [Telemetry Count Cube]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-04
      • 2021-07-12
      • 2017-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多