前途科技前途科技
  • 洞察
  • 服务
  • 关于
  • AI 资讯
    • 快讯
    • 产品
    • 技术
    • 商业
    • 政策
    • 初创
  • 洞察
  • 研究资源
    • 案例研究
    • 报告
    • 工具推荐
    • 术语词典
  • 服务
  • 关于
联系我们

语义模型中日期筛选实战:如何灵活包含或排除未来数据

教程2026年1月5日· 5 分钟阅读0 阅读

语义模型中日期筛选实战:如何灵活包含或排除未来数据 在数据分析报告中,经常会出现规划数据或上一年度数据延伸至未 […]

语义模型中日期筛选实战:如何灵活包含或排除未来数据

在数据分析报告中,经常会出现规划数据或上一年度数据延伸至未来日期的情况。然而,展示未来数据有时会造成混淆。如何通过一个切片器,让用户自主选择显示或隐藏未来数据?本文将详细介绍一种实现方法。

引言

假设存在三个度量值:

  1. 销售额
  2. 销售额预算
  3. 去年同期销售额

在包含这些数字的表格中,通常能看到以下情况(假设当前数据仅更新至2025年7月底):

图1 – 初始状态。注意预算数据和去年同期数据超出了当前数据的范围,当前数据仅到2025年7月底(作者供图)

虽然结果正确,但用户可能需要两种不同的视图:

  1. 仅查看基于现有数据的实际结果。
  2. 包含预算数据和去年同期数据的完整视图。

实现方式有多种:

  1. 创建应用了不同筛选器的独立视觉对象。
  2. 使用不同筛选器创建两个报表页。
  3. 指导用户使用日历切片器按需筛选数据。

然而,为了设计出用户友好且无需重复工作的报表,更优的方案是添加一个切片器,让用户自行选择是否包含未来数据。

创建日期筛选表

日期表通常包含针对不同时间周期(如日、周、月、季度、年)的索引列。

  • 当前周期所在行的索引值为0
  • 过去周期的索引值为负数
  • 未来周期的索引值为正数

以下是通过DayIndex列展示的一个小型SQL查询结果示例:

图2 – 日期表的部分示例行(作者供图)

利用此索引列,可以构建一个包含额外列作为切片器的新表。具体步骤是:首先选取所有索引值小于等于0的行,并将其标记为“仅当前数据”。然后,通过UNION操作将日期表中的所有行追加进来,并标记为“包含未来数据”。

图3 – 日期筛选表的完整选择逻辑(作者供图)

上述操作在SQL中完成,但同样可以在Power Query或其他编程语言中实现。完成构建后,将此表导入Power BI。

扩展数据模型

将新表添加到Power BI后,需要在新表和原有日期表之间建立新的关系:

图4 – 新建日期筛选表与日期表之间的关系(作者供图)

由于日期筛选表中的DateKey列并非唯一,必须将交叉筛选方向设置为双向:

图5 – 将交叉筛选方向设置为双向的关系(作者供图)

如果仅保持默认的单向筛选(日期表 -> 日期筛选表),则无法实现通过日期筛选表来筛选日期表的目标。因此,必须将筛选方向设置为“双向”。

实现效果

接下来,在报表中添加一个切片器:

图6 – 将DateFilter列设置为切片器磁贴(作者供图)

经过上述配置,切片器便能根据需要选择数据:

图7 – 选择“仅当前数据”时,不显示未来数据(作者供图)

图8 – 选择“包含未来数据”时,显示所有数据(作者供图)

用户可以使用此切片器来选择要查看的数据,其选择独立于日历切片器的选择。

选择完整周期

上述示例适用于需要在日级别进行筛选的场景,这在将当前数据与预算或去年同期数据进行比较时尤其有用。例如,在月初仅有个别几天销售数据时,与整个月的预算进行比较可能会产生误导。

然而,当筛选需要基于完整周期(如整月或整年)时,应如何处理?以下是一个修改后的查询示例,用于基于整年设置DateFilter列:

图9 – 基于整年设置DateFilter列的查询(作者供图)

现在,即使只应显示当前数据,也会展示整个年份:

图10 – 使用上述修改后的查询时,显示整个年份的数据(作者供图)

可以按照相同的方式修改日期筛选表,以实现按月或其他周期的筛选。这可以通过在日期表中筛选出当前日期所在的行来轻松实现。

结论

这种方法实现简单,对报表使用者来说也易于操作。它避免了编写复杂的DAX代码,完全依赖于日期表中的信息。其核心技巧是通过最小的努力扩展数据模型以满足需求。

如果没有示例中提到的索引列,可以采用其他方法生成日期筛选表。例如,使用T-SQL中的GETDATE()或其他语言中的Now()等函数来获取当前日期。

索引列不仅在此场景中非常有用,在许多其他需要根据相对于当前日期的日期来筛选数据的客户需求中也同样有效。当“当前日期”并非今天,而是需要遵循特定逻辑(例如上一个工作日)时,索引列能让处理变得轻松。

当然,也可以在报表中添加相对日期筛选器,这在许多情况下已经足够。但在其他情况下,索引列提供了更大的灵活性。

参考资料

与之前的文章一样,本文使用了Contoso示例数据集。可以从Microsoft此处免费下载ContosoRetailDW数据集。Contoso数据可在MIT许可证下自由使用,如此文档所述。本文对数据集进行了修改,将数据偏移到了更近的日期。

想了解 AI 如何助力您的企业?

免费获取企业 AI 成熟度诊断报告,发现转型机会

//

24小时热榜

阿联酋联手Colossal打造基因“诺亚方舟”
TOP1

阿联酋联手Colossal打造基因“诺亚方舟”

欧盟发布AI法案高风险系统关键指南
TOP2

欧盟发布AI法案高风险系统关键指南

3

马斯克 xAI 招聘加密货币专家,拓展 AI 金融能力

15小时前
马斯克 xAI 招聘加密货币专家,拓展 AI 金融能力
4

英伟达拟投200亿美元加码OpenAI

7小时前
英伟达拟投200亿美元加码OpenAI
5

研究警告:AI编程或侵蚀开源生态

5小时前
研究警告:AI编程或侵蚀开源生态
6

NASA警告:1.5万颗“城市杀手”小行星未被追踪,地球防御存巨大缺口

10小时前
NASA警告:1.5万颗“城市杀手”小行星未被追踪,地球防御存巨大缺口
7

菲尔·斯宾塞退休,微软游戏业务迎来AI高管新掌门

6小时前
菲尔·斯宾塞退休,微软游戏业务迎来AI高管新掌门
8

亚马逊AI编码助手闯祸,AWS服务中断13小时

10小时前
亚马逊AI编码助手闯祸,AWS服务中断13小时
热门标签
大模型AgentRAG微调私有化部署Prompt EngineeringChatGPTClaudeDeepSeek智能客服知识管理内容生成代码辅助数据分析金融零售制造医疗教育AI 战略数字化转型ROI 分析OpenAIAnthropicGoogle

关注公众号

前途科技微信公众号

扫码关注,获取最新 AI 资讯

免费获取 AI 落地指南

3 步完成企业诊断,获取专属转型建议

已有 200+ 企业完成诊断

前途科技前途科技
服务关于快讯技术商业报告
前途科技微信公众号

微信公众号

扫码关注

Copyright © 2026 AccessPath.com, 前途国际科技咨询(北京)有限公司,版权所有。|京ICP备17045010号-1|京公网安备 11010502033860号