SQL和MySQL以及DAX、Power Query的日期表生成?数字型日期?将生成的日期表插入到临时表或者实体表中

7天掌握数据分析核心工具:Excel、SQL、Python、Power BI实战指南 数据分析是通过系统方法从数据中提取有价值信息的过程,其核心在于将原始数据转化为可操作的业务洞察。在技术实现上,数据分析通常遵循数据提取、清洗、分析和可视化的完整工作流。Excel作为数据探索的瑞士军刀,适合快速验证和小规模处理;SQL是数据库查询的标准语言,用于高效提取数据;Python凭借pandas等库处理复杂分析和自动化任务;Power BI则专注于将分析结果转化为直观的可视化报表。掌握这四大工具的协同使用,能够显著提升数据分析效率,适用于电商、金融、营销等多种业务场景。本文提供的7天速成计划,通过实 阅读详情

几种生成日期表的方法
如何用SQL语句生成日期表呢?
如何用MySQL语句生成日期表呢?
如何用DAX语句生成日期表呢?

1. MySQL生成日期表

1.1 日期格式:yyyy-MM-dd 字符型 2024-01-02

-- 生成日期表
WITH RECURSIVE temp_dateTable AS (
  SELECT '2023-01-01' AS datekey
  UNION ALL
  SELECT DATE_ADD(datekey, INTERVAL 1 DAY)
  FROM temp_dateTable
  WHERE datekey < '2023-12-31'
)
SELECT datekey FROM temp_dateTable
;
/*
datekey
2023-01-01
2023-01-02
2023-01-03
2023-01-04
*/

1.2 日期格式:yyyyMMdd 数字型 20240102

-- 生成日期表
WITH RECURSIVE temp_dateTable AS (
  SELECT 20240101 AS datekey
  UNION ALL
  SELECT date_format(date_add(CONVERT(datekey, CHAR),interval 1 day), "%Y%m%d")+0
  FROM temp_dateTable
  WHERE datekey < 20240117
)
select
	dt.datekey
from temp_dateTable dt
;
/*
datekey
20240101
20240102
20240103
20240104
*/

1.3 MySQL生成的日期表插入到实体表(临时表)

-- 删除表
DROP TABLE IF EXISTS create_dateTable;

-- 创建表
CREATE TABLE create_dateTable (
    datekey DATE PRIMARY KEY
);

-- 将查找出来的临时表插入到新创建的实体表
INSERT INTO create_dateTable
WITH RECURSIVE temp_dateTable AS (
  SELECT '2023-01-01' AS datekey
  UNION ALL
  SELECT DATE_ADD(datekey, INTERVAL 1 DAY)
  FROM temp_dateTable
  WHERE datekey < '2023-12-31'
)
SELECT datekey FROM temp_dateTable;
-- 查找日期
SELECT * FROM create_dateTable;

2. SQL生成日期表

2.1 日期格式:yyyy-MM-dd 字符型 2024-01-02

DECLARE @BeginDate DATE, @EndDate DATE;
SET @BeginDate = '2023-09-01'
SET @EndDate = '2023-12-01'
;
WITH cteDate AS (
         SELECT @BeginDate AS CalendarDate
         UNION ALL
         SELECT DATEADD(DAY,1,CalendarDate)
         FROM cteDate
         WHERE CalendarDate <= @EndDate
)
SELECT
        CalendarDate DateKey,
        (DATEPART(YEAR,CalendarDate) * 10000) + (DATEPART(MONTH,CalendarDate) * 100) +
        DATEPART(DAY,CalendarDate) CalendarDate,
        DATEPART(YEAR,CalendarDate) AS Year,
        DATEPART(MONTH,CalendarDate) AS MonthNumber,
        DATENAME(MONTH,CalendarDate) AS Month,
        DATENAME(QUARTER,CalendarDate) AS Quarter
        , format(CalendarDate ,'yyyyMM') YeamMonth
FROM cteDate
OPTION (MAXRECURSION 0)

2.2 日期格式:yyyyMMdd 数字型 20240102

DECLARE @BeginDate INT, @EndDate INT;
SET @BeginDate = 20240101; 
SET @EndDate = 20240117;   
WITH cteDate AS (
         SELECT @BeginDate AS CalendarDate
         UNION ALL
         SELECT format(dateadd(day, 1, cast(CalendarDate as varchar(8))), 'yyyyMMdd')+0
         FROM cteDate
         WHERE CalendarDate < @EndDate
)
select
	CalendarDate
from cteDate
/*
CalendarDate
20240101
20240102
20240103
20240104
*/

2.3 SQL生成的日期表插入到实体表(临时表)

DECLARE @BeginDate DATE, @EndDate DATE;
SET @BeginDate = '2023-09-01'
SET @EndDate = '2023-12-01'
;
WITH cteDate AS (
         SELECT @BeginDate AS CalendarDate
         UNION ALL
         SELECT DATEADD(DAY,1,CalendarDate)
         FROM cteDate
         WHERE CalendarDate <= @EndDate
)
SELECT
        CalendarDate DateKey,
        (DATEPART(YEAR,CalendarDate) * 10000) + (DATEPART(MONTH,CalendarDate) * 100) +
        DATEPART(DAY,CalendarDate) CalendarDate,
        DATEPART(YEAR,CalendarDate) AS Year,
        DATEPART(MONTH,CalendarDate) AS MonthNumber,
        DATENAME(MONTH,CalendarDate) AS Month,
        DATENAME(QUARTER,CalendarDate) AS Quarter
        , format(CalendarDate ,'yyyyMM') YeamMonth
        INTO #temp_dateTable
FROM cteDate
OPTION (MAXRECURSION 0);
SELECT * FROM #temp_dateTable

3. DAX日期表生成 自动日期表

EVALUATE
ADDCOLUMNS (
     CALENDARAUTO(),
     "Year", YEAR ( [Date] ),
     "Quarter No", QUARTER ( [Date] ),
     "Quarter", "Q" & QUARTER ( [Date] ),
     "Month No", MONTH ( [Date] ),
     "Month", FORMAT ( [Date], "MM" ),
     "Day", DAY ( [Date] )
)

3.2 DAX日期表生成 指定日期表

EVALUATE
ADDCOLUMNS (
     CALENDAR ( DATE ( 2023, 11, 01 ), DATE ( 2023, 12, 31 ) ),
     "Year", YEAR ( [Date] ),
     "Quarter No", QUARTER ( [Date] ),
     "Quarter", "Q" & QUARTER ( [Date] ),
     "Month No", MONTH ( [Date] ),
     "Month", FORMAT ( [Date], "MM" ),
     "Day", DAY ( [Date] )
)

日期表生成

4.Power Query生成日期表

let
    // 获取当前日期
    当前日期 = DateTime.Date(DateTime.LocalNow()),
    //  整年
    // 开始日期 = Date.StartOfYear(Date.AddYears(当前日期, -1)),
    // 自动计算开始日期(当前日期前一年)和结束日期(当前日期)
    开始日期 = Date.AddYears(当前日期, -1),
    结束日期 = 当前日期,
    
    // 生成日期序列
    日期列表 = List.Dates(开始日期, Duration.Days(结束日期 - 开始日期) + 1, #duration(1,0,0,0)),
    
    // 转换为表格
    初始表 = Table.FromList(日期列表, Splitter.SplitByNothing(), {"日期"}, null, ExtraValues.Error),
    
    // 添加日期相关列
    添加年份 = Table.AddColumn(初始表, "年份", each Date.Year([日期])),
    添加季度 = Table.AddColumn(添加年份, "季度", each "Q" & Number.ToText(Date.QuarterOfYear([日期]))),
    添加月份 = Table.AddColumn(添加季度, "月份", each Date.Month([日期])),
    添加月份名称 = Table.AddColumn(添加月份, "月份名称", each Date.MonthName([日期])),
    
    // 年月列(格式:202511)
    添加年月 = Table.AddColumn(添加月份名称, "年月", each 
        Text.From(Date.Year([日期])) & 
        Text.PadStart(Text.From(Date.Month([日期])), 2, "0")),
    
    // 年周列(格式:202540)
    添加年周 = Table.AddColumn(添加年月, "年周", each 
        Text.From(Date.Year([日期])) & 
        Text.PadStart(Text.From(Date.WeekOfYear([日期], Day.Monday)), 2, "0")),
    
    // 添加排序序号列
    // 添加年月序号 = Table.AddColumn(添加年周, "年月序号", each Date.Year([日期]) * 100 + Date.Month([日期])),
    // 添加年周序号 = Table.AddColumn(添加年月序号, "年周序号", each Date.Year([日期]) * 100 + Date.WeekOfYear([日期], Day.Monday)),
    
    添加星期几 = Table.AddColumn(添加年周, "星期几", each Date.DayOfWeek([日期], Day.Monday) + 1),
    添加星期名称 = Table.AddColumn(添加星期几, "星期名称", each Date.DayOfWeekName([日期])),
    添加是否周末 = Table.AddColumn(添加星期名称, "是否周末", each if Date.DayOfWeek([日期], Day.Monday) >= 5 then "是" else "否"),
    
    // 设置数据类型
    最终表 = Table.TransformColumnTypes(添加是否周末,{{"年份", Int64.Type}, {"月份", Int64.Type}, {"星期几", Int64.Type}, {"年月", Int64.Type}, {"年周", Int64.Type}})
in
    最终表
Excel、SQL、Power BI、Python:7天掌握数据分析四大核心工具 数据分析是通过系统方法从数据中提取有价值信息的过程,其核心原理包括数据采集、清洗、建模和可视化。在现代商业环境中,数据分析技术能够帮助企业优化决策、提升运营效率和发现新的商业机会。从Excel的基础数据处理到SQL的数据库查询,再到Power BI的可视化报表和Python的自动化分析,这些工具覆盖了数据分析的全流程。特别是在商业智能和机器学习应用场景中,这些工具的组合使用能够构建完整的数据分析解决方案。本文以Excel数据清洗和Python机器学习实战为例,详细介绍了如何通过7天系统学习掌握这四款核心工具 阅读详情

相关推荐

数据分析入门:Excel、SQL、Python、Power BI四大工具学习路线与实战指南

你是不是也遇到过这样的困惑:想学数据分析,但面对Excel、Python、SQL、BI这些工具,不知道从哪开始?网上教程要么太零散,要么太深奥,要么就是收费昂贵。更让人头疼的是,学了半天,还是不知道这些工具在实际工作中到底怎么配合使用,简历上写“会数据分析”也显得底气不足。 这篇文章要解决的,正是这个核心痛点。我将为你梳理一条从零基础到能解决实际问题的数据分析学习路径,并提供一个整合了Excel、Python、SQL、Power BI四大核心工具的免费学习资源框架。这不仅仅是一份课程列表,更是一份帮你建立数

weixin_30897079的博客 322

MySQL 日期表制作

史上最全的日期表创建和输出。

小发菜 1570

告别VLOOKUP!用数据模型与Power Query构建多表关联透视表

在数据分析领域,数据关联是整合多源信息、进行深度业务洞察的核心技术。其原理在于通过键值关系连接不同数据表,构建统一的分析视图,从而避免数据冗余与不一致。这项技术的核心价值在于能显著提升分析效率与灵活性,将复杂的手动合并转化为自动化流程。无论是销售、库存、财务还是人力资源分析,多表关联都是实现跨维度、跨主题分析的基础。本文聚焦于Excel环境中实现多表关联的两种高效方案:利用内置数据模型建立逻辑关系,以及通过Power Query进行物理整合。这两种方法都能有效解决传统VLOOKUP函数在维护性和扩展性上的痛

weixin_33970449的博客 460

MySQL快速生成日期维度表

mysql 日期 维度

月上千秋河 1905

7周数据分析实战:Excel、SQL、Python、PowerBI系统学习路线

数据分析作为从海量数据中提取有价值信息的关键技术,其核心在于通过系统化的数据处理流程解决实际问题。从基础的数据清洗到复杂的机器学习建模,数据分析技术能够帮助企业优化决策、提升效率。在数据分析学习过程中,Excel提供了直观的数据处理能力,SQL实现了高效的数据查询,Python则支撑了复杂的数据分析和可视化。特别是在实际应用中,数据透视表能够快速汇总分析数据,而Python的Pandas库则为大规模数据处理提供了强大支持。这些技术共同构成了数据分析的核心技能栈,适用于电商、金融、运营等多个行业的数据驱动决策

weixin_34293141的博客 354

多维聚合实战:从空间构建到跨维计算的工程化方法

多维聚合是BI与数据分析的核心能力,其本质远超SQL中GROUP BY的基础语法,涉及分析空间定义、维度建模约束、层级汇总、同比计算及业务规则驱动等系统性工程。理解维度组合的笛卡尔积基底、代理键一致性、事实表粒度唯一性等底层原理,是保障报表准确性的前提;而空间构建、层级折叠、跨维计算和条件变形四大操作类型,则直接决定分析结果的技术价值与业务可用性。在零售、SaaS、制造等多行业实践中,该能力支撑着动态钻取、异常标记、占比分析等关键场景。本文聚焦真实工程落地,详解如何用物化空间表、闭包层级、安全LAG/日期对

chubaisheng8627的博客 368

MYSQL生成日期列表

以前的做法是通过借助于辅助表来实现,意思是说,生成一个整数序列1~N(N至少要大于所需序列的最大长度),并在数据库中创建这个表。在RECURSIVE定义的递归下,UNION ALL前面的部分相当于初始化递归函数。UNIONALL后面的部分实现递归调用,直到达到WHERE后的终止条件。今天刚刚学习了一种新的方式,借助于MYSQL8的递归函数,不用建立物理表就可以实现。这样,我们就获得了从2023年2月5日到2023年3月2日的一个时间序列。今天工作过程中,遇到了一个需要生成一个日期序列作为主表的需求。

石头会说话 的博客 2720

ICM42670-P嵌入式开发实战:从寄存器配置到姿态解算全解析

本文全面解析ICM42670-P高性能6轴MEMS运动传感器的嵌入式开发实战,涵盖寄存器配置、数据采集滤波、低功耗优化及姿态解算算法。通过详细代码示例和应用案例,帮助开发者快速掌握从硬件对接到姿态跟踪系统的完整开发流程,适用于可穿戴设备和智能家居等低功耗应用场景。

gold的博客 1065

MySQL 数据库生成连续日期

要想在 MySQL 中直接用 SQL 生成连续日期,有一种生成方法是可以借助 mysql 用户下的 help_topic 表实现。另外还有其它方法,比如存储过程实现,或者自定义函数实现均可,请自行查阅。

郎图腾 4422

VisionMaster图像源模块的5个隐藏功能:从自动切换到二次开发接口

本文深入解析了VisionMaster图像源模块的5个隐藏功能,从基础的自动切换与字符触发过滤,到高级的脚本扩展与基于COM组件的二次开发接口。这些功能能显著提升工业视觉项目的自动化水平、灵活性与系统集成能力,帮助开发者实现更高效的离线测试流水线和外部精确控制。

rgv23456789的博客 651

如何在Tagetik系统中抽取处理SAP系统财务数据

如何在Tagetik系统中抽取处理不同核算系统财务数据:以SAP为例,简单讲一下Tagetik对接SAP数据的基本情况

2201_75401663的博客 577

MySQL生成日期维度表

MySQL生成日期维度表

ronshi的博客 828

SAR成像处理基本知识2——图像尺寸与回波尺寸的关系

阅读本文前,请先了解上一篇文章(SAR成像处理基本知识1——常用专用名词解释) 1. SAR图像尺寸预估方法 以C波段2m@20km的SAR图像为例,假设天线中心下视角为35° ,说明图像尺寸的估计方法。 1.1 距离向尺寸估计 地距分辨率为2m时,距离向分辨率约为1.15m,则要求信号带宽不小于130MHz,假设信号带宽为150MHz,采样率为180MHz,那么距离向分辨单元为0.833m。 地距幅宽为20km时,距离向幅宽约为20*sind(3...

爱学习的小伟的博客 4954

数据分析四大工具Excel、SQL、Python、Power BI的7天实战指南

数据分析是通过技术手段从原始数据中提取有价值信息的过程,其核心原理在于数据采集、清洗、建模和可视化。在数据驱动决策的时代,掌握数据分析工具能显著提升业务洞察力和工作效率。Excel作为数据探索的瑞士军刀,适合快速查看数据分布和基础图表制作;SQL则是数据提取的金钥匙,专门用于从数据库中高效查询数据。Python凭借强大的库生态成为数据清洗与建模的万能工具箱,而Power BI作为数据可视化的展示舞台,能将分析结果转化为交互式报表。这四大工具在实际工作中形成完整协作链条:SQL提取数据、Python深度分析、

weixin_34124651的博客 505

红外弱小目标检测:IPI算法解读及MATLAB复现

参考文献:[1]C. Gaoet al., “Infrared Patch-Image Model for Small Target Detection in a Single Image,” vol. 22, no. 12, pp. 4996–5009, 2013. 本文整理????论文笔记,并附MATLAB实现代码。 一、阅读笔记 1. 摘要 IPI算法是单帧检测算法; 利用背景的非局部子相关性(non-local self-correlation ofbackground),将目标检测转..

小草莓的魔法笔记 1万+

树莓派3-改装wifi外置天线

声明:本文只是技术性探讨,改装引起的产品损坏等后果,由用户自负! 改装主要有两种方法 方法一:直接替换原来的天线 1、移除原有的小陶瓷天线,就在Made in PRC(或UK)那边的那个 清理一下阻焊剂方便天线接地(图中PRC左侧) 2、焊接天线 天线的屏蔽层焊接到清理完阻焊剂的地方,中间的信号线焊接到PRC右侧焊盘。 3、最终的样子

huayucong的博客 2万+

数据分析学习指南:Excel、SQL、Python、Power BI 核心工具链实战路径

数据分析作为一项核心的数字化技能,其本质是通过科学方法从数据中提取信息、形成结论,以支持业务决策。其技术原理通常遵循从数据获取、清洗处理、分析建模到可视化呈现的完整流程。掌握这一流程对于提升个人与组织的决策效率和数据驱动能力具有重要价值,广泛应用于商业智能、运营优化、市场研究等场景。本文聚焦于构建扎实的数据分析能力,系统拆解了由 Excel、MySQL、Python 和 Power BI 组成的核心工具链。其中,Excel 用于快速数据感知与轻量分析,MySQL 负责高效的数据查询与整合,Python 赋能

weixin_30735745的博客 397

深入瑞芯微SDK:手把手解析Uboot、Kernel到Rootfs的镜像生成与烧录

本文深入解析瑞芯微SDK中从Uboot、Kernel到Rootfs的镜像生成与烧录全流程,揭示编译背后的技术细节。通过详细分析SDK架构、镜像生成流水线、分区表定制、Rootfs构建及烧录科学,帮助开发者从会编译进阶到懂原理,掌握系统级开发的关键技术。

weixin_29193359的博客 270

数据分析师技能闭环:从SQL到Python的电商用户行为分析实战

在实际企业数据工作中,数据分析师的角色远不止于使用某个单一工具。一个月的集中学习,目标不是成为专家,而是构建一个从思维到工具、从数据获取到可视化的完整知识闭环,能够独立处理常见的业务数据需求。本文将以一个模拟的“电商用户行为分析”项目为主线,串联起数据分析思维、Excel、SQL、指标体系建设、Power BI和Python数据分析的核心技能点。通过这个流程,你将理解每个工具在分析链路中的定位,掌握从原始数据到决策建议的完整工作方法。 1. 建立数据分析思维与指标体系 在接触任何工具之前,必须先明确分析的目

weixin_30905981的博客 362

carsim与simulink联合仿真学习笔记(二)——使用C-class车模做driver model仿真(5 driver sensors)

Driver model 在carsim的Simulink库中自带外部驾驶员模型,打开后如图所示: 然后打开carsim中对应的数据集,如图所示: 具体仿真步骤不在赘述,注意到这里选择的是E-Class车模,那么如果我想选择C-Class车型进行仿真呢?点三角选择车型可以看到: 马赛克部分是我后来建的,如过没有使用过是没有马赛克部分的。那么既然这里没有C-class,又该怎么办呢? 创建C-...

xufuqiang2017的博客 4116

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

数据分析师一个月速成指南:从Excel到Python的完整技能栈

很多同学想转行数据分析,但面对Excel、SQL、Python、PowerBI等一堆工具,常常感到无从下手,不知道从哪里开始,也不知道如何系统性地学习。网上资料虽然多,但往往零散不成体系,学了很久感觉还是在原地打转。 本文旨在为你提供一份清晰、可执行、覆盖核心技能栈的“一个月速成”学习路径。这不是一个轻松的过程,需要你投入大量时间和精力,但通过结构化的学习,你可以快速掌握数据分析师的核心工作流和必备技能。我们将从数据分析思维入手,逐步深入到Excel、SQL、指标体系、PowerBI和Python数据分析,

weixin_33970449的博客 354

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Excel原生思维:数据分析师的零延迟响应方法论

Excel并非简化版编程工具,而是一种面向业务响应的可视化计算引擎。其核心价值在于将业务逻辑直接映射为可执行、可验证、可协作的二维空间计算路径,支撑从问题定义到洞察传达的完整分析闭环。依托内存实时运算、坐标化建模与轻量协同机制,Excel在探索性分析、跨职能对齐和敏捷交付场景中展现出不可替代的技术优势。尤其在单表50万行以内、多源整合需求明确、时效要求≤15分钟的典型数据分析任务中,它比数据库查询更迅捷、比BI工具更透明、比Python脚本更贴近人脑认知节奏。本文深入解析Excel作为‘业务翻译器’与‘计算

java天气 322

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

多维聚合实战:从OLAP立方体到动态下钻的数据操作指南

多维聚合是现代数据分析的核心能力,本质是将扁平数据映射为可钻取、可计算的N维坐标系,而非简单GROUP BY叠加。其技术价值在于支撑灵活的比率计算、时间智能分析、条件聚合与跨层级排名等高阶指标,广泛应用于BI看板、实时数仓和用户行为分析场景。关键突破点在于打通存储层(星型模型)、计算层(预聚合+窗口函数)与表达层(声明式DAX/Pandas)的协同,尤其需重视维度建模的业务可解释性与缓慢变化处理。本文聚焦‘聚合之后的数据操作’——即如何在已构建的多维结构上安全执行重计算、动态映射与再聚合,直击83%报表性能

wgyyh 479

Power BI 日期表DAX代码

为什么要在power bi中创建日期表,如何在power bi中创建日期表?

xili1342的博客 1758

mysql实现pgsql中的generate_series()函数生成日期列表

【代码】mysql实现pgsql中的generate_series()函数生成日期列表。

m0_50336592的博客 1323

1. DAX 时间函数--生成日期表

在讲 DAX 时间函数之前,先说一下日期格式,日期格式中有 7 个属性,分别是“Date”、“MonthNo”、“QuarterNo”、“年”、“日”、“月份”。在讲 DAX 时间函数之前,请大家先保存以下下面的代码,这是用来生成一个日期表的,非常实用,对着代码讲学得更快。CALENDAR 生成了一个列表,从 到,其中每个标量都是都是日期格式的。, 类型都是 DATE 日期类型,它是由 DATE 函数生成的。这 7 个属性是什么,可以简单从下表看出来。

一分耕耘一分收获 2371
上一篇: Excel 宏插件实现聚光灯功能(高亮当前行列 高亮行列)自定义宏插件 自定义功能实现一键开启关闭聚光灯效果 将自己做的Excel宏和Excel函数做成加载项插入到Excel功能区
下一篇: 在SQL的SELECT中实现循环查找、双层和多层循环(迭代)查找 SQL如何实现编程语言的for循环查询 MySQL的Select子查询
画扇落汗
博客等级 码龄8年 307粉丝 37原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值