Powerbi 如何显示由间隔和每个实例的时间定义的运行总时间

Powerbi 如何显示由间隔和每个实例的时间定义的运行总时间,powerbi,dax,m,Powerbi,Dax,M,我有一个表,定义了执行客户机服务的时间间隔。还定义了每次执行服务的平均持续时间 像这样: 上表是将为某些客户端执行的服务示例 对于ClientId:1,信息应理解为: 客户1已订购ServiceType:100,每周一点五小时执行一次 第三天,从2020-01-01开始,直到另行通知 对于客户:4,信息应理解为: 客户端4已命令ServiceType:200每4小时执行一次 第4天,从2020-01-02开始,直到另行通知 我的老板现在想让我制作一张图表,按日期显示任何服务的总花费时间 2020

我有一个表,定义了执行客户机服务的时间间隔。还定义了每次执行服务的平均持续时间

像这样:

上表是将为某些客户端执行的服务示例

对于ClientId:1,信息应理解为:

客户1已订购ServiceType:100,每周一点五小时执行一次 第三天,从2020-01-01开始,直到另行通知

对于客户:4,信息应理解为:

客户端4已命令ServiceType:200每4小时执行一次 第4天,从2020-01-02开始,直到另行通知

我的老板现在想让我制作一张图表,按日期显示任何服务的总花费时间

2020-01-01和2020-01-31之间的日期范围应创建以下理论数据集以显示:

我只需要显示日期和总时间,其他列可以忽略

然后,上述数据将显示在图表中,如下所示:

我的问题是如何创建一个可以计算总时间的度量,给定报告中当前选择的日期过滤器,并可用于创建上述图表

非常感谢您的帮助

亲切问候,,
Peter

您可以使用M Power Query实现这一点,我的解决方案不会像IntervalType那样管理您要求的所有细节,但允许您在输入标准化后获得所需的行

以下M脚本将满足以下要求。您可以使用高级编辑器查看完整脚本:

所有行和使用的度量值共享相同的度量单位,即:天 之后,只需删除不需要的列

{here you have already loaded your table}
/*Calculate the difference between the 2 dates in days*/
/*note that if the end date is 9999-12-31 you may want to set an upper limit*/
#"Added Custom" = Table.AddColumn(#"Changed Type", "DaysInterval", each Duration.Days([EndDate]- [StartDate])),

/*Calculate how many times the service will be performed in the calculated interval*/
#"Added Custom1" = Table.AddColumn(#"Added Custom", "IntervalOccurence", each Number.RoundDown([DaysInterval]/[Interval])),

/*Use what has been calculated so far to create a list of dates for each row*/
#"Added Custom2" = Table.AddColumn(#"Added Custom1", "ListDates", each List.Dates([StartDate],[IntervalOccurence],#duration([Interval], 0, 0, 0))),

/*Expand the list to rows (using the UI click on the arrows in the column header)*/
#"Expanded ListDates" = Table.ExpandListColumn(#"Added Custom2", "ListDates")