如何在加入一对多时在Power BI中用NULL替换NULL

问题描述 投票:2回答:2

在我的模型中,我有表AssignedToUser,不包含任何NULL值。表TotalCounts包含每个用户的任务数。

这两个表连接在UserGUID上,表TotalCounts包含UserGUID的NULL值。

enter image description here

当我将所有内容放在一个表中时,AssignedToUser的值为NULL。如何将AssignedToUser的值NULL替换为“POOL”。

enter image description here

在EditQuery下,我尝试创建其他列

if [AssignedToUser] = null then "POOL" else [AssignedToUser]

但这没有帮助。

更新:谢谢Alexis。我已经创建了FullAssignedToUsers表,但是当我尝试在UserGUID上与TotalCounts建立关系时 - 它不喜欢它。

enter image description here

新表中的数据如下所示:

enter image description here

更新:文件.ipbx可以在这里访问:

https://www.dropbox.com/s/95frggpaq6tce7q/User%20Open%20Closed%20Tasks%20Experiment.pbix?dl=0

powerbi dax powerbi-embedded
2个回答
2
投票

我相信这里的问题是你的连接有UserGUID值不在你的AssignedToUsers表中。

要纠正这个问题,一种可能性是将AssignedToUsers表替换为包含UserGUID表中所有TotalCounts值的表。

FullAssignedToUsers =
    ADDCOLUMNS(VALUES(TotalCounts[UserGUID]),
        "AssignedToUser",
        LOOKUPVALUE(AssignedToUsers[AssignedToUser],
            AssignedToUsers[UserGUID], TotalCounts[UserGUID]))

应该让你完整的外部联接。然后,您可以按照表中所述创建自定义列,并在视觉中使用该列。

您可能希望打破与原始AssignedToUsers表的关系,并创建与新表的关系。

如果你不想采取额外的步骤,你可以在你的新表公式中做一个ISBLANK

FullAssignedToUsers =
    ADDCOLUMNS(VALUES(TotalCounts[UserGUID]),
        "AssignedToUser",
        IF(
            ISBLANK(
                LOOKUPVALUE(AssignedToUsers[AssignedToUser],
                    AssignedToUsers[UserGUID], TotalCounts[UserGUID])),
            "POOL",
            LOOKUPVALUE(AssignedToUsers[AssignedToUser],
                AssignedToUsers[UserGUID], TotalCounts[UserGUID])))

注意:这相当于在查询编辑器中对AssignedToUsers表执行右外连接合并,然后将空值替换为“POOL”。我实际上建议那样接近它。


接近它的另一种方法是将AssignedToUser列拉到自定义列中的TotalCounts表,然后在视觉中使用该列。

AssignedToUsers =
    IF(ISBLANK(RELATED(AssignedToUsers[AssignedToUser])),
       "POOL",
       RELATED(AssignedToUsers[AssignedToUser]))

这相当于在查询编辑器中对TotalCounts表执行左外连接合并,展开AssignedToUser列,然后用该列中的“POOL”替换空值。


1
投票

在Dax中,缺失值为Blank()而不是null。试试这个:

=IF(
    ISBLANK(AssignedToUsers[AssignedToUser]),
    "Pool",
    AssignedToUsers[AssignedToUser]
)
© www.soinside.com 2019 - 2024. All rights reserved.