场景介绍:
类似于MySQL里的date_format(%x%v)实现得到某年某周的数据;
1、在观远里,如果是卡片编辑的场景,那么直接拖入日期-周就可以:
在选择筛选器上,也可以直接按周进行筛选:
2、如果是ETL或者在卡片里但是一定需要用新建字段来解决的场景,可以用concat拼接来实现:concat(year([日期]),"年","第",weekofyear([日期]),"周"):
但是,年末的几天往往比较棘手,比如2019年的12月30号和12月31号实际上是2020年第一周,如果按照上面的处理方式,得到的结果会变成2019年第1周:
解决方法:
用case when函数 特殊处理年末几天的数据,语法如下:
case when [日期]="2019-12-30"or [日期]="2019-12-31"
then concat(year([日期])+1,"年","第",weekofyear([日期]),"周" )
else concat(year([日期]),"年","第",weekofyear([日期]),"周") end
处理结果如下:
小结:由于拼接函数及weekofyear本身无法识别跨年周所在年份,目前只能通过手动处理成正确的年份,如果是在卡片编辑的场景,建议直接使用系统自带的日期-周。