Power BI根据一定范围内的度量获取记录数
Power BI get count of records based on measure within a certain range
我可以使用计算列来执行此操作,但我想知道是否可以通过度量来简化它。我有一个 table 任务,其中包含一个任务截止日期列,并创建了一个度量来计算距离截止日期还有多少天:Days to Due Date = sumx('Data Submittals', datediff(TODAY(), 'Data Submittals'[Due Date], DAY))
;这按预期工作。
我想获取度量值在未来某个日期范围内(0-30天、30-60天、60-90天等)的记录数;这些日期桶在 table 中,每个桶都有最小值和最大值。是否可以创建一个单独的度量来标识每个存储桶的计数,然后将日期存储桶名称和计数(新度量)添加到 table 中?寻找这样的东西:
日期范围
计数
0 - 30 天
1
30 - 60 天
0
60 - 90 天
2
90 多天
2
我尝试调整我在 CALCULATE
中使用 RANKX
看到的示例:
CALCULATE(count('Data Submittals'[Title]),
FILTER(VALUES('Data Submittals'[Title]),
COUNTROWS(FILTER('Date Groups',
RANKX(ALL('Data Submittals'[Title]), [Days to Due Date],, DESC) > 'Date Groups'[Min] &&
RANKX(ALL('Data Submittals'[Title]), [Days to Due Date],, DESC) <= 'Date Groups'[Max])
)
)
)
这只让我对前两组的计数不正确(包括截止日期在过去的任务)。我还尝试在 COUNTX
(COUNTX('Date Groups', if([Days to Due Date] > 'Date Groups'[Min] && [Days to Due Date] <= 'Date Groups'[Max], 1))
) 中使用 IF
,但这并没有 return 任何东西。我觉得我可能想多了。
也许是这样的:
Count per day range :=
VAR _min = SELECTEDVALUE ( 'Date Groups'[Min] )
VAR _max = SELECTEDVALUE ( 'Date Groups'[Max] )
RETURN
COUNTROWS (
FILTER (
ALL ( 'Data Submittals' ) ,
[Days to Due Date] > _min &&
[Days to Due Date] <= _max
)
)
我可以使用计算列来执行此操作,但我想知道是否可以通过度量来简化它。我有一个 table 任务,其中包含一个任务截止日期列,并创建了一个度量来计算距离截止日期还有多少天:Days to Due Date = sumx('Data Submittals', datediff(TODAY(), 'Data Submittals'[Due Date], DAY))
;这按预期工作。
我想获取度量值在未来某个日期范围内(0-30天、30-60天、60-90天等)的记录数;这些日期桶在 table 中,每个桶都有最小值和最大值。是否可以创建一个单独的度量来标识每个存储桶的计数,然后将日期存储桶名称和计数(新度量)添加到 table 中?寻找这样的东西:
日期范围 | 计数 |
---|---|
0 - 30 天 | 1 |
30 - 60 天 | 0 |
60 - 90 天 | 2 |
90 多天 | 2 |
我尝试调整我在 CALCULATE
中使用 RANKX
看到的示例:
CALCULATE(count('Data Submittals'[Title]),
FILTER(VALUES('Data Submittals'[Title]),
COUNTROWS(FILTER('Date Groups',
RANKX(ALL('Data Submittals'[Title]), [Days to Due Date],, DESC) > 'Date Groups'[Min] &&
RANKX(ALL('Data Submittals'[Title]), [Days to Due Date],, DESC) <= 'Date Groups'[Max])
)
)
)
这只让我对前两组的计数不正确(包括截止日期在过去的任务)。我还尝试在 COUNTX
(COUNTX('Date Groups', if([Days to Due Date] > 'Date Groups'[Min] && [Days to Due Date] <= 'Date Groups'[Max], 1))
) 中使用 IF
,但这并没有 return 任何东西。我觉得我可能想多了。
也许是这样的:
Count per day range :=
VAR _min = SELECTEDVALUE ( 'Date Groups'[Min] )
VAR _max = SELECTEDVALUE ( 'Date Groups'[Max] )
RETURN
COUNTROWS (
FILTER (
ALL ( 'Data Submittals' ) ,
[Days to Due Date] > _min &&
[Days to Due Date] <= _max
)
)