我在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ñ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>
感谢您的帮助
答案 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