一个 Power BI Desktop 的切片器影响多张数据表

4
我正在Power BI Desktop上设置单个页面上的多个表格,并计划将其发布到应用程序中。我使用SQL Server作为数据源,从三个不同的预先建立的系统视图中获取输出。每个视图都从相同的原始数据库表中提取数据,但呈现出不同的订单分组。例如,其中一个视图可能返回以下内容:
Order # | Requested By | Reason Declined
1       | Bob Smith    | too expensive
3       | Jim Trout    | no space
5       | Becky Bond   | not needed

另一个可能返回:

Order # | Requested By | Number Items Approved
2       | Jim Trout    | 5
4       | Jim Trout    | 7

简而言之,我在Power BI中生成的三个表格没有重叠的“订单号”值(这是我否则用作设置关系的唯一键),虽然有共享列,如“请求者”,但它们不包含唯一值。
我创建了一个使用最大的三个表格中的“请求者”列的切片器,但我正在尝试弄清楚是否有任何方法使该切片器影响所有三个表格。有没有办法做到这一点?
2个回答

4
如果您仍在寻找与此问题相关的解决方案,我一直很成功地使用Synced Segments。
只需进入您的报告,单击“查看”>“同步切片器窗格”。

enter image description here

然后,您将获得一个新的窗格,显示同步切片器的选项。如果您在不同的数据集上工作,并且这些数据集具有共同的列,则需要使用窗格中的“高级选项”部分。

enter image description here

这个高级选项实际上是同步切片器的值。这意味着该值将在同一组中的切片器之间复制。请注意,如果您的列中具有不同的值,则会破坏没有此值的数据。
Microsoft文档源:https://learn.microsoft.com/en-us/power-bi/visuals/desktop-slicers#advanced-options-for-slicers

1

是的。在这种情况下,您需要创建一个专门用于请求者值的单独表格,从该表格到其他三个表格创建关系,然后使用该表格的列作为切片器。

Relationship Diagram

您可以使用建模 > 新建表格来创建此表,并使用以下公式:
Names = DISTINCT(
            UNION(
                VALUES(Table1[Requested By]),
                VALUES(Table2[Requested By]),
                VALUES(Table3[Requested By])
            )
        )

这确实生成了一个只有一列的表,看起来所有名称都是唯一的。但是当我尝试在这个新的“请求者”列和我现有的最大表中的列之间建立关系时,我会收到“您无法在这两个列之间创建关系,因为其中一个列必须具有唯一值”的警告。我唯一能想到的可能是新的“名称”表中的“请求者”列具有空值;但即使如此,也只有一个空值。您认为为什么该列会被标记为非唯一? - David Martin
@DavidMartin 这很奇怪。如果您删除 null,它是否仍然会给您错误? - Alexis Olson
非常好的回答@AlexisOlson,谢谢。对我所需的内容非常有效(追加查询规模不断失败)。 - sdolgy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接