powerbi - 我的措施在日期过滤器的情况下不起作用
问题描述
在此处输入图像描述我有资产负债表期末余额的每日值。我想要一个计算两个日期之间百分比变化的度量。问题是在工作日这些值是空的。因此,我编写了以下度量,该度量在没有过滤器时有效,但是当我放置日期过滤器时,度量的值变为零。
Change_BS %(daily) =
IF (
SUM ( 'DB Daily_BS'[Value] ) = 0,
0,
IF (
SUM ( 'Date'[Weekday] ) = 1,
DIVIDE (
SUM ( 'DB Daily_BS'[Value] )
- CALCULATE ( SUM ( 'DB Daily_BS'[Value] ), DATEADD ( 'Date'[Date], -3, DAY ) ),
CALCULATE ( SUM ( 'DB Daily_BS'[Value] ), DATEADD ( 'Date'[Date], -3, DAY ) )
),
DIVIDE (
SUM ( 'DB Daily_BS'[Value] )
- CALCULATE ( SUM ( 'DB Daily_BS'[Value] ), PREVIOUSDAY ( 'Date'[Date] ) ),
CALCULATE ( SUM ( 'DB Daily_BS'[Value] ), PREVIOUSDAY ( 'Date'[Date] ) )
)
)
)
解决方案
de 一个名为 BS_Value 的新列,它填补了周末的空白。
BS_Value =
var wday = MOD(WEEKDAY(Balance[Date]);7)
var daysBack = IF(wday < 2; wday + 1)
return CALCULATE(SUM(Balance[Value]);Balance[Date] = EARLIER(Balance[Date]) - daysBack)
基于此专栏,我制作了 BS-Change 之前的增量/减量形式:
BS_Change = Balance[BS_Value] - CALCULATE(SUM(Balance[BS_Value]);Balance[Date] = EARLIER(Balance[Date]) - 1)
最终结果:
您现在可以根据这些值制作度量或其他列。我需要说一个更动态的解决方案是可能的,我们将查找最后一个不为零的值。我没有这样做,因为我可以想象余额为零,然后它会跳过这些值。
推荐阅读
- android - 简单的 Firebase Auth UI 检查和应用程序崩溃
- python - Matplotlib AttributeError:模块“matplotlib.cbook”没有属性“_define_aliases”
- login - google user_id 可以改吗?
- html - 为什么“a@a”会通过电子邮件输入的内置验证?
- laravel - Laravel 5.7 中的会话冲突
- javascript - Javascript + Firebase 博客 addpost 函数 firstId 返回 undefined
- xpath - Xpath 从下一页到 Stack Overflow 中的 scrapy
- python - 删除每个字符串后出现的空行
- graphviz - 如何将此点程序中的节点调整为 2 x 3 表?
- java - 使用 Google pub/sub 更新单例 HashMap