基于切片器选择,在Power BI中创建动态计算表

时间:2018-07-26 18:13:13

标签: powerbi

我是Power BI的新手。目前在我的产品开发中会遇到以下类似问题。

我用AdventureworksDW制作的尺寸和事实如下的Power Bi模型。

enter image description here

然后,我创建了一个计算表,该表按ProductSubCategory和ProductCategory给出了作为销售组总和的结果。下面是计算表的DAX。

enter image description here

enter image description here

enter image description here

现在,我想创建一个新的计算表,该表根据总销售额为我提供TOPn ProductSubCategory。 下面是执行此操作的DAX。

enter image description here

与模型的关系如下所示。

enter image description here

我希望根据产品类别上的过滤条件显示此TOPn行。像下面这样。

enter image description here

当我在DAX本身中对产品类别值进行硬编码时,这可以很好地工作。但是,如果我想从切片器选择中更改此产品类别的值,那么我没有得到任何结果。

enter image description here

3 个答案:

答案 0 :(得分:0)

您要的东西无法实现,因为Power BI是当前设计的。切片器不会影响已计算的表。首次加载数据时,对计算列和计算表进行一次评估,并且在刷新数据之前一直保持不变。

但是,通过编写适当的度量并将其放入表格中而不是定义一个完全独立的表格,您可以以一种更为简单的方式获得所需的表格外观。

TotalSales = SUM(FactInternetSales[SalesAmount])

视觉水平过滤器设置中可以使用前N个过滤器。

答案 1 :(得分:0)

您可以简单地使用SELECTEDVALUE函数,如下所示。

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

答案 2 :(得分:-1)

感谢您的答复。

正如您所建议的,我知道可以通过创建适当的度量值而无需创建完全独立的计算表来获得TopN产品子类别值。

enter image description here

enter image description here

通过创建视觉过滤器,可能仅获得TopN结果。

enter image description here

enter image description here

问题已解决。 :)

但是我的要求是不同的。基于以上结果中的前3个产品子类别,我想在报告中动态创建3种不同的视觉效果/图表。像下面这样。

enter image description here

在这里,我手动为3个不同的图表应用了可视过滤器。

enter image description here

我希望此视觉过滤器可以动态应用。那就是当我从切片器中选择“自行车”产品类别时,然后将这3个图表可视过滤器动态应用于“自行车”的前3个产品子类别。 现在,当我从切片器中选择“自行车”产品类别时,这3个图表将显示如下结果。 :(。

enter image description here

为达到此要求,我认为动态计算表将对我有所帮助,这将始终根据我的“产品类别”切片器选择给出前3个“产品子类别”。

希望,现在我的要求很明确了!

请提出是否有任何解决方法或替代方法来获得符合我要求的结果。

谢谢。

相关问题