当在切片器上选择一个年份时,我想要区域图表显示所选年份的所有数据,直到结束(我在数据源中的所有年份)。 但它只是向我显示切片机上单年选择的数据。 所以我有这个:
但我希望它看起来像这样:无论我在切片机中选择哪一年 - 图表都会显示从2014年开始直到2017年的所有数据。
我只是关注一个PowerBI模板示例,似乎可以这样做:
答案 0 :(得分:2)
这是可行的,但需要一些技巧和额外的措施。
TL; DR:您看到的切片器实际上是value picker
,而不是过滤器。创建extra measure based on the value
并将其用作visual level filter
用于视觉效果。
如果您想要关注,可以从此.pbix file下载Microsoft edX course about Power BI。
首先,根据现有的table
表创建一个新的Date
,只有不同的年份:
Year = DISTINCT('Date'[Year])
然后,使用新创建的Year
表格中的Year
列创建一个切片器( NOT Date
表)。
如下创建一个度量(用作标志):
Flag =
VAR YearSelected = FIRSTNONBLANK(VALUES('Year'[Year]), 0)
RETURN
IF(VALUES('Date'[Year]) >= YearSelected, 1, 0)
所以基本上它从年份切片器中选择年份,并将其与日期表中的年份值进行比较,看它是否大于或等于它。
图表是使用Year
表格中的Date
列( NOT Year
表)创建的,以及其他所需的衡量标准。 Flag
已添加Visual level filters
并设置为1。
因此Flag
值将根据Year切片器中选取的值进行更改,并作为显示的图表的实际过滤器。
结果:
更多用例编辑
@Oleg试着想一想如何进一步应用Flag
概念。例如,如果您希望另一个图表显示与切片器相同年份的数据,则可以设置另一个名为SameYearFlag
的标记,并仅将值比较的部分更改为=
。将其添加到图表Visual level filter
,它只会显示同一年的数据。是的,通过扩展,这意味着您可以拥有其他标志,例如LastYearFlag
,NextYearFlag
等,只要它对您有意义。用例取决于您。
LastYearFlag =
VAR YearSelected = FIRSTNONBLANK(VALUES('Year'[Year]), 0)
RETURN
IF(YearSelected - VALUES('Date'[Year]) = 1, 1, 0)
NextYearFlag =
VAR YearSelected = FIRSTNONBLANK(VALUES('Year'[Year]), 0)
RETURN
IF(VALUES('Date'[Year]) - YearSelected = 1, 1, 0)
SameYearFlag =
VAR YearSelected = FIRSTNONBLANK(VALUES('Year'[Year]), 0)
RETURN
IF(VALUES('Date'[Year]) = YearSelected, 1, 0)
示例:
通过只有一年的切片器,我可以在同一年,去年,明年以及随后的所有年份中使用不同的标志来显示数据。
如上所述,您可以提出更有趣的用例!
答案 1 :(得分:1)
我建议考虑新的数值范围切片器。 您可以将其设置为"大于或等于"。用户可以通过输入数字或拖动切片器来选择范围内的初始年份。
您需要在Power Bi Desktop中启用此功能,预览功能"下的选项。
在文档https://powerbi.microsoft.com/en-us/documentation/powerbi-desktop-slicer-numeric-range/
中有详细介绍这就是它的样子: