通过传递度量值或参数创建计算表 [英] Creating a calculated table by passing a measure or parameter

查看:17
本文介绍了通过传递度量值或参数创建计算表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个要求,我有这样的数据,

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆