[英]MONDRIAN MDX query for period of time
我只需要从MySQL中的一张表创建OLAP视图。
我需要从表中的以下列中获取信息:日期,机器,级别,项目,代码,注释,停机时间。
所以我创建了这个蒙德里安模式:
<Schema name="ExampleSchema">
<Cube name="ExampleCube">
<Table name="example_table"/>
<Dimension name="Date">
<Hierarchy hasAll="true" allMemberName="All Date">
<Level name="Date" column="date" uniqueMembers="true"/>
</Hierarchy>
</Dimension>
<Dimension name="Machine">
<Hierarchy hasAll="true" allMemberName="All Machine">
<Level name="Machine" column="machine" uniqueMembers="true"/>
</Hierarchy>
</Dimension>
<Dimension name="Level">
<Hierarchy hasAll="true" allMemberName="All Level">
<Level name="Level" column="level" uniqueMembers="true"/>
</Hierarchy>
</Dimension>
<Dimension name="Item">
<Hierarchy hasAll="true" allMemberName="All Item">
<Level name="Item" column="item" uniqueMembers="true"/>
</Hierarchy>
</Dimension>
<Dimension name="Code">
<Hierarchy hasAll="true" allMemberName="All Code">
<Level name="Code" column="code" uniqueMembers="true"/>
</Hierarchy>
</Dimension>
<Dimension name="Comment">
<Hierarchy hasAll="true" allMemberName="All">
<Level name="Comment" column="comment" uniqueMembers="true"/>
</Hierarchy>
</Dimension>
<Measure name="Downtime" column="downtime" aggregator="sum" formatString="Standard" visible="true"/>
</Cube>
</Schema>
我的查询如下所示:
{[Item].[All Item]} * {[Measures].[Downtime]}
ON columns,
{[Code].[All Code]} * {[Comment].[All Comment]}
ON rows
from [ExampleCube]
WHERE
{([Date].[2011-11-31], [Machine].[1500], [Level].[AB])}
它可以工作,但是我不希望有一个针对单个日期的度量,而是针对一段时间(从开始日期到结束日期)的度量。
尝试使用范围运算符:
{[Item].[All Item]} * {[Measures].[Downtime]}
ON columns,
{[Code].[All Code]} * {[Comment].[All Comment]}
ON rows
from [ExampleCube]
WHERE
(
{[Date].[2011-11-31]:[Date].[2015-06-25]}
, [Machine].[1500], [Level].[AB]
)
两个日期[Date].[2011-11-31]:[Date].[2015-06-25]
必须存在于您的多维数据集中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.