dDate日期维度表

1.DAX公式

bash 复制代码
dDate = 
ADDCOLUMNS(
    CALENDAR(MIN('销售出库单'[业务日期]), TODAY()),
    /* ---年/季/月/日/当前日/自定义财年/最新业务日期 --- */
    "Year",                    YEAR([Date]),
    "Quartername",             "Q" & QUARTER([Date]),
    "Month",                   FORMAT([Date], "mmmm"),
    "Month Number",            MONTH([Date]),
    "Month Number one",        FORMAT(MONTH([Date]), "0") & "月",
    "日期",                    YEAR([Date]) & "-" & FORMAT([Date], "MM"),
    "Quarternumber",           ROUNDUP(MONTH([Date]) / 3, 0),
    "Yearquartersort",         YEAR([Date]) * 10 + ROUNDUP(MONTH([Date]) / 3, 0),
    "Year-Quarter",            YEAR([Date]) & "-" & "Q" & QUARTER([Date]),
    "Year-Month",              YEAR([Date]) & "-" & FORMAT([Date], "mmm"),
    "Yearmonthsort",           YEAR([Date]) * 100 + MONTH([Date]),
    "Day",                     DAY([Date]),
    "Year-Month-Day",          YEAR([Date]) & "/" & FORMAT([Date], "MM") & "/" & DAY([Date]),
    "CurrentFlag",             IF([Date] = TODAY(), 1, 0),
    "CustomYear",              IF(AND([Date] >= DATE(YEAR([Date]), 8, 1), [Date] <= DATE(YEAR([Date]) + 1, 8, 1)), YEAR([Date]), YEAR([Date]) - 1),

    /* ---------- 新增周维度(周一 = 当周第一天,中国 2025-04-W1 格式) ---------- */
    "WeekNumber",              WEEKNUM([Date], 21),  // ISO 周号
    "MonthWeekIndex",          ROUNDDOWN((DAY([Date]) - 1) / 7, 0) + 1,  // 当月第几周 1-5
    "Year-Month-Week",         YEAR([Date]) & "-" & FORMAT([Date], "MM") & "-W" & ROUNDDOWN((DAY([Date]) - 1) / 7, 0) + 1,
    "YearMonthWeekSort",       YEAR([Date]) * 1000 + MONTH([Date]) * 10 + ROUNDDOWN((DAY([Date]) - 1) / 7, 0) + 1,
    "WeekStart",               [Date] - WEEKDAY([Date], 2) + 1,  // 当周周一
    "WeekEnd",                 [Date] - WEEKDAY([Date], 2) + 7,  // 当周周日

    /* --- 动态计算今日和昨日日期标志 --- */
    "TodayFlag", 
    IF([Date] = TODAY(), "今日", 
       IF([Date] = TODAY() - 1, "昨日", BLANK()))
)
  • 以事实表 '销售出库单'[业务日期] 的最小值 → 今天,生成连续日历。

  • 用 ADDCOLUMNS 一次性把后续报表里要用的所有时间维度字段都"打"上去,避免以后反复写计算列。

  • 所有字段都是计算列,不是度量值;表刷新时一次性算完,后续切片、筛选、排序直接拖字段即可。

  • 自定义财年

    CustomYear = 如果日期在当年 8-1 到次年 7-31 之间,则财年=当年,否则=上年。

    → 8 月 1 日作为财年起点,常见于零售/教育行业。

  • 报表里需要"周"维度时,直接拖 Year-Month-Week 或 WeekStart/WeekEnd 即可;排序用 YearMonthWeekSort。

2.日期切片器

  • 单日筛选

" TodayFlag " 为文本类型字段,直接拖放切片器字段值,视觉对象垂直列表可全部显示,打开单项选择则实现单选筛选数据,打开 "全选" 选项则切片器有全选选项。

  • 日期范围筛选

" Date " 字段类型需要设置为日期格式,点击Date字段,将数据类型修改为日期时间,格式选择自己喜好类型。切片器设置选项样式为介于,在日期表中MIN日期与MAX日期的范围选择,图中隐藏日期滑块,打开滑块可以滑动选择日期。

3. 模型视图关联

日期维度表Date字段与 " 业务单据表 " 形成模型视图关联,交叉筛选方向选择双向,可以应用安全筛选器。这样就可以实现日期维度表整个看板的数据筛选。

相关推荐
招风的黑耳5 小时前
移动端数据可视化高保真原型模板:开启Axure高效设计新征程
axure·数据可视化·移动端
CodeCraft Studio5 小时前
Stimulsoft报表与仪表板产品重磅发布2026.1版本:进一步强化跨平台、数据可视化、合规及 AI 辅助设计等
人工智能·信息可视化·报表开发·数据可视化·stimulsoft·仪表板·报表工具
程序员老赵7 小时前
Nextcloud Docker 容器化部署指南
docker·数据分析·数据可视化
杨超越luckly10 小时前
ArcGIS应用指南:使用ArcScene制作三维热力图
arcgis·数据可视化·shp·arcscene·三维热力图
招风的黑耳2 天前
【Axure高保真原型】120页移动端高保真数据可视化模板
axure·数据可视化·移动端
希艾席帝恩2 天前
数字孪生正在悄然改变交通管理方式
大数据·人工智能·数字孪生·数据可视化·数字化转型
织元Zmetaboard5 天前
物联网大屏:从数据可视化到智能决策的进化之路
物联网·三维可视化·数据可视化·大屏
FIT2CLOUD飞致云6 天前
仪表板和数据大屏支持统一设置数值格式,DataEase开源BI工具v2.10.18 LTS版本发布
开源·数据可视化·dataease·bi·数据大屏
2501_924064117 天前
2025年接口错误自动分析工具对比与性能测试平台选型指南
测试工具·性能优化·数据可视化