对于olap中MDX语句的使用:
对于特定的纬度:比如时间和地区,在写where语句的时候
with member [Measures].[销售合同兑现率(%)] as '([Measures].[按时发货量(吨)] / [Measures].[销量(吨)])', FORMAT_STRING = "#,##0.##%"
select NON EMPTY {[Measures].[销量(吨)], [Measures].[按时发货量(吨)], [Measures].[销售合同兑现率(%)]} ON COLUMNS,
NON EMPTY Crossjoin({[所有区域.客户区域].[区域]}, {[所有产品.BASE_MATERIAL.LEVEL1_MATERIAL_NM].[大类], [所有产品.BASE_MATERIAL.LEVEL1_MATERIAL_NM].[大类].[镀锌产品], [所有产品.BASE_MATERIAL.LEVEL1_MATERIAL_NM].[大类].[钢坯], [所有产品.BASE_MATERIAL.LEVEL1_MATERIAL_NM].[大类].[可利用品], [所有产品.BASE_MATERIAL.LEVEL1_MATERIAL_NM].[大类].[冷轧产品], [所有产品.BASE_MATERIAL.LEVEL1_MATERIAL_NM].[大类].[让步材], [所有产品.BASE_MATERIAL.LEVEL1_MATERIAL_NM].[大类].[热轧产品]}) ON ROWS 数据挖掘论坛
from [salesTrend]
where [所有时间.所有时间].[年份].[{YEARTIME}].[{QUARTER}].[{MONTH}]
如果我要对区域也是特定的,如何在where后面加条件,谢谢有点乱,顶一下正在学 不懂一个维度是不允许同时存在于行、列或切片中。在你的例子中,你在行中使用了区域维度,因此你是不能再用区域来切片或切块的。
如果你上述的例子中,区域有两个维度的话,WHERE语句的格式将会是:
WHERE (时间.成员,区域.成员)
其术语就是tuple。如果我要对区域也是特定的,如何在where后面加条件,谢谢
把戏[所有区域.客户区域].[区域]} 换成你的特定区域的 SET . NON EMPTY Crossjoin({[所有区域.客户区域].[区域aaa],[所有区域.客户区域].[区域bbb]}, Create By Any-Extract(WL-AE) 数据挖掘工具