基础手札丨筛选(修订)

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

                           ——  北野武

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

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

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

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

VALUES第一种用法 =
VALUES ( '销售明细'[商品名称] )

结果如下图:

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

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

VALUES第二种用法 =
IF ( HASONEVALUE ( '销售明细'[商品名称] ), VALUES ( '销售明细'[商品名称] ) )

结果如图:

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

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

VALUES第三种用法 =
ADDCOLUMNS ( VALUES ( '销售明细'[商品名称] ), "指标", "名称" )

结果如下:

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

传送门:

基础手札丨创建表

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

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

编写如下代码:

FILTER用法1 =
FILTER ( '产品表', '产品表'[商品名称] = "西服" )

结果如下:

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

传送门:

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

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

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

编写如下代码:

FILTER用法2 =
FILTER ( VALUES ( '产品表'[商品名称] ), '产品表'[商品名称] = "皮鞋" )

结果如图:

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

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

编写如下代码:

CALCULATETABLE用法1 =
CALCULATETABLE ( '产品表', '产品表'[成本] < 10 )

结果如图:

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

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

CALCULATETABLE用法2 =
CALCULATETABLE ( VALUES ( '产品表'[商品名称] ), '产品表'[成本] < 10 )

结果如图:

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

小伙伴们❤GET了么?

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

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

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

下面这个知识星球是针对有实际需求的小伙伴,有需要的请加入下面的知识星球。

请在PC端查看,有部分图片无法在移动端显示。
PowerBI丨白茶