我们试图在DAX中执行利用率%的计算,而我无法计算出孔。下面是设置:
表格图像在这里:http://imgh.us/dax.png
表1:我们的资源有一个时间表表(R1,R2,R3,R4)。每个时间表记录都有收费的日期和小时数。
表2:有一个资源表,其中包含资源雇用日期和终止日期。
表3:有一个日历表,列有每个日期的可用时间。工作日有8小时/天,周末有0小时/天
对于任何给定的过滤器上下文,我们都需要计算:
利用率%=(收费小时)/(可用时数)
这并不难,只是(可用时数)必须只包括每个员工的雇用日期和终止日期之间的日期。对于我们来说,要使它在总体水平上工作是非常困难的,因为计算必须考虑每个员工的日期范围。
我们最近得到的是:
[hours available] := SUMX(DISTINCT(timesheet[resource_key]), SUM(calendar[utility_hours]))
[hours charged] := SUM(timesheet[bill_hours])
[Utilization %] := [hours charged] / [hours available]但是,这不执行所需的资源雇用/期限日期范围筛选。
感谢您提供的任何帮助!
发布于 2015-07-15 09:45:56
需要修改可用时数的度量值,以便与日历中的所有实用程序时数之和不同,它只对日历日期介于开始日期和各自资源的终止日期之间的一组经过筛选的行进行求和。
[hours available]:=SUMX(DISTINCT(timesheet[resource_key]),CALCULATE(SUM(calendar[utility_hours]),FILTER('calendar',calendar[date_key]>=FIRSTDATE(resources[hire_date_key])),FILTER('calendar',calendar[date_key]<=LASTDATE(resources[termination_date_key]))))您可能希望修改">=“和"<=”,这取决于您是否希望在计算中包括开始日期和完成日期。
编辑:修改后的版本,用于获取本月没有使用的资源,但它是“活动的”
[hours available]:=SUMX(resources,CALCULATE(SUM(calendar[utility_hours]),FILTER('calendar',calendar[date_key]>=FIRSTDATE(resources[hire_date_key])),FILTER('calendar',calendar[date_key]<=LASTDATE(resources[termination_date_key]))))但是,你也需要改变你的小时收费给零,而不是空白处加上一个零:
[hours charged]:=SUM(timesheet[bill_hours])+0https://stackoverflow.com/questions/31420864
复制相似问题