Pentaho Mondrian MDX-删除父标题
我是Pentaho、Mondrian和MDX的新手。我开始使用Pentaho CE 5.0.1作为OLAP工具。我正在努力处理MDX查询,希望有人能给我一些关于我的问题的建议 我有以下时间维度mondrian模式:Pentaho Mondrian MDX-删除父标题,mdx,pentaho,mondrian,Mdx,Pentaho,Mondrian,我是Pentaho、Mondrian和MDX的新手。我开始使用Pentaho CE 5.0.1作为OLAP工具。我正在努力处理MDX查询,希望有人能给我一些关于我的问题的建议 我有以下时间维度mondrian模式: `<!-- date dimension --> <Dimension name="Time" type="TimeDimension"> <!-- Year, Quarter, Month, Week, Day -->
`<!-- 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查询工作并返回以下数据:
我的问题是:
如何删除MDX中包含2015、2016的前两行
如何删除2016年03-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,但运气不好。我尝试了我最初的MDX查询,然后尝试将年份乘以10,看看是否可以进行计算。它不需要工作。我仔细检查了数据库中的年份fiedl是否是一个数字(整数),它是否与模式结构匹配。因此,我不确定为什么我不能执行计算。虽然你的建议很有道理,但我还是要考虑一下。上周五我开始学习MDX,所以对我来说还很早。@Nick玩得开心-这是一种相当神秘的语言-但一旦你掌握了基本知识,就会非常满足。如果你喜欢它,那么试试以下其中一种,它们非常棒:
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];