根据切片器选择在Power BI中创建动态计算表

6

我刚开始接触Power BI。目前在我的产品开发中遇到了以下类似的问题。

我已经从AdventureWorksDW创建了包含以下维度和事实的Power BI模型。

enter image description here

然后我创建了一个计算表,它按ProductSubCategory和ProductCategory分组并给出销售总额的结果。以下是计算表的DAX公式。

enter image description here

enter image description here

enter image description here

现在我想创建一个新的计算表,根据总销售额给出前n个ProductSubCategory。以下是实现此目的的DAX代码。

enter image description here

并且模型关系如下所示。

enter image description here

我希望根据产品类别的筛选条件显示前n行数据,就像下面这样。

enter image description here

当我在DAX中硬编码产品类别时,这很好用。但是,如果我想从切片器的选择中更改这些产品类别的值,那么我就得不到任何结果。

enter image description here

2个回答

2
您所要求的在当前Power BI的设计下是不可能实现的。切片器无法影响计算表。计算列和计算表在数据第一次加载时进行一次评估,并且在刷新数据之前都是静态的。
但是,您可以通过编写适当的度量并将其放入表格中而不是定义完全独立的表格来更简单地获得所需的表格可视化效果。
TotalSales = SUM(FactInternetSales[SalesAmount])

可在视觉级别过滤器设置中使用“前N项筛选”。

2021年6月:我遇到了类似的问题,需要使用Slicer选择来开发(动态)计算表。我尝试使用多个变量中的SELECTEDVALUE来开发表格(通过每个变量在每个Slicer中缩小精确选择的单个Slicer值)。然后我读到了这篇文章。自2018年以来,是否有任何更改使我能够开发动态计算表? - user3812887
不,我认为微软从未计划允许在度量之外动态重新计算表格。 - Alexis Olson

-1

您可以像下面这样简单地使用SELECTEDVALUE函数。

var __SelectedValue = SELECTEDVALUE('ProductSales'[EnglishProductCatogaryName])
return
Filter(
    'ProductSales',
    'ProductSales'[EnglishProductCatogaryName] = __SelectedValue 
    )
)

这个不起作用,因为Alexis Olson提供的答案... :-( - Attie Wagner

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接