我是 Pentaho、Mondrian 和 MDX 的新手。我开始使用 Pentaho CE 5.0.1 作为我的 OLAP 工具。我正在为 MDX 查询而苦苦挣扎,希望有人能就我的问题给我一些建议。
我有以下时间维度蒙德里安模式:
`<!-- date dimension -->
<Dimension name="Time" type="TimeDimension">
<!-- Year, Quarter, Month, Week, Day -->
<Hierarchy name="YQMD" hasAll="true" allMemberName="All Dates" primaryKey="date_key" type="TimeDimension">
<Table name="dim_date" schema="webportal"/>
<Level name="Year" uniqueMembers="true" column="year4" levelType="TimeYears" type="Numeric"></Level>
<Level name="Quarter" uniqueMembers="false" column="quarter_name" levelType="TimeQuarters" type="String"></Level>
<Level name="Month" uniqueMembers="false" column="month_number" ordinalColumn="month_number" nameColumn="month_number" levelType="TimeMonths" type="Numeric"></Level>
<Level name="Week" column="week_in_month" uniqueMembers="false" levelType="TimeWeeks"></Level>
<Level name="Day" column="day_in_month" uniqueMembers="false" ordinalColumn="day_in_month" nameColumn="day_in_month" levelType="TimeDays" type="Numeric"></Level>
</Hierarchy>
</Dimension>`
我正在运行这个 MDX 查询:
WITH
MEMBER [Measures].[YTD] AS 'SUM(YTD(), [Measures].[Quotation Status])'
SELECT
NON EMPTY {[Measures].[Quotation Status], [Measures].[YTD]} ON COLUMNS,
NON EMPTY {
{[Time.YQMD].[Year].Members},
[Time.YQMD].[Month].Members
} ON ROWS
FROM [Broker Portal]
MDX 查询有效并返回以下数据:
我的问题是:
如何删除 MDX 中包含 2015、2016 的前两行?
如何删除 2016 年第 3 至 12 个月的行?
最佳答案
我怀疑像下面这样的事情可能正朝着正确的方向前进:
WITH
MEMBER [Measures].[YTD] AS
Sum
(
YTD()
,[Measures].[Quotation Status]
)
SELECT
NON EMPTY
{
[Measures].[Quotation Status]
,[Measures].[YTD]
} ON COLUMNS
,NON EMPTY
[Time.YQMD].[Year].MEMBERS
* [Time.YQMD].[Month].[Month].MEMBERS HAVING
[Measures].[Quotation Status] > 0 ON ROWS
FROM [Broker Portal];
关于mdx - Pentaho Mondrian MDX - 删除父标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35406446/