TAM*_*N R 5 ssas mdx iif mdx-query
我的多维数据集中有以下数据SSAS。
我的需要是根据具有两个不同维度的两个条件,使用
MDX.
在此示例数据中,我需要获取
Reseller Sales Amount维度值Title等于销售代表Gender且维度值等于男性条件的值。
我尝试使用Case语句和IIF()函数来实现要求,MDX但它不起作用。
请查找我尝试过使用不同功能的查询。
使用 Case 语句:
WITH MEMBER [Measures].[Expression1] AS
CASE WHEN [Employee].[Title].CURRENTMEMBER.MEMBERVALUE = "Sales Representative" THEN (CASE
WHEN [Employee].[Gender].CURRENTMEMBER.MEMBERVALUE = "Male"
THEN [Measures].[Reseller Sales Amount] ELSE 0 END)ELSE 0 END select [Measures].[Expression1] on Columns from [Sales Targets]
Run Code Online (Sandbox Code Playgroud)
使用 IIF() 函数:
WITH MEMBER [Measures].[Expression1] AS
IIF( [Employee].[Title].CURRENTMEMBER.MEMBERVALUE = "Sales Representative" AND [Employee].[Gender].CURRENTMEMBER.MEMBERVALUE = "Male",
[Measures].[Reseller Sales Amount], 0)
SELECT{
[Measures].[Expression1]} ON COLUMNS FROM [Sales Targets] CELL PROPERTIES VALUE, FORMATTED_VALUE, FORMAT_STRING
Run Code Online (Sandbox Code Playgroud)
我得到的两个查询的结果都是 0。
谁能指导我使用 获得正确的结果
MDX?
您可以直接在计算的度量中使用元组:
WITH MEMBER [Measures].[Expression1] AS
([Measures].[Reseller Sales Amount], [Employee].[Title].[Sales Representative], [Employee].[Gender].[Male])
select [Measures].[Expression1] on Columns
from [Sales Targets]
Run Code Online (Sandbox Code Playgroud)
或者,如果您希望元组应用于查询中的所有单元格,则可以将元组放入 where 子句中:
Select [Measures].[Reseller Sales Amount] on Columns
from [Sales Targets]
where ([Employee].[Title].[Sales Representative], [Employee].[Gender].[Male])
Run Code Online (Sandbox Code Playgroud)