【发布时间】:2021-02-08 23:41:15
【问题描述】:
在使用 Power BI 几个月后,我们(用户组)遇到了一个我们并不清楚的问题。
我们将 Power-BI 与远程 SQL-Server 数据源一起使用,我们通过直接查询访问数据源。
假设我们有 2 个表格,如下所示-
Table name: Issue
Column:
ResolutionTime(Date/Time)
IssueID(Unique Numbers)
Table Name: WorkItem
Column:
start (Date/Time)
end (Date/Time)
IssueID (Unique Numbers, Foreign Key to "Issue" table)
表 WorkItem 还包含一个计算列“WorkTime”,它使用如下 DAX 表达式-
WorkTime = WorkItem[end] - WorkItem[start]
这两个表是通过 Power-Bi 配置的,具有双向 1:n 关系,可以查询该关系以收集分配给“Issue”条目的所有“WorkItem”,使用“IssueID”作为相关列.
为了能够计算每个“工作项”的汇总“工作时间”,我们使用带有以下 DAX 表达式的新/计算表来汇总单个“问题”投入的总时间:
SumWork =
SUMMARIZE(
WorkItem, WorkItem[IssueID], "All work per item", SUM(WorkItem[WorkTime])
)
上表计算特定问题的总投入工作时间,根据“IssueID”外键对结果进行分组/汇总。这个新的计算表也被配置为与“问题”表有关系,这次是“1:1”关系,使用 IssueID 作为相关列。
现在要计算解决问题的时间 + 解决问题的时间应该汇总在“问题”内的计算列中,但这不起作用:
ResolutionAndWorkTime = Issue[ResolutionTime] + SumWork["All work per item"]
但是上面的 DAX 表达式无法编译,因为它总是报告它返回“多个结果”,因此不是一个单一的结果。但这令人惊讶,因为这两个表(“Issue”和“SumWork”以“1:1”的关系相互关联)。
表格:
Issues
IssueID ResolutionTime ResolutionAndWorkTime
1 03:20:20 ???
2 01:20:20 ???
3 00:20:20 ???
WorkItem
IssueID start end WorkTime
1 1-2-2020 3:20:20 1-2-2020 3:25:20 00:05:00
1 2-2-2020 6:20:20 2-2-2020 7:20:20 01:00:00
3 1-3-2020 3:20:20 1-3-2020 3:29:20 00:09:00
有什么想法吗?数据类型?表定义?表关系?我们检查了其他 Stackoverflow 问题/答案,但到目前为止没有检索到好的想法。
请注意,如果使用直接查询,则 Power BI 的许多联接/合并功能不可用,因此联接表并不是一个真正的选择(我们认为)。
【问题讨论】:
标签: sql-server powerbi