visual-studio - 维度成员的 MDX 计算度量

标签 visual-studio ssas mdx olap dimension

我想创建名为“效率”的新衡量标准,以显示非有序交易的值(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;

遇到的问题是:

  1. [Offers value]=0 或计算过程中出现其他错误。 MDX 中是否有类似“OnError”或“IsError”的解决方案?
  2. [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/

相关文章:

SSAS 2008 基础知识 : Tutorial

sql - 有什么方法可以使用 LINQ 进行 MDX 查询吗?

css - 是什么原因造成的,我该如何摆脱网页上这条奇怪的白线?

c# - Visual Studio Code Coverage 在 vNext 项目中过时了吗?

sql-server - 与 Qlikview 的连接性能更好?SQL 服务器或 SSAS 多维数据集?

ssas - 不能使引用关系起作用

ssas - SQL 到 MDX Where IN 子句

sql-server - MDX - 检索当前在 where 子句中使用的成员级别

c++ - 如何将库构建为 .dll 而不是 .lib

visual-studio - C++ Visual Studio : can not open include file . .. 呃?