首页 > 解决方案 > 在 PowerBI 中使用 SELECTEDVALUE

问题描述

我有一个表格,其中包含来自附加图像的示例数据。

样本数据

示例表可以解释如下:我有一个客户列表,其中包含 Customer_id、Customer_name 和 Email,这些客户在 1 个或多个电子商务站点上拥有帐户。每个电子商务站点都可以通过 EcommerceSite_Id 列进行标识。如果客户拥有多个帐户(例如:在 EcommerceSite_Id = 111 和 EcommerceSite_Id = 112 上),则 GlobalClient_Id 将具有相同的值(例如,John 在以下 EcommerceSite_Id 上拥有一个帐户:111、113 和 114。因此,他有相同的 GlobalClient_Id – “11”,它基于一些自动标准(在本例中为电子邮件地址)。

我想要达到的目标:

通过使用ecommercesite_id列的切片机,选择ecommercesite_id 114时,它应通过考虑GlobalClient_ID来显示所有客户,该地址在114中没有帐户。

因此,输出应该是

输出

因此,如您所见,我排除了以下 customer_ids:5 和 9。他们在 114 上没有帐户,但我排除了他们,因为他们具有相同的 ClientGlobal_Id,customers_ids 为 10 和 8,客户在 114 上拥有帐户。

我找不到解决方案。我尝试使用选定的值,但我不知道我是否正确使用它。

你能给我一个关于如何解决它的想法吗?

标签: listpowerbiselectedvalue

解决方案


欢迎来到 SO。这是一种可能适合您的解决方案:

第 1 步。需要将 EcommerceSite_Id 添加到单独的表中 - 它将包含不同的 ID:

在此处输入图像描述

以下是数据模型的外观:

在此处输入图像描述

步骤 2.创建度量

对于每个客户,该度量将计算所选 EcommerceSite_Id 出现的行数:

mExclude = 
    var EcommerceSite = SELECTEDVALUE(ES[EcommerceSite_Id])
    var ThisCustomer = SELECTEDVALUE(CustomerData[Customer_name])
    var Check = COUNTROWS(FILTER(ALL(CustomerData), CustomerData[Customer_name] = ThisCustomer && CustomerData[EcommerceSite_Id] = EcommerceSite))
return
    Check + 0

当添加到表中并选择了一个 EcommerceSite_Id(将新表用作切片器)时,您将获得以下结果:

在此处输入图像描述

步骤 3.完成

最后,从表中删除 mExclude 并将其添加到表过滤器中。将其设置为过滤等于零的值。

在此处输入图像描述

最终结果:

在此处输入图像描述


推荐阅读