powerbi - Power BI - 以小时(> 24 小时)计算两个日期/时间值之间的差异,然后计算平均值
问题描述
我有一个 Power BI 发布的数据集并使用 DAX 我试图计算每个任务的开始日期时间和结束日期时间之间的差异(总时间),然后计算所有任务的平均总时间(以小时为单位)。我尝试了几种方法,但都失败了。我没有选择编辑查询或将数据转换为我已连接到的已发布数据集,我所能做的就是创建以小时为单位给出时间差的度量,即使它超过 24 小时,然后取平均值就像下面的例子一样;
Tasks Start DateTime End DateTime Total Time Taken
1 10/08/2020 10:30:00 11/08/2020 10:30:00 24:00:00
2 10/08/2020 11:30:00 12/08/2020 10:30:00 47:00:00
3 12/08/2020 10:30:00 14/08/2020 10:30:00 48:00:00
4 10/08/2020 10:30:00 16/08/2020 10:30:00 144:00:00
所有任务的平均值 65:45:00
所以需要你们的帮助来破解一个解决方案。提前致谢。
解决方案
创建如下度量 -
duration_average =
VAR total_second =
AVERAGEX(
your_table_name,
DATEDIFF(your_table_name[Start DateTime],your_table_name[End DateTime],SECOND)
)
VAR DAXDay = INT(total_second/(24*60*60))
VAR DAXHours = MOD(INT(total_second/(60*60)),24)
VAR DAXMin = MOD(INT(total_second/60),60)
VAR DAXSec = MOD(total_second,60)
RETURN DAXDay &" Day "& DAXHours &" Hour "& DAXMin &" Minute "& DAXSec &" Second"
输出将如下所示。您还可以从原始值创建自己需要的格式化输出。
推荐阅读
- svg - 在svg中镜像异物
- java - OracleDriver ClassNotFound
- linux - 如何在 Bash 脚本中以千字节为单位打印文件的大小?
- reactjs - Wordpress Gutenberg PluginDocumentSettingPanel 不适用于控件?
- python - 语法解释:python中的方括号
- node.js - 如何在 Node 中合并繁重的 .csv 文件
- java - 如何在拖动视图之前实现draglistener而无需触摸并按住
- python - 如何完全卸载 jupyter nbextension?
- solr - 如何在重新索引(DIH)到 Solr 期间忽略从 DB 复制空值或空值
- jmeter - 如何使用 JSR223 将代码放入 Keyword 并执行?