我试图在PowerBI中的SQL表中显示两个日期之间的比较。具体来说,我试图显示某人开始训练的日期和某人完成训练的日期之间的比较。
视图中的字段是DateApproved,DateCreated,FirstName,LastName,Name(训练名称),Goal(训练描述)和GoalCategoryId(数字主键),我想要显示的关系是比较谁已经开始训练和完成谁与谁已经开始训练但尚未完成。
我已尝试添加不同的字段并更改要使用的可视化,但我无法让数据正确显示。
是否有办法添加一两列来显示这种比较?如果是相关信息,我通过DirectQuery从SQL Server获取数据。
一个简单的例子是创建两个度量。
表面处理:
Students that finished = CALCULATE( COUNTROWS( StudentTableName ) ; StudentTableName[DateApproved] <> BLANK() )
没做完:
Students that haven't finished = CALCULATE( COUNTROWS( StudentTableName ) ; StudentTableName[DateApproved] = BLANK() )
我意识到我在做这件事时犯的错误。我在SQL中创建了视图而没有建立两个明显相关的值。我所做的是为了显示这种关系,代码是视图中的一个CASE语句,它将所有列为NULL的日期标记为“未完成”,并且所有日期都未标记为“完成”。然后我把它放在自己的专栏中。我的代码如下:
CASE
WHEN DateApproved IS NOT NULL
THEN 'Completed'
ELSE 'Incomplete'
END AS CompletionStatus
这使我可以将表格查询到PowerBI,使用GoalCategoryId作为Count,并显示完整和不完整目标之间的完美图形关系。有时,显然,问题出在SQL中,而不是PowerBI如何读取它。