MONDRIAN MDX查询一段时间

时间:2015-06-12 16:09:19

标签: mdx olap-cube mondrian

我需要从MySQL中的一个表创建一个OLAP视图。

我需要从表格中的以下列中获取信息:日期,机器,级别,项目,代码,注释,停机时间。

所以我创建了这个Mondrian Schema:

<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])}

它有效,但我想要的措施不是针对单个日期,而是针对一段时间(从开始日期到结束日期)。

1 个答案:

答案 0 :(得分:0)

尝试使用范围运算符:

{[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]必须存在于您的多维数据集中。