提问者:小点点

Saiku 3.7CE过滤器


我在pentaho biserverCE中的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>

谢谢你的帮忙


共1个答案

匿名用户

创建日期维度时(如果层次结构设计正确),您将仅为具有数据的行返回数据,因为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年