You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Power BI中用JavaScript实现slicer默认选中累计至当前月的所有月份

Power BI Slicer默认选中当年截止当前月的实现方法

JS生成当年1月到当前月的完整列表

你之前用getMonth()只能拿到单个月份的原因是该方法本身仅返回当前日期对应的0-11区间的月份数值,你可以通过数组生成方法批量生成目标区间的月份列表:

const now = new Date();
// getMonth返回值范围为0(1月)到11(12月),加1后得到当前自然月份数字
const curMonth = now.getMonth() + 1;
// 生成数字形式的月份列表:[1,2,...,当前月]
const monthNumList = Array.from({length: curMonth}, (_, index) => index + 1);
// 如果需要带“月”后缀的文本列表:["1月","2月",...,"当前月"]
const monthTextList = monthNumList.map(item => `${item}月`);

拿到上述列表后直接绑定到Power Slicer的默认选中项配置即可生效。

补充:无需JS的DAX实现方案(更适配Power BI原生逻辑)

不需要自定义视觉对象的话,推荐直接在日期表新建计算列即可实现相同效果,不需要写JS代码:

  • 打开Power BI日期表新建计算列,输入如下DAX公式:
是否当年截止当前月 = IF(MONTH('日期表'[日期]) <= MONTH(TODAY()) && YEAR('日期表'[日期]) = YEAR(TODAY()), TRUE(), FALSE())
  • 将该计算列添加到Power Slicer的筛选条件中,默认勾选TRUE即可自动筛选出当年截止到当前月的所有数据。

内容的提问来源于stack exchange,提问作者Barbara Jacqueline

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 01:45:04