首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选择度量值>0的度量值

选择度量值>0的度量值
EN

Stack Overflow用户
提问于 2014-10-23 10:53:01
回答 1查看 3.2K关注 0票数 0

我想数一下

上的不同(维度)用户GUID

(度量) M1 >0和(度量值) M2 >0的特定(维度)月份

我的问题是:

代码语言:javascript
复制
 WITH 
  MEMBER [Measures].[M1 Count] AS 
    Count
    (
      NonEmpty
      (
          NonEmpty
          (
            [AAUser].[USER GUID].[USER GUID].MEMBERS
           ,[Measures].[M1]
          )
        * 
          {[Measures].[M1]}
      )
    ) 
  MEMBER [Measures].[T2 Count] AS 
    Count
    (
      NonEmpty
      (
        NonEmpty
        (
          [AAUser].[USER GUID].[USER GUID].MEMBERS
         ,[Measures].[T2]
        )
       ,{[Measures].[T2]}
      )
    ) 
SELECT 
  {
    [Measures].[M1 Count]
   ,[Measures].[T2 Count]
  } ON COLUMNS
 ,[AATime].[Month].[Month].ALLMEMBERS ON ROWS
FROM [MyCube]
WHERE 
  {
      StrToMember("[AATime].&[2013-11-01T00:00:00]")
    : 
      StrToMember("[AATime].&[2014-10-31T00:00:00]")
  };

我得到的结果是:

这是错误的,因为我选择了NONEMPTY,它将返回所有内容(即使值为0)。有人能修改我的查询并过滤(where [Measures].[M1] > 0 and [Measures].[M2] > 0)吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-23 11:11:59

(未测试)也许您可以使用函数filter

代码语言:javascript
复制
WITH 
  MEMBER [Measures].[M1 Count] AS 
    Count
    (
      NonEmpty
      (
          NonEmpty
          (
            filter(
              [AAUser].[USER GUID].[USER GUID].MEMBERS
              , ([Measures].[M1] > 0 AND [Measures].[M2] > 0)
            )
           ,[Measures].[M1]
          )
        * 
          {[Measures].[M1]}
      )
    ) 
  MEMBER [Measures].[T2 Count] AS 
    Count
    (
      NonEmpty
      (
        NonEmpty
        (
            filter(
              [AAUser].[USER GUID].[USER GUID].MEMBERS
              , ([Measures].[M1] > 0 AND [Measures].[M2] > 0)
            )          
         ,[Measures].[T2]
        )
       ,{[Measures].[T2]}
      )
    ) 
SELECT 
  {
    [Measures].[M1 Count]
   ,[Measures].[T2 Count]
  } ON COLUMNS
 ,[AATime].[Month].[Month].ALLMEMBERS ON ROWS
FROM [MyCube]

但是也许沿着这些路线的东西会更好呢?

代码语言:javascript
复制
WITH 
  MEMBER [Measures].[M1 Count] AS 
    Sum
    (
      [AAUser].[USER GUID].[USER GUID]
     ,IIF
      (
        [Measures].[M1] > 0 AND [Measures].[M2] > 0
       ,1
       ,NULL
      )
    ) 
  MEMBER [Measures].[T2 Count] AS 
    Sum
    (
      NonEmpty
      (
        [AAUser].[USER GUID].[USER GUID]
       ,[Measures].[T2]
      )
     ,IIF
      (
        [Measures].[M1] > 0 AND [Measures].[M2] > 0
       ,1
       ,NULL
      )
    ) 
SELECT 
  {
    [Measures].[M1 Count]
   ,[Measures].[T2 Count]
  } ON COLUMNS
 ,[AATime].[Month].[Month].ALLMEMBERS ON ROWS
FROM [MyCube];
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26526518

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档