DAX分享1:如何计算margin>0.45的product color有多少个?

浏览: 1994

数据描述:
PowerBI Report里面有一张Product数据源表。Product数据源表里面有一个color字段表明不同产品的颜色,另Product数据表中还包括Unit Cost和Unit Price字段可以用来计算Margin。

图1.1.png

同一产品Color会有不同的Unit Cost和Unit Price。

Margin的计算方法在本文中为,对于同一产品Color的所有Unit Cost的和除以所有Unit Price 的和。


为了不让DAX的公式过长,并且公式清楚易于理解。先计算出Margin,然后再计算在这个Margin>0.45的条件下的产品Color的总数。
新建一个Calculate Column,命名为Margin。


定义如下:
Margin =
DIVIDE (
         CALCULATE(
                 SUM(
                       'Product'[Unit Cost],
                       ALLEXCEPT(
                            'Product',
                            'Product'[Color]
                       )
                  ),
          CALCULATE(
                 SUM(
                       'Product'[Unit Price],
                        ALLEXCEPT(
                            'Product',
                            'Product'[Color]
                       )
                  ),
           0
)
(对于初学者来讲,我建议把unit cost和unit price的和也都单独建立calculate column。一步一步来,一方面可以整理思路,一方便清晰理解。初学者建议养成好的缩进习惯。)


现在我们来看一下结果:

在product表中的结果,关注最后一列。

图1.2.png

在table里的结果。

图1.3.png

下一步,计算Margin >0.45的数据值。
新建一个Measure,命名为numofcolor.
定义如下:
numofcolor=
CALCULATE (
      DISTINCTCOUNT(
               'Product'[Color]),
               FILTER(
                 ALL('Product'),
                 Product'[Margin] > 0.45
        )
)
现在我们来看一下结果:

card中结果为2

图1.4.png

结合上图可知,只有"Yellow"和"Transparent"两个Color的Margin大于0.45。结果正确。


至此,这个关于产品Margin>0.45的产品Color数就算出来了!

(如果你不了解为什么建立Calculate Column,或者不了解Calculate Column和Measure的区别,别担心。请关注本公众号,稍后share君会share一些基础学习内容以及一些公式的用法简介.)


鉴于开始share君就说了,这是一个抛砖引玉的例子。那扩展一下。在Product数据源中,不同的Brand包含多个Color,如果想得到Color总数是3的Brand都包括哪些Color,该如何建立Calculate Column和Measure呢?或者你有什么更有意思的扩展问题呢?

请关注DAX Share.稍后继续分享。

banmi.jpg


关于DAX Share

--------------------------

略有所得。希望通过分享来让很多的朋友随心所欲的使用DAX。也希望通过分享来升华自己的所知。

学无止境,希望可以通过共同学习讨论来不断完善知识内容。

--------------------------

下期预告:

DAX Share陆续分享以下内容

1. 教你快速学会PowerBI,能做出漂亮的报表。---------会尽量的写的细一点,看篇幅而定,不会超过2篇文章。

内容包括导入数据,基本的图表使用,钻取(Drill Through),书签(Bookmark)等。也会简单的涉及到Row Level Security。

如何下载安装PowerBI之类的,我就不写了,哪里都有。

Publish Report,Gateway以及PowerBI App之类的暂时不涉及。各个公司情况不一样,以后可能写一个常用Solution什么的。

2. DAX基础分享---------今天分享的内容,有些朋友说不是很懂。所以打算一边写这样内容分享,一边写一个课程分享。

内容包括新建Measure和calculate Column的选择,常用函数的使用,Evaluation Contexts,Time Intelligent等等。

3. DAX分享--------有好玩的比较不好处理的数据计算,分享给有一定DAX基础的小伙伴们。

如果谁有好玩的,不好处理的数据问题也可以发给我。

推荐 0
本文由 懒胖子 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册