关于 powerpivot:如果度量符合标准,DAX 占总数的百分比

DAX % of total count if measure qualifies criteria

DAX 2013 独立电源支点。

我有一个包含产品和品牌列的销售表,以及明确总结销售列的销售量度。

手头的任务:我需要创建 1 个度量 RANK,它将...

  • 如果 Product 被明确过滤,则返回具有更高或相等销售额的产品计数除以产品总数。
  • 如果是小计品牌级别,则显示相同但针对品牌。

我目前的方法是使用 RANK,然后使用 MAXX 等级,这似乎有效,但行不通 - 缓慢的噩梦。 Excel 内存不足。

研究:已经一周了。这是我在任何地方找到的最相关的帖子,这个问题在这里,但它在 MDX 中。

在我的示例图片中,我展示了 Excel 公式,我可以使用这些公式得出结果。理想情况下,不应该有任何帮手,1 个公式。

IE

1
RANK:=IF( HASONEFILTER(PRODUCTS[PRODUCT], HELPER_PROD, HELPER_BRAND)

其中 HELPER_PROD 部分将是这样的 - 需要找到一种方法来引用"当前"结果,就像 Excel 使用 [@[...:

1
2
3
4
5
HELPER_PROD:=COUNTX(ALL(PRODUCTS), [SALES]>=[@[SALES]]) / COUNTX(ALL(PRODUCTS))
HELPER_BRAND:=COUNTX(
              DISTINCT(ALL(PRODUCTS[BRAND])),
              [SALES]>=[@[SALES]]) /
              COUNT(DISTINCT(ALL(PRODUCTS[BRAND]))

FLOW


您可以使用"早期"功能与当前记录进行比较。

1
2
3
4
ProductsWithHigherSales:=CALCULATE(countrows(sales),
FILTER(all(Sales),
countrows(filter(Sales,Sales[Sales]<=EARLIER(Sales[Sales])))
))

在度量中使用早期函数:can-earlier-be-used-in-dax-measures

使用的工作簿:Excel 文件