通过传递度量值或参数创建计算表 [英] Creating a calculated table by passing a measure or parameter
本文介绍了通过传递度量值或参数创建计算表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个要求,我有这样的数据,
Date Name Age
1-1-2018 A 1
2-2-2018 B 1
3-3-2018 B 1
6-6-2018 C 2
7-7-2018 B 6
我正在尝试给用户一个切片器,让用户从上个月选择所需的月数。
为此,我使用如下计算列:
Month Year = DATEDIFF((Table1[Date]), TODAY(), MONTH) + 1
因此将数据更改为类似以下内容:
Date Name Age MonthYear
1-1-2018 A 1 7
2-2-2018 B 1 6
3-3-2018 B 1 5
6-6-2018 C 2 2
7-7-2018 B 6 1
用户从切片器中选择月份和年份。
例如,当他选择2时,我希望显示表中最近2个月的记录。
预期输出:
Date Name Age
6-6-2018 C 2
7-7-2018 B 6
如果我这样硬编码,这对我是有效的:
Calculated Table = CALCULATETABLE(Table1,
FILTER(Table1, OR(Table1[MonthYear] > 2, Table1[MonthYear] = 2)))
但当我尝试使用SelectedValue
函数通过度量值动态传递取代2的值时,它失败了。
推荐答案
计算列和计算表不能引用切片器值,因为它们仅在加载数据时计算。
如果您想要将此筛选应用于视觉效果,我建议您为切片器创建一个单独的表。例如,您可以使用Months = GENERATESERIES(1,12)
,然后也将该列重命名为Months
。
Months[Months]
列,然后创建引用它的度量值,以引用过滤您的表/矩阵视觉。
Filter = IF(SELECTEDVALUE(Months[Months]) >= MAX(Table1[Month Year]), 1, 0)
然后在"视觉级别过滤器"框中使用该度量:
这篇关于通过传递度量值或参数创建计算表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文