0

我在 Pentaho biserver CE 中的 saiku 3.7 中的过滤器有问题,我想要加入过滤器,我的意思是例如我有一个销售表,其中包含从 2014 年 1 月 1 日到 2015 年 11 月 25 日的数据......当用户按年过滤时只有 2015 年,我只需要在几个月内显示当前数据,在这种情况下,它应该只显示几个月到 11 月。这可能吗?

这是我的架构 xml 的一部分

    <Level name="Anio" visible="true" column="anio" type="Numeric" uniqueMembers="false" levelType="TimeYears" hideMemberIf="Never" description="A&#241;o Factura">
    </Level>
  </Hierarchy>
  <Hierarchy name="Trimestre" visible="true" hasAll="true" primaryKey="id">

    <Level name="Trimestre" visible="true" column="trimestre" type="String" uniqueMembers="false" levelType="TimeQuarters" hideMemberIf="Never">
    </Level>
  </Hierarchy>
  <Hierarchy name="Mes" visible="true" hasAll="true" primaryKey="id">

    <Level name="Mes" visible="true" column="mesno" type="Numeric" uniqueMembers="false" levelType="TimeMonths" hideMemberIf="Never" captionColumn="mes">
    </Level>
  </Hierarchy>
</Dimension>
<Dimension type="StandardDimension" visible="true"  highCardinality="false" name="Bodega">
  <Hierarchy name="Bodega" visible="true" hasAll="true" allMemberName="Bodegas" primaryKey="id">

    <Level name="Bodega" visible="true" column="Bodega" type="String" uniqueMembers="false" levelType="Regular" hideMemberIf="Never">
    </Level>
  </Hierarchy>
</Dimension>

谢谢你的帮助

4

1 回答 1

0

当您创建日期维度时,如果您的层次结构设计正确,您将只获取包含数据的行的数据,因为 Mondrian 将对您的日期维度进行内部联接到您的事实表。

因此,如果您的日期维度类似于:

<Dimension name="my_date">
 <Hierarchy name="my_date_hierarchy">
  <Level name="years">
  <Level name="months">
  <Level name="days">
 </Hierarchy>
</Dimension>

然后将其加入您的事实表。如果您有 2014 年和 2015 年的数据并将年份放在轴上,即使有未来日期的日期维度记录,您也会获得 2014 年和 2015 年的数据。如果您随后将月份放在同一轴上,您将看到 2014 年、2015 年的所有月度数据。如果您只是想查看 2015 年,您可以单击行轴上的年份级别,然后从选项中选择 2015

于 2016-01-06T14:28:45.237 回答