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

相关推荐
C澒10 小时前
IntelliPro 企业级产研协作平台:数据可视化全流程拆解
前端·数据可视化
问组生物1 天前
在线绘制带连线的配体-受体联合热图
数据分析·数据可视化·论文插图·科研绘图·科学科普·基因表达·联合热图
漂视数字孪生世界1 天前
数字孪生开发工具对比:CIMPro孪大师 VS Cesium
数据可视化
CodeCraft Studio1 天前
LightningChart .NET v12.5.1 发布:高性能数据可视化再升级,赋能工业与实时数据场景
信息可视化·.net·gpu·数据可视化·lightningchart·高性能图表开发·数据可视化引擎
漂视数字孪生世界1 天前
数字孪生三维可视化引擎:5大选型关键指标解析
数据可视化
余丁,微生信1 天前
在线绘制饼+弧线图以展示venn交集情况
数据分析·数据可视化·论文插图·生信分析·科学科普·文恩图·基因表达
漂视数字孪生世界1 天前
数字孪生三维可视化平台有哪些?主流工具与选型指南
数据可视化
CodeCraft Studio2 天前
高性能图表库SciChart助力机器人实现实时AI驱动的性能提升
人工智能·信息可视化·机器人·数据可视化·scichart·高性能图表库·wpf图表库
码云之上2 天前
从 SQL DDL 到 ER 图:前端如何优雅地实现数据库可视化
前端·数据库·数据可视化
王霸天3 天前
💥别再抄网上的Scale缩放代码了!50行源码教你写一个永不翻车的大屏适配
前端·vue.js·数据可视化