powerbi - 如何在 DAX 中获取状态持续时间?
问题描述
假设我有一个 PowerBI 表,其中包含进入每个状态的时间:
Object | State | Start |
1 A 0
2 A 0
3 B 0
1 B 3
2 B 4
1 C 5
现在我想创建一个计算列,显示每个对象在每个状态下的时间量,例如,鉴于上述数据,我希望输出看起来像这样:
Object | State | Start | Calculated Column |
1 A 0 3
2 A 0 4
3 B 0 10
1 B 3 2
2 B 4 6
1 C 5 5
(假设当前时间为 10)
请注意,状态序列不一定是已知的。在我的示例中它们是A
, B
,C
但在实际情况下它们是哈希值。
如何在 PowerBI/DAX 中执行此操作?
解决方案
这是我尝试过的:
Column =
var CurrentTime = 10
var CurrentObj = Table1[Object]
var CurrentStart = Table1[Start]
var CurrentState = Table1[State]
var NextStart = CALCULATE(FIRSTNONBLANK(Table1[Start],1=1), FILTER(Table1, Table1[State] = CurrentState + 1),FILTER(Table1, Table1[Object]=CurrentObj))
RETURN IF(ISBLANK(NextStart), CurrentTime - CurrentStart,NextStart - CurrentStart)
结果:
推荐阅读
- pandas - 大熊猫中带有移位索引的滚动总和
- java - Fabric 1.16.5 开发启动时崩溃:初始化 mixin 配置时出错
- python - 访问列表字典中列表的最小元素
- python - Mac M1 中损坏的 Python
- android - Android 上的 Expo 图像压缩
- angular - 在页面上添加相同 Angular 元素的两个实例会中断路由
- c# - 有没有办法根据向导中的用户输入从 Visual Studio 项目模板中排除文件?
- javascript - 服务器集成测试
- c# - 如何解决 INSERT 语句与 FOREIGN KEY 约束“FK_Tickets_AspNetUsers_UserId”冲突
- dataframe - 加载多个 xls 文件、编辑和附加到一个数据帧中