zoukankan      html  css  js  c++  java
  • Filter函数条件判断

    select
        Filter(
            [Time].[YQMD].[Quarter].Members,
            [Measures].[Unit Sales] >750
        )*[Measures].[Unit Sales] on 0
    ,{[Customer].[Customer].[AZ], [Customer].[Customer].[NM],
    [Customer].[Customer].[UT]} on 1
    from [Sales]
    image
    疑问:什么已经指定了过滤条件[Measures].[Unit Sales]>750 ,为什么有这么多小于750的数据也返回了呢?看下列查询语句:

    select
        Filter(
            [Time].[YQMD].[Quarter].Members,
            [Measures].[Unit Sales] >750
        )*[Measures].[Unit Sales] on 0
    ,[Customer].[Customer].members on 1
    from [Sales]
    image

    看第一列第一行的All每一个的Unit Sales都符合过滤条件

    Filter(
            [Time].[YQMD].[Quarter].Members,
            [Measures].[Unit Sales] >750
        )

    这个Filter过滤语句语义:返回销售额大于750的所有季度。先计算Filter函数,得到符合条件的集合,然后再跟axis(1)做单元值拆分运算。

    这是跟解析顺序有关的:
    from(求值)——》where with Set(或者聚合函数)——》axis(求值,每个轴)——》Result Cell(得到单元值)

  • 相关阅读:
    MasterPage中找尋控件
    Win2003服务器发布的网站Session经常丢失
    Toolkits
    aspnet_regiis 命令格式說明
    SQL转换数字中文大写
    ASP.NET2.0实现无刷新客户端回调
    SQL的使用规范
    pku3207 2SAT问题入门
    unity3d打包资源
    Vector3.Lerp 插值
  • 原文地址:https://www.cnblogs.com/timy/p/1613719.html
Copyright © 2011-2022 走看看