PowerQuery技巧之学习 CALCULATE 函数(二)

PowerQuery技巧之学习 CALCULATE 函数(二)


2024年4月7日发(作者:)

学习

CALCULATE

函数(二)

上期呢,白茶分享了一些

CALCULATE

的心得,但是要知道我们在对数据进行分析的时候,往往是多条件参考的,比如说哪个区

域、哪个时间点、哪个状态的销售的最好,这就很明显需要我们在计算的时候把这些选项算进去。

在纸上计算很容易,但是

DAX

中如何进行呢?

来,看下面的例子:

这是我们在上一期使用的示例文件,现在我添加了一个下面的维度表:

这样的话昨天我们的计算公式就有了很大的调整空间。

销售

=

VAR SQ =

CALCULATE ( [

数量

], FILTER ( '

', [

条件

] = "N" ) ) //

这里一样,可以替换成自己的数据

VAR HQ =

CALCULATE ( [

数量

], FILTER ( '

', [

条件

] = "M" ) )

RETURN

SQ - HQ

这是我们昨天编写的代码,用途是区分开销售与退货的情况,但是现在我想计算包含产品类别的销售与退货,该如何处理呢?

编写如下代码:

首先是基础的销售聚合代码。

数量

=

SUM('

'[

])//

这里我替换成了示例文件

接下来就开始编写我们的代码:

双条件筛选

=

VAR SA =

CALCULATE ( [

数量

], FILTER ( '

', [

筛选项

] = "M" && [

筛选项

] = "L" ) ) //

这里的话自己调整数据

VAR SQ =

CALCULATE ( [

数量

], FILTER ( '

', [

筛选项

] = "N" && [

筛选项

] = "L" ) )

RETURN

SA - SQ

如下图:

计算一张销售表中,分类属于手机的销售与退货情况,其结果如下:

结果一目了然,这里解释一下代码含义:

CALCULATE([

求和项

]

,这一部分是最终结果的表达式,也就是说无论后面条件怎么样,都是为了这个求和项准备的。

FILTER('

'

,是为了筛选符合我们要求的有效值。

[

条件项

]="M"

,是为了选出符合我们要求的有效值。

&&

,这是微软的标准连接字符,表示

并且

的意思,可以与

AND

替换。

怎么样,是不是这么拆分着说好理解多了?

来,继续我们的例题,还没结束。我现在想知道手机的销售有哪些停产了?这个代码如何进行?来,继续:

首先在模型关系中确立二者的联系。

编写如下代码:

双表三条件

=

VAR SA =

CALCULATE (

[

聚合项

],

FILTER ( '

1', [

条件项

1] = "M" && [

条件项

1] = "L" ),

FILTER ( '

2', [

条件项

2] = "S" )

)

VAR SQ =

CALCULATE (

[

聚合项

],

FILTER ( '

1', [

条件项

1] = "N" && [

条件项

1] = "L" ),

FILTER ( '

2', [

条件项

2] = "S" )

)

RETURN

SA - SQ

如图:

结果如下:

是不是达到我们的要求了?

说一下原理,原则上

CALCULATE

并没有限制筛选条件的数量,理论上是无限的。


发布者:admin,转转请注明出处:http://www.yc00.com/web/1712459520a2063284.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信