我想在特定的一年(2013年)每月获得两个工厂的oee,可能它非常微不足道但我不知道该怎么做:
with member [Measures].[OEE] as 'OEE'
select
{
[Equipment].[Plant Hierarchy].[Group].[DEMO_PLANT],
[Equipment].[Plant Hierarchy].[Group].[DEMO_PLANT2]
} on columns,
{
[Time].[Month]
} on rows
from ExpertPlan
where [Time].[Year].&[2013-01-01T00:00:00]
选择是好的(植物在列和行上的月份),但我不确定"用"获取值的用法是[Measures]。[OEE]
答案 0 :(得分:1)
With
适用于自定义计算成员和自定义集。
将您的度量添加到slicer
(WHERE
子句)
SELECT
{
[Equipment].[Plant Hierarchy].[Group].[DEMO_PLANT]
,[Equipment].[Plant Hierarchy].[Group].[DEMO_PLANT2]
} ON COLUMNS
,{[Time].[Month]} ON ROWS
FROM ExpertPlan
WHERE
(
[Time].[Year].&[2013-01-01T00:00:00]
,[Measures].[OEE]
);
以下是一些在AdvWrks多维数据集中处理此问题的原型方法:
SELECT
[Customer].[Country].&[United States] ON COLUMNS
,[Date].[Calendar].[Month] ON ROWS
FROM [Adventure Works]
WHERE
(
[Date].[Calendar Year].&[2007]
,[Measures].[Internet Sales Amount]
);
SELECT
[Customer].[Country].&[United States] ON COLUMNS
,Descendants
(
[Date].[Calendar].[Calendar Year].&[2007]
,[Date].[Calendar].[Month]
) ON ROWS
FROM [Adventure Works]
WHERE
[Measures].[Internet Sales Amount];
上述两个结果都是在这个结果单元格中产生的:
答案 1 :(得分:0)
添加到其他答案,您还可以使用subselect
。
SELECT
{
[Equipment].[Plant Hierarchy].[Group].[DEMO_PLANT]
,[Equipment].[Plant Hierarchy].[Group].[DEMO_PLANT2]
} ON COLUMNS
,{[Time].[Month]} ON ROWS
FROM
(
SELECT [Time].[Year].&[2013-01-01T00:00:00] ON 0
FROM [ExpertPlan]
)
WHERE
{[Measures].[OEE]}
在MDX中,WHERE
是第3轴,虽然不太明显。认为它就像excel,你有行,列和值。您可以将层次结构(属性)放在任何轴上([Measures]
的行为与任何常规层次结构一样)。它只会改变最终输出的样子。