element 怎么把数据写到日历表上_分析离不开时间维度,利用Power BI帮你快速生成日历表

f8d662f243beae3f98361408b13ffe20.png

数据分析中的日历时间表

我们在实际分析中,必然会涉及到从时间维度来比较数据:

比如:与去年同期比较、与上个月比较、截至某日当年任务完成了多少?

此时我们都会使用一张标准日历表或者根据业务情况来定制的日历表来作为辅助计算表

日历表生成的方法

那怎么生成这张日历表呢?

一般如果公司有BI数仓,每年都会自动或者人工生成一张表,这样你可以调用。

但是没有的话,就需要我们自己来搞一张出来

一般会有几种方法:

  1. 利用excel来生成,通过日期函数来编辑
  2. 利用Power BI的空查询,写M语言来生成一个日期列,然后再利用PQ来添加其他时间字段
  3. 利用Power BI的新建表,写DAX公式,即可快速生成一张日历表

这里我推荐第三种方式,最大的优点是它可以自动或者人工控制时间区间范围,非常方便

DAX生成日历表的操作

下面就主要介绍一下第三种方法:

第一步:新建表

fa102e70909cc86d61c27af7d92e76a3.png

第二步:写下DAX公式即可

fc403c7f86f73bd19be2dce3478ddf53.png

具体的代码+注释:

定制日历表2 =     ADDCOLUMNS(                                 /// 该函数是在生成日期表的基础上,进一步创建如下新的时间字段:    CALENDAR(DATE(2016,01,01),DATE(2017,12,31)),/// 首先返回一个日期表,此处可以自定义修改时间区间,也可以使用Firstdate和Lastdate来提取业务记录中的实际时间区间,完美解决时间区间调整问题    "年",YEAR([Date]),                            /// 返回年份列    "季度",ROUNDUP(MONTH([Date])/3,0),              /// 返回季度列    "月",MONTH([Date]),                           /// 返回月份列    "周",WEEKNUM([Date]),                         /// 返回周列)    "年季度",YEAR([Date])&"Q"&ROUNDUP(MONTH([Date])/3,0), /// 返回年季度列    "年月",YEAR([Date])*100 + MONTH([Date]),        /// 返回年月    "年周",YEAR([Date])*100 + WEEKNUM([Date]),      /// 返回年周    "星期几",WEEKDAY([Date]                           /// 返回星期几    ))

写在最后

最近一直忙着项目,没怎么更新内容,之后老海会逐步回归更新,希望多多支持老海~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
假设我们有一个名为`element_instance`的表,它有两个字段:`id`和`parent_id`,其中`id`是元素实例的唯一标识符,`parent_id`指向该元素实例的父级元素。我们需要通过多个子`id`查询它们的所有父级元素,并去重。下面是一个详细的过程: 1. 将多个子`id`以逗号分隔组成一个字符串,例如:`'1,2,3'`。 2. 使用MySQL的`FIND_IN_SET`函数将子`id`字符串拆分成多个子`id`,并对每个子`id`进行查询: ``` SELECT DISTINCT parent_id FROM element_instance WHERE FIND_IN_SET(id, '1,2,3') > 0; ``` 该查询使用`FIND_IN_SET`函数查找`id`字段在`'1,2,3'`中的位置,如果返回值大于0,则说明该`id`在子`id`列表中,查询返回该`id`的父级元素的`parent_id`。 3. 将上述查询结果作为子查询嵌入到一个更大的查询中,使用`DISTINCT`关键字对父级元素的`parent_id`进行去重: ``` SELECT DISTINCT parent_id FROM element_instance WHERE id IN ( SELECT DISTINCT parent_id FROM element_instance WHERE FIND_IN_SET(id, '1,2,3') > 0 ); ``` 该查询先通过子查询获取所有匹配的父级元素的`parent_id`,然后再在`element_instance`表中查找这些父级元素的详细信息,并使用`DISTINCT`关键字对`parent_id`进行去重,最终返回所有匹配的父级元素的`parent_id`。 需要注意的是,这个查询可能会比较慢,特别是当`element_instance`表中的数据量很大时。在实际应用中,可以考虑对`id`和`parent_id`字段添加索引来加速查询。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值