【发布时间】:2019-11-18 15:57:47
【问题描述】:
我有两张桌子:
包含日期和时间的日历表。
还有一个包含事件的表,除了一组属性(在示例表中只有一个,事件代码)之外,还有开始时间和结束时间。
对于特定的日期范围,我想显示每小时发生了多少事件。
以下措施有效,但当事件表变大并且有多个切片器时会遇到困难
incidentCnt =
CALCULATE(
COUNTROWS(incidents);
FILTER(
incidents;
incidents[start_datetime] < MAX(date_hour[datetime]) &&
incidents[end_datetime] > MAX(date_hour[datetime])
)
)
在 Power BI 中使用 DAX 进行计算的更有效方法是什么?
编辑:此表达式将适用于上面提供的数据(对已接受的答案进行少量编辑)。
Expanded_Incidents =
GENERATE(
incidents;
SELECTCOLUMNS(
GENERATESERIES(
DATE(
YEAR(incidents[start_datetime]);
MONTH(incidents[start_datetime]);
DAY(incidents[start_datetime])
) + TIME(HOUR(incidents[start_datetime]);0;0);
incidents[end_datetime];
TIME(1;0;0)
);
"Expanded_incident_time"; [Value]
)
)
【问题讨论】:
标签: powerbi dax powerbi-desktop