在powerbi报表中,我们往往会对数据源进行日常刷新,powerbi链接了数据库的情况下,根据日期灵活取数是我们必须掌握的一个技能。

在本文中,我们将介绍如何使用 SQL 的 DATE_SUB 函数来获取数据库中最近 90 天的数据。

DATE_SUB 函数是一个 MySQL 的函数,它可以从一个日期或时间值中减去一个指定的时间间隔,然后返回结果。我们可以利用这个函数来筛选出我们想要的时间范围内的数据。

以下是本文的思维导图:

一:DATE_SUB 函数语法

1.1  基础语法

DATE_SUB(date, INTERVAL expr type)

其中,date 参数是一个合法的日期或时间表达式,expr 参数是一个数值,表示要减去的时间间隔的数量,type 参数是一个字符串,表示时间间隔的类型。type 参数可以是以下值之一:

- MICROSECOND- SECOND- MINUTE- HOUR- DAY- WEEK- MONTH- QUARTER- YEAR,等等

二: sql示例

2.1  简单示例

例如,如果我们想要从当前日期减去 3 天,我们可以写成:

DATE_SUB(CURDATE(), INTERVAL 3 DAY)

CURDATE() 函数返回当前日期,INTERVAL 3 DAY 表示 3 天的时间间隔。这个表达式的结果是一个日期值,比如 '2023-05-09'。

如果我们想要从当前时间减去 2 小时 30 分钟,我们可以写成:

DATE_SUB(NOW(), INTERVAL '2:30' HOUR_MINUTE)

NOW() 函数返回当前时间,INTERVAL '2:30' HOUR_MINUTE 表示 2 小时 30 分钟的时间间隔。这个表达式的结果是一个时间值,比如 '2023-05-12 03:40:04'。

2.2  sql实例

如果是获取90天数据呢?

假设我们有一个flow_data表,里面有日期,门店所在城市,营业额,订单字段。

那么,现在要查询分日期,门店所在城市的营业额、订单数,并且要滚动90天,下方是示例的sql代码。

SELECT
日期,门店所在城市,
SUM(营业额) AS 营业额 ,
SUM(订单数) AS 订单数,
FROM
flow_data
WHERE
日期 BETWEEN DATE_SUB(CURRENT_DATE(),INTERVAL 90 day) and CURRENT_DATE()
GROUP BY
日期,门店所在城市

可以看到,最关键的是WHERE 后面的限定条件被我们用DATE_SUB函数设置为了滚动90天。

"BETWEEN  and  "语句,在sql中意为"在....之中",这个语句中,起始日期为90天前,截止日期为当前的日期,那么是不是就是滚动90天了呢?理解了这个就可以灵活使用了。

三:POWERBI 连接数据库

在powerbi界面,点击工具栏获取数据,点击更多。

根据自己实际需要链接的数据库类型选择,这里以ODBC举例

点击链接,选择对应的数据库源,将刚刚的写好的sql语句粘贴到对应位置

点击确定后,即可获取对应sql语句的数据源,下面的内容就不做演示了。

下次刷新数据的时候,pq就会自动刷新最近90天的数据。

大家可以根据自己的实际业务,应用知识。今天的分享就到这里,再见。

#PowerBi 1分钟学会,用PowerBi获取数据库最近90天的数据(DATE_SUB)的更多相关文章

  1. 三分钟学会使用Derby数据库

    Derby数据库是一个纯用Java实现的内存数据库,属于Apache的一个开源项目.由于是用Java实现的,所以可以在任何平台上运行:另外一个特点是体积小,免安装,java1.6开始集成了derby数 ...

  2. PHP学习过程_Symfony_(3)_整理_十分钟学会Symfony

    这篇文章主要介绍了Symfony学习十分钟入门教程,详细介绍了Symfony的安装配置,项目初始化,建立Bundle,设计实体,添加约束,增删改查等基本操作技巧,需要的朋友可以参考下 (此文章已被多人 ...

  3. 【译】10分钟学会Pandas

    十分钟学会Pandas 这是关于Pandas的简短介绍主要面向新用户.你可以参考Cookbook了解更复杂的使用方法 习惯上,我们这样导入: In [1]: import pandas as pd I ...

  4. 《量化投资:以MATLAB为工具》连载(2)基础篇-N分钟学会MATLAB(中)

    http://www.matlabsky.com/thread-43937-1-1.html   <量化投资:以MATLAB为工具>连载(3)基础篇-N分钟学会MATLAB(下)     ...

  5. 30分钟学会使用Spring Web Services基础开发

    时隔一年终于又推出了一篇30分钟系列,上一篇<30分钟学会反向Ajax>是2016年7月的事情了.时光荏苒,岁月穿梭.虽然一直还在从事Java方面的开发工作,但是私下其实更喜欢使用C++. ...

  6. 【公众号系列】两分钟学会SAP F1技巧

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[公众号系列]两分钟学会SAP F1技巧   写 ...

  7. 如何从40亿整数中找到不存在的一个 webservice Asp.Net Core 轻松学-10分钟使用EFCore连接MSSQL数据库 WPF实战案例-打印 RabbitMQ与.net core(五) topic类型 与 headers类型 的Exchange

    如何从40亿整数中找到不存在的一个 前言 给定一个最多包含40亿个随机排列的32位的顺序整数的顺序文件,找出一个不在文件中的32位整数.(在文件中至少确实一个这样的数-为什么?).在具有足够内存的情况 ...

  8. 一分钟在云端快速创建MySQL数据库实例

    本教程将帮助您了解如何使用Azure管理门户迅速创建,连接,配置MySQL 数据库 on Azure.完成本教程后,您将在Azure上拥有一个示例MySQL数据库服务器,并了解如何使用管理门户执行基本 ...

  9. [转]三分钟学会.NET Core Jwt 策略授权认证

    [转]三分钟学会.NET Core Jwt 策略授权认证 一.前言# 大家好我又回来了,前几天讲过一个关于Jwt的身份验证最简单的案例,但是功能还是不够强大,不适用于真正的项目,是的,在真正面对复杂而 ...

  10. 数据可视化之powerBI入门(九)PowerBI数据建模:其实一点都不高深

    https://zhuanlan.zhihu.com/p/64149834 数据建模并没有那么高深,你同样可以学会!这篇文章通过一个实例创建一个简单的数据建模,并引出两个重要的概念:度量值和DAX. ...

随机推荐

  1. [GPT] 用dogecoin接受付款,如何实现收款回调,不借助中心化的第三方

      要在不借助中心化的第三方的情况下实现Dogecoin的收款回调,您可以按照以下步骤进行操作: 1. 设置一个用于接收收款回调的URL:您需要在您的网站或应用程序中设置一个用于接收收款回调的URL. ...

  2. [GPT] 提高个人网站的访问量的 30 种详细方式

    内容优化:提高网站的质量和价值,让用户喜欢并分享你的内容. SEO优化:通过关键词优化.网站结构优化等方式,提高搜索引擎排名. 社交媒体:在社交媒体上分享你的内容,吸引更多人来访问你的网站. 广告投放 ...

  3. Raft 共识算法2-领导者选举

    Raft 共识算法2-领导者选举 Raft算法中译版地址:https://object.redisant.com/doc/raft中译版-2023年4月23日.pdf 英原论文地址:https://r ...

  4. netcore5下js请求跨域

    后端代码如下: using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; using System ...

  5. 提取jks文件证书和私钥

    提取jks文件证书和私钥 JKS文件由公钥和密钥构成利用Java Keytool 工具生成的文件,它是由公钥和密钥构成的,公钥就是我们平时说的证书(.cer后缀的文件),私钥就是密钥(.key后缀的文 ...

  6. golang cron定时任务简单实现

    目录 星号(*) 斜线(/) 逗号(,) 连字符 (-) 问好 (?) 常用cron举例 使用说明 golang 实现定时服务很简单,只需要简单几步代码便可以完成,不需要配置繁琐的服务器,直接在代码中 ...

  7. 设置WordPress文章关键词自动获取,文章所属分类名称,描述自动获取文章内容,给文章的图片自动加上AlT标签

    最近在优化网站,SEO优化标准:每一篇文章都要有关键词,关键词的个数为3到6个.每一篇文章都要有描述,描述的字数为汉字在70~80之间,在160个字符之间.每一篇文章的图片都要有Alt标签,自动给图片 ...

  8. leaflet 加载geojson叠加显示

    geojson需要先制作shp,然后导入下面网站生成geojson. https://mapshaper.org/ geojson,最好放后台,前台通过异步请求去加载json,然后显示. getGeo ...

  9. TeamViewer 9 和 10 即将停用 尝试切换到 Splashtop

    TeamViewer 9 和 TeamViewer 10 将于2021 年 6 月 1 日到期停用.当这两个版本的 TeamViewer 到期时,用户将无法再远程访问其计算机和设备. 这意味着要继续使 ...

  10. java学习之旅(day.06)

    switch多选择结构 多选择结构还有一个实现方式就是switch case switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支 switch(expression ...