前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >HasoneValue和HasoneFilter的应用及差异性

HasoneValue和HasoneFilter的应用及差异性

作者头像
逍遥之
发布2020-03-24 15:37:59
1K0
发布2020-03-24 15:37:59
举报
文章被收录于专栏:数据技巧

2. HASONEVALUE

A. 语法

代码语言:javascript
复制
Hasonevalue(<columnName>)

参数

描述

ColumnName

用于检查的列

B. 返回

标量(逻辑值)——False or Ture

C. 注意事项

通常和If函数搭配使用

D. 作用

  • 判断某列是否只有一行数据。
  • 等同于:COUNTROWS ( VALUES ( <ColumnName> ) ) = 1

E. 案例

代码语言:javascript
复制
总成绩:=SUM([成绩])
Hasonevalue总成绩:=if(Hasonevalue('表2'[姓名]),[总成绩],Blank())

解释: 我们可以看到在右边的透视表中,只显示了李老师,是因为只有李老师的数据是唯一值。

再来看一个案例:

我们希望在我们选择货币的时候能够直接进行转换,效果如下。

代码语言:javascript
复制
外汇销售金额:=If(Hasonevalue('汇率'[货币]),
                           Firstnonblank('汇率'[汇率],"")*[总销售金额],
                           Blank())

解释: 通过Hasonevalue判断是否为选择了单个货币种类,则计算转换汇率。这里需要注意的是,在这个业务模型中,总销售金额的货币是不确定的,是通过我们货币进行转换成人民币,而不是人民币转换成美金。当然也可以换过来操作。

代码语言:javascript
复制
外汇销售金额:=If(Hasonevalue('汇率'[货币]),
                           Divide([总销售金额],Firstnonblank('汇率'[汇率],"")),
                           Blank())

3. HasoneFilter

A. 语法

代码语言:javascript
复制
HasoneFilter(<columnName>)

B. 返回

标量——逻辑值(Ture or False)

C. 注意事项

哪些会涉及到筛选?

  • 外部因素:行,列,筛选器,切片器
  • 表筛选函数:Filters,Distinct,Values等

D. 作用

  • 判断列是否被筛选,返回逻辑判断值。
  • 等同于:COUNTROWS ( FILTERS () ) = 1

E. 案例

代码语言:javascript
复制
HasoneValue总成绩:=If(Hasonefilter([姓名]),[总成绩],Blank())

因为姓名被放入到列里面,是被筛选了,所以成绩会显示。而另一边只放了学科和教课老师,姓名没有在筛选条件里,所以不显示。

Hasonefilter和Hasonevalue筛选判断函数的差异

我们来看3个图

代码语言:javascript
复制
HasoneValue总成绩:=If(HasoneFilter([姓名]),[总成绩],Blank())
HasoneFilter总成绩:=If(HasoneValue('表2'[姓名]),[总成绩],Blank())

解释: 姓名未被筛选,所以Hasonefilter返回空值; 姓名因为有多个值,所以Hasonevalue返回空值。

解释: 姓名被筛选,而且只有姓名被筛选一次,所以HasoneFilter显示成绩; 姓名被作为列后,只有单个值,所以HasoneValue显示成绩。

解释: 姓名未被筛选,也就不存在几个筛选的问题,所以Hasonefilter返回空值; 教师被筛选后,因为只有李老师对应一个姓名,也就是李四。所以返回李四的李老师的成绩60。

请点个赞,转发分享给更多的人。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-05-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据技巧 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2. HASONEVALUE
    • A. 语法
      • B. 返回
        • C. 注意事项
          • D. 作用
          • 3. HasoneFilter
            • A. 语法
              • B. 返回
                • C. 注意事项
                  • D. 作用
                  • Hasonefilter和Hasonevalue筛选判断函数的差异
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档