Saiku 3.7 CE过滤器

时间:2015-11-26 00:09:11

标签: pentaho saiku

我在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>

感谢您的帮助

1 个答案:

答案 0 :(得分: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