如何在 PBI 中使用 DAX 根据标准计算 Avg
How to calc Avg based on criteria using DAX in PBI
我设法通过添加基于完成状态的计算列 TimeToComplete,因为 DAX 不接受空白,所以必须输入 -999。
[TimeToComplete] =
if('Table1'[Status]<>"incomplete",
'Table1'[Date completed]-'Table1'[Date Assigned],-999
)
现在我的问题是,当我尝试创建一个度量来获取 TimeToComplete 列上的总体 Avg 时,它采用了所有内容,包括不起作用的 -999。但我无法使用 IF 进行测量。我怎样才能获得完成总体平均时间的衡量标准?另外,我怎样才能获得平均时间来完成每项任务的细分。
我会在表格中输入一个度量:
TimeToComplete :=
AVERAGEX (
FILTER (
'Table1' ,
'Table1'[Status'] <> "incomplete"
),
'Table1'[TimeToComplete]
)
例如,如果您将其放入 table 视觉对象中,则此度量应该适用于总任务和每项任务。
要省略您已经添加的计算列,您可以这样做,它独立于 'Table1'[TimeToComplete]
列:
TimeToComplete :=
AVERAGEX (
FILTER (
'Table1' ,
'Table1'[Status'] <> "incomplete"
),
DATEDIFF (
'Table1'[Date Assigned] ,
'Table1'[Date completed] ,
DAY
)
)
您不能在度量中使用构造 IF ( 'Table'[Col] = "Value" , ... )
,只能在计算列或扫描 table 的迭代器中使用,因为行上下文会提供 1 个值进行比较。
一些度量可以使用SELECTEDVALUE ( ... )
函数作为聚合方法来传递特定值进行比较。
我设法通过添加基于完成状态的计算列 TimeToComplete,因为 DAX 不接受空白,所以必须输入 -999。
[TimeToComplete] =
if('Table1'[Status]<>"incomplete",
'Table1'[Date completed]-'Table1'[Date Assigned],-999
)
现在我的问题是,当我尝试创建一个度量来获取 TimeToComplete 列上的总体 Avg 时,它采用了所有内容,包括不起作用的 -999。但我无法使用 IF 进行测量。我怎样才能获得完成总体平均时间的衡量标准?另外,我怎样才能获得平均时间来完成每项任务的细分。
我会在表格中输入一个度量:
TimeToComplete :=
AVERAGEX (
FILTER (
'Table1' ,
'Table1'[Status'] <> "incomplete"
),
'Table1'[TimeToComplete]
)
例如,如果您将其放入 table 视觉对象中,则此度量应该适用于总任务和每项任务。
要省略您已经添加的计算列,您可以这样做,它独立于 'Table1'[TimeToComplete]
列:
TimeToComplete :=
AVERAGEX (
FILTER (
'Table1' ,
'Table1'[Status'] <> "incomplete"
),
DATEDIFF (
'Table1'[Date Assigned] ,
'Table1'[Date completed] ,
DAY
)
)
您不能在度量中使用构造 IF ( 'Table'[Col] = "Value" , ... )
,只能在计算列或扫描 table 的迭代器中使用,因为行上下文会提供 1 个值进行比较。
一些度量可以使用SELECTEDVALUE ( ... )
函数作为聚合方法来传递特定值进行比较。