美文网首页BI学习笔记
销售需求丨借贷记账法(补修版)

销售需求丨借贷记账法(补修版)

作者: Fabric丨白茶 | 来源:发表于2020-09-08 22:16 被阅读0次

小伙伴们,还记得之前的《销售需求丨借贷记账法》的文章么?当时的最后结果展示如下:


这个动图展示的就是最终的动态结果,但是很明显有点问题,就是当切片器没有选择任何对象的时候,数据模型会呈现错误的提示,这是什么原因造成的呢?
先来看看之前的代码:

借贷记账法 = 
VAR HQ =
    CALCULATETABLE (
        VALUES ( '示例'[订单编号] ),
        '示例'[项目名称] = ALLSELECTED ( '维度表'[项目名称] )
    )
RETURN
    CALCULATE ( SUM ( '示例'[金额] ), HQ )

这是之前采用的代码。其实不只是这一期,还有很多期的实际例子都存在这种情况:
当需要构建维度作为筛选条件,来为数据模型提供上下文进行计算的时候,都会遇到这个问题,就是无筛选状态下,没有数据来提供上下文,这就导致没有结果。那么该如何处理呢?
IN函数
IN函数本身是一个“逻辑”函数。按照微软的解释,当提供的标量值,在相对应的表格中至少有一行的情况,结果都是TRUE。什么意思?
比如说:5 IN {5,15,25}这个结果返回就是正确可以显示的,因为5在后面的表中;10 IN {5,15,25}这个结果返回就是错误的,因为表中没有符合10的选项。
这里有两种方法,方法1修改代码如下:

优化借贷记账法1 = 
VAR HQ =
    CALCULATETABLE (
        VALUES ( '示例'[订单编号] ),
        '示例'[项目名称] IN ALLSELECTED ( '维度表'[项目名称] )
    )
RETURN
    CALCULATE ( SUM ( '示例'[金额] ), HQ )

方法2代码如下:

优化借贷记账法2 = 
VAR HQ =
    CALCULATETABLE ( VALUES ( '示例'[订单编号] ), '示例'[项目名称] IN VALUES ( '维度表'[项目名称] ) )
RETURN
    CALCULATE ( SUM ( '示例'[金额] ), HQ )

先来看看结果,白茶再解释代码:

上面两个图用的是之前的代码,下面三个图用的是修改之后的代码,小伙伴们看出来区别了么?这里面的关键就在于“IN”“=”的区别。“=”的情况下,需要提供一个具体的标量值。也就是说在非筛选状态下,等号右边的默认条件是“空”,这种情况下数据模型肯定会报错。
“IN”的情况下,右边提供的是一个范围表。非筛选状态下,没有任何选项右边默认的条件是“整个表”,IN左边的选项肯定都包含在维度表里面,因为之前我们用VALUES提取的维度,那么结果返回就必然是TRUE的。
这就是提供值,与提供一张表的区别。

基本上当满足条件时,都可以使用IN函数:
1、非筛选情况下,左边的值全部在IN右边的表中有对应项目。
2、特别是根据需求自己构建维度的情况,基本都适用。

小伙伴们,GET了么?

(白茶:Biu~❤)

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

相关文章

  • 销售需求丨借贷记账法(补修版)

    小伙伴们,还记得之前的《销售需求丨借贷记账法》的文章么?当时的最后结果展示如下: 这个动图展示的就是最终的动态结果...

  • 销售需求丨借贷记账法(修)

    本期呢,白茶决定分享一下一位星球小伙伴的提问。 (示例文件会放到知识星球中,小伙伴们可以搜索“PowerBI丨需求...

  • 2019-03-31

    借贷记账法 借贷记账法,是以界和带作为符号的一种复式记账法。复式记账法是指对于每一笔经济业务都必须用相等的金额在两...

  • 支付产品-资金账户设计要知晓:会计等式“有借必有贷,借贷必相等。

    借贷记账法起源于13世纪的意大利,在清朝末期的光绪年间从日本传人中国。在各种复式记账法中,借贷记账法是产生最早,并...

  • 借贷记账法

    “借”、“贷”只是纯粹的记账符号,没有任何含义在内,至于哪一个字表示增加或减少要取决于账户的性质及结构。 资产+费...

  • 2019-08-07学习实验第10天

    8月学习实验 日目标:掌握3个知识点 中午午休时间,复习昨日所学知识点:借贷记账法的记账规则、借贷记账法下的账户对...

  • 2018会计中如何区分借贷

    【导读】借贷记账法中如何区分借贷方也一直困扰着许多初学会计的同学。下面为你分析一下如何区分。 借贷记账法是以“借”...

  • 笔记:借贷记账法

    会计的借和贷的产生,源于”借贷记账法“,借贷记账法下,所有账户的结构都是左方为借方,右方为贷方,但借方、贷方反映会...

  • 传统记账和分布式记账的区别

    复式记账法:有借必有贷,借贷两相等。 分布式记账法:一笔交易,全部记录

  • 会计基础 - 08 账户对应关系和会计分录

    会计基础 - 大纲 会计基础 - 07 会计记账 借贷记账法下的 、 一、账户对应关系 二、会计分录

网友评论

    本文标题:销售需求丨借贷记账法(补修版)

    本文链接:https://www.haomeiwen.com/subject/hlfsektx.html