我想创建一个名为效率的新度量,它将非有序事务的值显示为总值:
Efficiency=[100%-(nonordered/total)]
不幸的是,我对MDX的体验相当短暂。我试过这段代码:
CREATE MEMBER CURRENTCUBE.[Measures].[Efficiency]
AS
IIF([Measures].[Offers Value]=0, 0
, WITH MEMBER [Measures].[Offers Value] AS
1- ([Measures].[Offers value], [Is Ordered].[Is Ordered - Status].&[0])
/ ([Measures].[Offers Value]))
,FORMAT_STRING="PERCENT",
, VISIBLE = 1;
遇到的问题是:
[Offers value]=0
或计算过程中的其他错误。 MDX中是否存在“OnError”或“IsError”等解决方案?[Offers value]
也是一种计算方法。如何决定在[效率]之前计算[优惠价值]?答案 0 :(得分:2)
回答你的第二个问题:你会创建两个度量,如果你先在计算脚本中创建Offers value
并在其后面放置Efficiency
,那么你可以在第二个问题中使用第一个
您不能在计算脚本中使用WITH
,而只能在SELECT
语句中使用CREATE MEMBER CURRENTCUBE.[Measures].[Efficiency]
AS
IIF([Measures].[Offers Value]=0, 0
, 1 - ([Measures].[Offers value], [Is Ordered].[Is Ordered - Status].&[0])
/ ([Measures].[Offers Value]))
,FORMAT_STRING="PERCENT",
, VISIBLE = 1;
。这可能是您收到错误消息的原因(您的第一个问题)。
任何你的度量定义应该看起来像
WITH ... AS
离开{{1}}。你很接近它!