繁体   English   中英

SSAS MDX计算过滤器

[英]SSAS MDX calculation filter

我想做这样的事情(tsql):

select saldi
where rek in (4,8)
 and rek5  <> 41111 
 and rek3  not in (a,b,c)

在MDX之后,过滤器(4,8)<> 41111不起作用。 如果我卸下41111过滤器,则该措施工作正常,仅显示4/8。 将41111添加为“ <>”过滤器,结果为空白,甚至不为0.00。

THIS = IIF(
   ( [Rekeningen].[Rek n1].CurrentMember  = [Rekeningen].[Rek n1].&[4]
        or [Rekeningen].[Rek n1].CurrentMember  =  [Rekeningen].[Rek n1].&[8] )
   and [Rekeningen].[Rek n5].CurrentMember <> [Rekeningen].[Rek n5].&[41111]
,
   [Measures].[Saldi], 0.00
); 

我尝试使用Google,但似乎没有正确输入关键字。 在social.msdn.microsoft.com上,很多反应都被标记为答案,但到目前为止对我而言还不是。 部署ssas多维数据集工作正常,没有错误。

有人能指出我正确的方向吗? 我尝试了Except ,但是该命令似乎不适用于多字段(rek3 / rek5)。

比较成员时使用ISNOT IS 这给了我们这个:

THIS = 
  IIF
  (
      (
        [Rekeningen].[Rek n1].CurrentMember IS [Rekeningen].[Rek n1].&[4]
      OR 
        [Rekeningen].[Rek n1].CurrentMember is [Rekeningen].[Rek n1].&[8]
      )
    AND 
      [Rekeningen].[Rek n5].CurrentMember IS NOT [Rekeningen].[Rek n5].&[41111]
   ,[Measures].[Saldi]
   ,0
  );

而不是0 ,几乎应该在多维数据集脚本calcs中始终使用null ,否则将导致性能下降:

THIS = 
  IIF
  (
      (
        [Rekeningen].[Rek n1].CurrentMember IS [Rekeningen].[Rek n1].&[4]
      OR 
        [Rekeningen].[Rek n1].CurrentMember is [Rekeningen].[Rek n1].&[8]
      )
    AND 
      [Rekeningen].[Rek n5].CurrentMember IS NOT [Rekeningen].[Rek n5].&[41111]
   ,[Measures].[Saldi]
   ,NULL
  );

我不相信这些会员名吗? [Rekeningen].[Rek n1].CurrentMember[Rekeningen].[Rek n1].&[4] 让我添加我认为它们可能是的两种选择:

1。

THIS = 
  IIF
  (
      (
        [Rekeningen].[Rek n1].CurrentMember IS [Rekeningen].[Rek n1].[Rek n1].&[4]
      OR 
        [Rekeningen].[Rek n1].CurrentMember is [Rekeningen].[Rek n1].[Rek n1].&[8]
      )
    AND 
      [Rekeningen].[Rek n5].CurrentMember IS NOT [Rekeningen].[Rek n5].[Rek n5].&[41111]
   ,[Measures].[Saldi]
   ,NULL
  );

要么

2。

THIS = 
  IIF
  (
      (
        [Rekeningen].CurrentMember IS [Rekeningen].[Rek n1].&[4]
      OR 
        [Rekeningen].CurrentMember is [Rekeningen].[Rek n1].&[8]
      )
    AND 
      [Rekeningen].CurrentMember IS NOT [Rekeningen].[Rek n5].&[41111]
   ,[Measures].[Saldi]
   ,NULL
  );

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM