转至:https://www.cnblogs.com/timespry/p/12188189.html
Model.DatesTemplate =
// 模板函数
// 构造日期表的方法
// 本方法基于数据模型中最大的表
// VAR BeginDate = MINX( { MIN( 'Model_Order'[订单日期] ) , MIN( 'Model_Order'[发货日期] ) } , [Value] ) // 根据实际修改
// VAR EndDate = MAXX( { MAX( 'Model_Order'[订单日期] ) , MAX( 'Model_Order'[发货日期] ) } , [Value] ) // 根据实际修改
VAR BeginDate = MINX( { MIN( 'Model_Order'[订单日期] ) } , [Value] ) // 根据实际修改
VAR EndDate = MAXX( { MAX( 'Model_Order'[订单日期] ) } , [Value] ) // 根据实际修改
// 生成日期表,以下内容无需修改
RETURN
ADDCOLUMNS(
CALENDAR(
DATE( YEAR( BeginDate ) , 1 , 1 ) , // 开始日期
DATE( YEAR( EndDate ) , 12 , 31 ) // 结束日期
),
"年" , YEAR( [Date] ) ,
"季度" , FORMAT ( [Date], "Q" ),
"年季" , YEAR( [Date] ) * 10 + FORMAT ( [Date], "Q" ),
"月" , MONTH( [Date] ) ,
"年月" , YEAR( [Date] ) * 100 + MONTH( [Date] ) ,
"周数" , WEEKNUM( [Date] , 2 ) ,
"年周数" , YEAR( [Date] ) * 100 + WEEKNUM( [Date] , 2 ) ,
"星期" , WEEKDAY( [Date] , 2 ) ,
"日" , DAY( [Date] )
)