ssas - MDX If 语句语法

标签 ssas mdx olap

我正在 SQL Server Analysis Service 中处理计算度量。案例如下;

我们有一个包含 4 位数字值的字符串值。如果值以 7 开头,我们想要将一个值与另一个值相加,如果不是,那么我们只想显示该值。

我尝试首先使用when语句,以及then和else部分;

Case

    when (Left([Kostensoort].[Kosten code], 1) is "7")
        Then [Measures].[Inkoop bedrag] + [Measures].[Bank bedrag]
        Else [Measures].[Inkoop bedrag]
End

这似乎不起作用。

然后我将其更改为这样的 if 语句;

if  (Left([Kostensoort].[Kosten code], 1) is "7")
    then [Measures].[Inkoop bedrag] + [Measures].[Bank bedrag]
    else [Measures].[Inkoop bedrag]
end if 

它一直说 then 关键字有错误,这让我相信我在 if 语句中做错了

我还用“=”替换了 is 来看看这是否重要,但事实并非如此

我在互联网上找到了多个来源说明我在 mdx 表达式中可以做什么和不能做什么;

http://msdn.microsoft.com/en-us/library/ms145517.aspx http://www.iccube.com/support/documentation/mdx/functions.html http://publib.boulder.ibm.com/infocenter/comphelp/v101v121/index.jsp?topic=/com.ibm.xlf121.aix.doc/proguide/ifclause.html http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp?topic=%2Fcom.ibm.dwe.cubemdx.doc%2Fmdx_expressions.html

但似乎没有一个能解决我的问题。

显然我错过了一些东西,有没有人有 MDX 和 SSAS 的经验,可以给我一些指导或方向?

最佳答案

在 MDX 中,您应该使用 IIF功能;据我所知,没有 IF/THEN/ELSE。

关于ssas - MDX If 语句语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17232109/

相关文章:

sqlps事务问题

ssas - 根据 MDX 中的日期获取度量

date - 带有日期范围过滤器的 MDX 查询

olap - 离线 OLAP 多维数据集文件格式

sql-server-2008 - MDX 中的交集

sql - 通过源表创建维度和事实表

azure - 为什么我的 Azure 分析服务需要 Azure 本地数据网关?

sql-server-express - SQL Express 上的 OLAP

html - 媒体查询 PX vs EM vs REM