首页 > 解决方案 > SSAS 计算成员上的复杂过滤器

问题描述

我尝试使用以下复杂过滤器在我的 SSAS 多维数据集中创建一个计算度量值:

([Measures].[Amount],[Scenarios].[Scenario Key].&[1],[AccountType],[AccountType].[Account Type].&[Bank],[AccountType].[Account Type].&[Cash],[AccountType].[Account Type].&[NotesReceivable],[JE Type].[JE Type].&[CI],[JE Type].[JE Type].&[NR])

我想获取具有以下内容的金额值的总和:

  1. 场景键 = 1
  2. 帐户类型 IN(“银行”、“现金”、“应收票据”)
  3. JE 输入 ("CI","NR")

但是我将此措施视为 Null 那么任何人都可以帮助解决这个问题吗?

标签: ssasdaxcube

解决方案


它不起作用,因为您正在执行相同维度层次结构的交集: [AccountType].[Account Type].&[Bank],[AccountType].[Account Type].&[Cash]

在 MDX 中表示同时:Account Type = BankAND Account Type = Cash

只需使用一组成员和 SUM 函数。

试试这个:

SUM(
{[AccountType].[Account Type].&[Bank]
,[AccountType].[Account Type].&[Cash]
,[AccountType].[Account Type].&[NotesReceivable]}
*
{[JE Type].[JE Type].&[CI]
,[JE Type].[JE Type].&[NR]}

,([Scenarios].[Scenario Key].&[1],[Measures].[Amount]))

解释:

  • SUM- 聚合函数
  • Dimension1 filter * Dimension2 filter- 给出了所有组合
  • (Dimension3,measure)- 过滤掉单个选定的维度

推荐阅读