Sql DAX测量基于过滤器中的最后日期显示最后状态
我将数据从Jira数据库拉入用于Scrum sprint度量的Power BI报告。我试图显示sprint结束时问题的最后状态。我创建了两个度量——一个显示sprint中问题状态更改的最后日期,另一个显示该状态是什么Sql DAX测量基于过滤器中的最后日期显示最后状态,sql,powerbi,jira,dax,Sql,Powerbi,Jira,Dax,我将数据从Jira数据库拉入用于Scrum sprint度量的Power BI报告。我试图显示sprint结束时问题的最后状态。我创建了两个度量——一个显示sprint中问题状态更改的最后日期,另一个显示该状态是什么 | Issue_ID | NEWSTATUS | CHANGEDATE | Sprint_Name | Sprint_Start_Date | Sprint End Date | | -------- | ---------
| Issue_ID | NEWSTATUS | CHANGEDATE | Sprint_Name | Sprint_Start_Date | Sprint End Date |
| -------- | ----------- | ----------------------- | ----------- | ----------------------- | ----------------------- |
| 1101 | Done | 2020-04-15 08:33:27.547 | SPRINT1 | 2020-04-01 11:16:28.000 | 2020-04-15 08:50:17.000 |
| 1101 | Validation | 2020-04-15 07:39:48.160 | SPRINT1 | 2020-04-01 11:16:28.000 | 2020-04-15 08:50:17.000 |
| 1101 | Test | 2020-04-15 07:26:46.603 | SPRINT1 | 2020-04-01 11:16:28.000 | 2020-04-15 08:50:17.000 |
| 1101 | In Progress | 2020-04-09 10:28:01.217 | SPRINT1 | 2020-04-01 11:16:28.000 | 2020-04-15 08:50:17.000 |
最后一个日期测量值运行良好。它显示了在sprint开始和结束的时间范围内问题状态更改的最后日期
Status Date =
MAXX (
TOPN (
1,
FILTER (
StoriesToSprints,
StoriesToSprints[CHANGEDATE] <= StoriesToSprints[Sprint_End_Date]
&& StoriesToSprints[CHANGEDATE] >= StoriesToSprints[Sprint_Start_Date]
&& StoriesToSprints[FIELD] = "status"
),
StoriesToSprints[CHANGEDATE], DESC
),
StoriesToSprints[CHANGEDATE]
)
我已经把这项措施搞砸了好几天,似乎无法获得正确的状态。有什么想法吗
更新:
[Status Date]度量值正在返回最新的日期,但由于某种原因[NEWSTATUS]没有从表中返回关联的状态。它返回的是验证而不是完成,即使完成的最后一个状态在Sprint\u Start\u日期和Sprint\u End\u日期内
| Issue_ID | Last Sprint Status | Status Date |
| -------- | ------------------- | ----------------------- |
| 1101 | Validation | 2020-04-15 08:33:27.547 |
您应该在上次冲刺状态度量中使用已定义的状态日期度量
Last Sprint Status =
VAR StatusDate = [Status Date]
RETURN
MAXX (
FILTER (
StoriesToSprints,
StoriesToSprints[CHANGEDATE] = StatusDate
),
StoriesToSprints[NEWSTATUS]
)
对于这方面的其他方法,您可能会对本文感兴趣:
您应该在上次冲刺状态测量中使用已定义的
状态日期
测量
Last Sprint Status =
VAR StatusDate = [Status Date]
RETURN
MAXX (
FILTER (
StoriesToSprints,
StoriesToSprints[CHANGEDATE] = StatusDate
),
StoriesToSprints[NEWSTATUS]
)
对于这方面的其他方法,您可能会对本文感兴趣:
这不起作用。状态流(按描述顺序)已完成-验证-测试-正在进行。[Status Date]度量返回正确的完成日期,但在报告中[Last Sprint Status]返回验证。然后需要显示一个示例数据表。我在黑暗中拍摄。我用一个数据示例更新了原始问题。在Sprint_开始日期和Sprint_结束日期内,同一Jira问题有四行。[Last Status]度量值正确返回了该时间范围内的最后一个日期,但没有返回与该日期关联的正确[NEWSTATUS]。啊,我认为问题在于我忘记了调用度量值导致的隐式上下文转换。使用行上下文作为筛选器上下文计算筛选器内部的
[状态日期]
。您可以通过将其存储为固定变量来修复此问题。请参阅我的编辑。这不起作用。状态流(按描述顺序)已完成-验证-测试-正在进行。[Status Date]度量返回正确的完成日期,但在报告中[Last Sprint Status]返回验证。然后需要显示一个示例数据表。我在黑暗中拍摄。我用一个数据示例更新了原始问题。在Sprint_开始日期和Sprint_结束日期内,同一Jira问题有四行。[Last Status]度量值正确返回了该时间范围内的最后一个日期,但没有返回与该日期关联的正确[NEWSTATUS]。啊,我认为问题在于我忘记了调用度量值导致的隐式上下文转换。使用行上下文作为筛选器上下文计算筛选器内部的[状态日期]
。您可以通过将其存储为固定变量来修复此问题。请参阅我的编辑。