过滤上游 table 以仅检索存在下游记录的记录

filter upstream table to only retrieve records where downstream records exist

我正在尝试查找我的公司存储在多个设施中的产品。我有一个显示唯一性的

State
City
Location

以及按位置 ID 显示库存详细信息的事实 table 。 Inventory 中的位置对应于 locations table 中的位置,并允许我引入实际的 city/state 库存。

我正在尝试创建一个度量值,该度量值可以计算出产品与多少个州相关联(本质上,根据位置,库存项目位于多少个州)。

我写了一个类似的度量来显示该项目有多少个独特的位置:

Count of Location = 
    COUNTROWS(
        DISTINCT(inventory_details[LOCATION])
    )

我的状态计数方法不起作用,因为 table 是上游:

Count of State = 
        COUNTROWS(
            DISTINCT(locations[STATE])
        )

此屏幕截图显示关系和数据已正确建立,当特定产品在矩阵范围内时,我可以按州查看余额

此屏幕截图显示了我的“位置计数”和“状态计数”度量的用法。 位置度量的计数按预期工作,但如您所见,状态计数度量 returns 自更高级别(上游)以来的所有可用状态 table 未被过滤范围内的产品。

如果能深入了解如何在 DAX 中处理此问题,我们将不胜感激。

将 CALCULATE 添加到您的度量中:

Count of State = 
CALCULATE(
        COUNTROWS(
            DISTINCT(locations[STATE])
        )
)