Matrix Visual 中的 Power BI 排名

Power BI Rank within Matrix Visual

我花了好几个星期的时间试图让它工作,包括在另一个网站上发帖。没有运气。不确定我错过了什么。

以下代码获取我需要的 table 数据。但是,我只想要 "rank" 值,并且我想要它用于矩阵视觉中的每一行。

首先是一些背景,PowerBI 页面有日期和 "base" 产品的切片器。任何给定的产品都可能在多个国家/地区销售。所有产品都带有相同的基本产品后缀和特定国家/地区的前缀。

相关矩阵显示了所选基本产品的所有产品变体的几个方面。我想显示每个变体在其国家/地区的排名(单位销售额)。

VAR tblCountrySales =
    SUMMARIZE (
        FILTER(
            tblSalesUnits,
            RELATED(tblProducts[Country])="US"
        ),
        tblProducts[ProdID],
        "Total Sales", SUM ( tblSalesUnits[Units] )
    )
RETURN
    ADDCOLUMNS (
        tblCountrySales,
        "ProductRank", RANKX ( tblCountrySales, [Total Sales] )
    )

有没有办法从上面的代码中只提取单个产品的排名,或者,更好的是,DAX 模式可以让我按每个产品变体在各自国家/地区的单位销售额排名?

我已使用这些语句成功获取视觉对象中每一行的产品 ID 和国家/地区。

VAR ProdSales = SUM(tblSales[Units])
VAR ProdCountry = SELECTEDVALUE(tblProducts[Country])

非常感谢任何帮助。我假设我在视觉中丢失了一些带有行上下文的东西,作为上面 table 表达式上的简单 COUNTROWS 总是 returns“1”。作为 PowerBI 和 DAX 的新手,我仍在努力掌握过滤器和行上下文的细微差别。

产品 table 包含类似...
的数据 ProdID.....BaseID....名称...国家/地区
7190............7190.....xxxx.....美国
150207190......7190.....XXXX....巴拿马
241807190......7190.....xxxx.....西班牙

销售额 table 包含类似...
的数据 产品编号......销售月份......单位......美元
7190.......2010 年 7 月......4563....$23491.00
150207190...2010 年 7 月......2543....$16235.00
241807190...2010 年 7 月......1263....$8125.00

还有一个日期 table 将 SalesMonth 链接到通常选择的日期显示格式。上面的两个 tables 通过 ProdID 链接,尽管视觉效果由 BaseID 分割。我想附上一张照片,但没有这样做的权限。

经过更多的修改,我找到了这个解决方案。

Country Rank = 
VAR ProdSales = SUM(tblSales[Units])
VAR ProdCountry = SELECTEDVALUE(tblProducts[Country])
VAR tblCountrySales =
    SUMMARIZE (
        FILTER(
            ALLEXCEPT(tblProducts,tblProducts[BaseID]),
            tblProducts[Country]=ProdCountry
        ),
        tblProducts[ProdID],
        "Total Sales", SUM ( tblSales[Units] )
    )
RETURN
    IF(ProdSales>0,COUNTROWS(FILTER(tblCountrySales,[Total Sales]>ProdSales))+1,BLANK())