zoukankan      html  css  js  c++  java
  • MDX中Filter 与Exist的区别

     

     

     

     

    获得一个集合,这个一般用来筛选出一个自定义的set,比如在中国的餐厅

    该set返回所有MSDNteam下并且在Fact Thread度量上有记录的products

    用Exists实现

    select

    Exists(

    [Dim Queue].[Product - Queue].MEMBERS,

    [Dim Engineer].[Team - Engineer].[Team Name].&[MSDN],

    "Fact Thread"

    )

    on 0 from Palladium

    用Filter实现

    select

    Filter

    (

    ([Dim Engineer].[Team - Engineer].[Team Name].&[MSDN],[Dim Queue].[Product - Queue].MEMBERS),

    [Measures].[Incoming thread number] > 0

    )

    on 0 from Palladium

    Filter返回的set有两个层次,Queue和Team

    Exists返回的set只有Queue这一个层次。Exist返回的结果集比较干净。

    但Exists的缺点是只能判断一个度量组在这个维度上是否有值,而不能比较具体的值。

    如果我们许多对具体值来过滤,又只想返回某一个维度的set的话,就需要综合这两种做法了。

    select

    Filter(

    Exists(

    [Dim Queue].[Product - Queue].MEMBERS,

    [Dim Engineer].[Team - Engineer].[Team Name].&[MSDN]

    ,"Fact Thread"

    )

    , [Measures].[Incoming thread number] > 0

    )

    on 0 from Palladium

    希望这篇文章能帮到你。

  • 相关阅读:
    url末尾的斜杠作用
    awk 工具可以很灵活地对文本进行处理,这里的 awk '{print $2}'是指第二列的内容,是运行的程序 ID。 杀死指定进程
    nil和空切片
    WaitGroup源码设计,
    2
    t
    Go内置的定时器
    分布式定时器
    1 2 交换
    order by 1 DESC 2 desc
  • 原文地址:https://www.cnblogs.com/sthinker/p/6182703.html
Copyright © 2011-2022 走看看