基于多个切片器值显示用户数Power BI

时间:2019-07-29 08:27:03

标签: powerbi dax powerbi-desktop

我正在研究Viewership table,该数字告诉客户观看资产的数量。有两个资产过滤器。一个供观看,另一个供不观看。基于资产过滤器,我需要显示观看节目的客户数量和未观看节目的客户数量。以下是我使用的方法。

首先,创建一个新表“ Asset”:

enter image description here

此表包含唯一资产,并用于创建影响DAX度量但不影响外观(表)的切片器。资产表与查看者表断开连接(无关系)。

为未被监视的资产创建了上表的副本,并将其命名为asset_1

enter image description here

下面是收视率表。

enter image description here

以下创建的衡量标准用于获取查看了选定资产的客户(从第一个切片器)和未查看所选资产的客户(从第二个切片器)&

Watched Status = 
  VAR Selected_Assets = ALLSELECTED(Asset[asset_id])
  VAR Customer_Assets = VALUES(Viewership[asset_id])
  VAR Assets_Watched =  COUNTROWS(INTERSECT(Customer_Assets, Selected_Assets))
RETURN
IF(Assets_Watched > 0, "Watched", "Not Watched")


Not Watched Status = 
  VAR Selected_Assets = ALLSELECTED(Asset_1[asset_id])
  VAR Customer_Assets = VALUES(Viewership[asset_id])
  VAR Assets_Watched =  COUNTROWS(INTERSECT(Customer_Assets, Selected_Assets))
RETURN
IF(Assets_Watched > 0, "Watched", "Not Watched")

我的成绩不佳

enter image description here

在可视过滤器窗格中应用以下过滤器后,我可以看到所需的结果。

观看状态=“观看”, 未观看状态=“未观看”

enter image description here

现在我有了一个要求,可以显示具有上述过滤条件的客户总数(而不是客户列表)。例如:在上述情况下,客户数为1。

我尝试了以下措施。

Customer Count = CALCULATE(DISTINCTCOUNT(Viewership[customer_id]),FILTER(Viewership,([Watched Status]= "Watched") &&left([Not Watched Status],3)="Not"))

预期结果为1(客户ID:4)。但是我得到的结果是2。有人可以帮忙在这里找出问题吗?

1 个答案:

答案 0 :(得分:1)

您可以做的是在外观as列中拖动customer_id,并确保将其设置为不重复计数。

选择您的视觉效果,转到可以看到该列的值下的“可视化”面板,单击向下箭头,弹出窗口将显示:

enter image description here