前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基础手札丨筛选

基础手札丨筛选

原创
作者头像
PowerBI丨白茶
修改2021-09-02 09:28:15
2660
修改2021-09-02 09:28:15
举报
文章被收录于专栏:PowerBIPowerBI

——“虽然辛苦,我还是会选择那种滚烫的人生。”

—— 北野武

继续做@新云大佬留的题目——常见的筛选套路。

如图,一共是三个数据表格,分别是产品表、分店表以及销售明细表。

题目一:筛选出销售明细表中的商品名称。

仔细看数据其实不难发现,有很多重复值,那么就需要我们进行去重操作。编写如下代码:

代码语言:txt
复制
VALUES第一种用法 =
VALUES ( '销售明细'[商品名称] )

结果如下图:

这里详细说一下VALUES这个函数,它是使用列作为参数,结果是返回包含一列的一个表格。如果返回的结果只有一行,也可以作为单个值使用。

上面的写法就是提取某一列,取不重复的值作为维度表使用。当然,也可以作为度量值使用。编写如下代码:

代码语言:txt
复制
VALUES第二种用法 =
IF ( HASONEVALUE ( '销售明细'[商品名称] ), VALUES ( '销售明细'[商品名称] ) )

结果如图:

这是第二种用法。将数据变换为度量值。

第三种用法是将列转换为表,作为表函数的参数。输入如下代码:

代码语言:txt
复制
VALUES第三种用法 =
ADDCOLUMNS ( VALUES ( '销售明细'[商品名称] ), "指标", "名称" )

结果如下:

VALUES是一个十分灵活的函数,要与DISTINCT区分,通常情况效果是一样的,但是如果参数列有空白,DISTINCT返回的值不含空白,VALUES返回结果是包含空白的。

传送门:

基础手札丨创建表

学习CALCULATE函数(四)以点带面

题目二:筛选出产品表中某列的一个标签的相关数据。

编写如下代码:

代码语言:txt
复制
FILTER用法1 =
FILTER ( '产品表', '产品表'[商品名称] = "西服" )

结果如下:

FILTER是一个标准的高阶筛选函数,可以用来生成表,提取数据,也可以用来过滤数据,非常的灵活。

传送门:

学习CALCULATE函数(一)单条件筛选

学习CALCULATE函数(二)多条件筛选

题目三:筛选出产品表中某列的一串数据中的某个值。

编写如下代码:

代码语言:txt
复制
FILTER用法2 =
FILTER ( VALUES ( '产品表'[商品名称] ), '产品表'[商品名称] = "皮鞋" )

结果如图:

这个用法与上面的区别是利用VALUES函数进行单列的提取,而不是筛选整个表。

题目四:筛选出产品表进价小于10的产品。

编写如下代码:

代码语言:txt
复制
CALCULATETABLE用法1 =
CALCULATETABLE ( '产品表', '产品表'[成本] < 10 )

结果如图:

这是筛选出所有单价小于10的相关数据。

如果我只要产品名称呢?添加VALUES。代码如下:

代码语言:txt
复制
CALCULATETABLE用法2 =
CALCULATETABLE ( VALUES ( '产品表'[商品名称] ), '产品表'[成本] < 10 )

结果如图:

对于CALCULATE函数的一些限制规则,对于CALCULATETABLE也是有效的。前者是返回一个值,而后者是计算一个表。

小伙伴们❤GET了么?

白茶会不定期的分享一些函数卡片

(文件在知识星球PowerBI丨需求圈)

这里是白茶,一个PowerBI的初学者。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档