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