首页 > 解决方案 > 按 Power BI 中的最后一个非空白日期过滤

问题描述

我每月都有来自多个国家的数据。由于更新不定期,我想为视觉效果设置过滤器,因此它们将显示上个月我拥有来自所有国家/地区的数据。我将每个国家/地区的数据加载到一个单独的数据集中,然后合并成一个大数据集。有没有简单的方法来放置这样的过滤器?我设法在每个国家/地区集中使用“LASTDATE”函数来查找最后一个日期,但是如果我尝试使用该度量进行过滤,我只会得到任何结果。谢谢!

标签: powerbi

解决方案


好吧,这对我来说有点笨拙,但我相信它对你有用。有两个步骤。首先是创建一个汇总表,读取您的数据并计算您每个月拥有的不同国家/地区的数量。这将是您模型中的一个新表,因此请进入建模选项卡,单击“新建表”并添加此 DAX。显然,更正您的表名和列名。

SUMMARIZED_ROWS = SUMMARIZE(
    'Table1'
    ,Table1[Month]
    ,"CountOfCountries"
    ,DISTINCTCOUNT(Table1[Country])
)

现在向表(或任何地方)添加一个度量,如下所示:

MonthWithMostCountries = CALCULATE(
    LASTNONBLANK(SUMMARIZED_ROWS[Month], 1 )
    , FILTER(SUMMARIZED_ROWS, SUMMARIZED_ROWS[CountOfCountries] =  MAX(SUMMARIZED_ROWS[CountOfCountries]) )  )

这将为您提供数据中最不同国家/地区的月份。您需要在卡片或类似隔离的视觉效果中查看它,因为它是一种度量并且可能受过滤器上下文的影响。

在此处输入图像描述

所以,左边是我的模拟数据 - 3 个国家,每个国家 3 个月,错开 1 个月。在右侧,您可以看到 Summarize 表的结果。然后测量显示最终结果。

希望能帮助到你。


推荐阅读