在连接Power BI数据集的MS Report Builder中,如何将日期列的最小日期设为参数默认值
在连接Power BI数据集的MS Report Builder中,如何将日期列的最小日期设为参数默认值
这个问题我碰到过好几次啦,你踩的坑很典型——Report Builder的参数默认值不能直接引用主数据集里的字段,因为参数是在数据集加载前就计算的,根本拿不到字段值。下面给你一步步讲正确的做法:
第一步:创建专门获取最小日期的数据集
你需要单独建一个小型数据集,用来从Power BI数据集中提取日期列的最小值:
- 在Report Builder的「数据集」面板右键,选择「添加数据集」
- 数据源选择和主数据集一样的Power BI连接
- 查询类型选择「DAX」,然后输入以下DAX表达式(记得替换成你的表名和日期列名):
EVALUATE SELECTCOLUMNS( { MIN('你的表名'[日期列名]) }, "MinDate", [Value] )
- 给数据集起个好记的名字,比如
ds_MinDate,点击确定保存
第二步:设置参数的默认值
现在把这个数据集的结果设为FromDate参数的默认值:
- 打开「参数属性」窗口(右键参数列表里的
FromDate,选「参数属性」) - 切换到「默认值」选项卡
- 选择「从查询获取值」,然后在下拉框里选择:
- 数据源:你的Power BI数据源
- 数据集:刚才创建的
ds_MinDate - 值字段:
MinDate(就是我们在DAX里命名的列)
- 点击确定,完成设置
补充:针对ToDate参数的同理操作
如果要把最大日期设为ToDate的默认值,只需要把DAX表达式里的MIN换成MAX,再重复上面的步骤就行:
EVALUATE SELECTCOLUMNS( { MAX('你的表名'[日期列名]) }, "MaxDate", [Value] )
这样设置后,每次打开报表,FromDate就会自动加载日期列的最小值,完全符合你的需求啦!
备注:内容来源于stack exchange,提问作者RSale
相关产品推荐
相关产品推荐

