我想创建名为“效率”的新衡量标准,以显示非有序交易的值(value)占总值(value)的比例:
效率=[100%-(无序/总计)]
不幸的是,我使用 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]
也是一个计算度量。我如何决定在[效率]之前计算[报价值(value)]?
最佳答案
回答你的第二个问题:你将创建两个度量,如果你在计算脚本中首先创建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
。你已经很接近了!
关于visual-studio - 维度成员的 MDX 计算度量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18977451/