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

相关推荐
kejiayuan12 小时前
FineBI组件制作-构成分析类图表
数据分析·数据可视化·finebi
kejiayuan12 小时前
FineBI组件制作-流向分析类图表
数据分析·数据可视化·finebi
initialD大辉1 天前
打破 3D 开发壁垒:一个低代码/零代码数字孪生平台的前后端全栈架构演进
前端·数据可视化
用户937855808702 天前
Matplotlib 数据可视化:常用图表类型详解与代码示例
数据可视化
用户937855808703 天前
Matplotlib可视化教程:Matplotlib的使用
数据可视化
Bigemap软件5 天前
【无标题】保姆级教程|河道中心线自动化渲染+水质监测可视化,全流程一步到位
数据可视化·测绘·国产gis软件·bigemappro·河流污染热力图
山海鲸实战案例分享5 天前
【数字孪生实战案例】怎样在可视化场景内实现模型裁切操作?~山海鲸可视化
数字孪生·数据可视化·零代码·实战案例·山海鲸可视化·三维场景·裁切
极光代码工作室6 天前
基于大数据的交通流量分析系统
大数据·hadoop·python·数据分析·数据可视化
SZLSDH6 天前
数字孪生IOC的“双引擎”架构:当业务编排遇上渲染管线,如何实现场景适配?
数据库·ai·架构·数字孪生·数据可视化·智能体
Strayer7 天前
在地图上实现管网拓扑批量移动、旋转与缩放(参考图片的实现方式)
gis·webgl·数据可视化