通过传递度量或参数创建计算的 table
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
我正在尝试为用户提供一个切片器,以 select 从上个月算起所需的月数。
为此,我使用了这样的计算列:
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
用户select来自切片器的月份年份。
比如他selects 2时,我想在table.
中显示最近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 时它失败了。
计算列和计算 tables 不能引用切片器值,因为它们仅在您加载数据时计算。
如果您想将此过滤应用到视觉效果,我建议您为切片器创建一个单独的 table。例如,您可以使用 Months = GENERATESERIES(1,12)
,然后也将列重命名为 Months
。
为您的切片器使用 Months[Months]
列,然后创建一个引用它的度量来过滤您的 table/matrix 视觉效果。
Filter = IF(SELECTEDVALUE(Months[Months]) >= MAX(Table1[Month Year]), 1, 0)
然后在您的视觉级别过滤器框中使用该度量:
我有一个要求,我有这样的数据,
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
我正在尝试为用户提供一个切片器,以 select 从上个月算起所需的月数。
为此,我使用了这样的计算列:
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
用户select来自切片器的月份年份。
比如他selects 2时,我想在table.
中显示最近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 时它失败了。
计算列和计算 tables 不能引用切片器值,因为它们仅在您加载数据时计算。
如果您想将此过滤应用到视觉效果,我建议您为切片器创建一个单独的 table。例如,您可以使用 Months = GENERATESERIES(1,12)
,然后也将列重命名为 Months
。
为您的切片器使用 Months[Months]
列,然后创建一个引用它的度量来过滤您的 table/matrix 视觉效果。
Filter = IF(SELECTEDVALUE(Months[Months]) >= MAX(Table1[Month Year]), 1, 0)
然后在您的视觉级别过滤器框中使用该度量: