#PowerBi 1分钟学会,用PowerBi获取数据库最近90天的数据(DATE_SUB)
在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)的更多相关文章
- 三分钟学会使用Derby数据库
Derby数据库是一个纯用Java实现的内存数据库,属于Apache的一个开源项目.由于是用Java实现的,所以可以在任何平台上运行:另外一个特点是体积小,免安装,java1.6开始集成了derby数 ...
- PHP学习过程_Symfony_(3)_整理_十分钟学会Symfony
这篇文章主要介绍了Symfony学习十分钟入门教程,详细介绍了Symfony的安装配置,项目初始化,建立Bundle,设计实体,添加约束,增删改查等基本操作技巧,需要的朋友可以参考下 (此文章已被多人 ...
- 【译】10分钟学会Pandas
十分钟学会Pandas 这是关于Pandas的简短介绍主要面向新用户.你可以参考Cookbook了解更复杂的使用方法 习惯上,我们这样导入: In [1]: import pandas as pd I ...
- 《量化投资:以MATLAB为工具》连载(2)基础篇-N分钟学会MATLAB(中)
http://www.matlabsky.com/thread-43937-1-1.html <量化投资:以MATLAB为工具>连载(3)基础篇-N分钟学会MATLAB(下) ...
- 30分钟学会使用Spring Web Services基础开发
时隔一年终于又推出了一篇30分钟系列,上一篇<30分钟学会反向Ajax>是2016年7月的事情了.时光荏苒,岁月穿梭.虽然一直还在从事Java方面的开发工作,但是私下其实更喜欢使用C++. ...
- 【公众号系列】两分钟学会SAP F1技巧
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[公众号系列]两分钟学会SAP F1技巧 写 ...
- 如何从40亿整数中找到不存在的一个 webservice Asp.Net Core 轻松学-10分钟使用EFCore连接MSSQL数据库 WPF实战案例-打印 RabbitMQ与.net core(五) topic类型 与 headers类型 的Exchange
如何从40亿整数中找到不存在的一个 前言 给定一个最多包含40亿个随机排列的32位的顺序整数的顺序文件,找出一个不在文件中的32位整数.(在文件中至少确实一个这样的数-为什么?).在具有足够内存的情况 ...
- 一分钟在云端快速创建MySQL数据库实例
本教程将帮助您了解如何使用Azure管理门户迅速创建,连接,配置MySQL 数据库 on Azure.完成本教程后,您将在Azure上拥有一个示例MySQL数据库服务器,并了解如何使用管理门户执行基本 ...
- [转]三分钟学会.NET Core Jwt 策略授权认证
[转]三分钟学会.NET Core Jwt 策略授权认证 一.前言# 大家好我又回来了,前几天讲过一个关于Jwt的身份验证最简单的案例,但是功能还是不够强大,不适用于真正的项目,是的,在真正面对复杂而 ...
- 数据可视化之powerBI入门(九)PowerBI数据建模:其实一点都不高深
https://zhuanlan.zhihu.com/p/64149834 数据建模并没有那么高深,你同样可以学会!这篇文章通过一个实例创建一个简单的数据建模,并引出两个重要的概念:度量值和DAX. ...
随机推荐
- Resin反序列化链分析
前言 Resin是一个轻量级的.高性能的开源Java应用服务器.它是由Caucho Technology开发的,旨在提供可靠的Web应用程序和服务的运行环境.和Tomcat一样是个服务器,它和hess ...
- [MongoDB] Mongo 表字段添加索引, 查看索引, 删除索引
查看索引: db.getCollection('xx').getIndexes(); 创建索引: # 1 代表升序,-1代表降序,name 指定索引名 db.getCollection('xx').c ...
- SpringBoot-Http请求工具类
一.编写请求配置类 import com.alibaba.fastjson.JSONObject; import org.springframework.context.annotation.Conf ...
- make编译报错:fatal error: filesystem: 没有那个文件或目录 #include <filesystem>
报错: fatal error: filesystem: 没有那个文件或目录 #include(filesystem) 解决方法一: 修改头文件 #include <experimental/f ...
- google账户配置foxmail和使用foxmail
最近想把邮件分门别类,创建一些个人文件夹,更好的筛选邮件,可以尝试使用foxmail 1. 如果你有google账户,在配置foxmail之前需打开google账户的安全设置 https://myac ...
- GPS坐标、火星坐标、百度坐标之间的转换--提供java版本转换代码
参考文章:https://www.jianshu.com/p/c39a2c72dc65?from=singlemessage 1.国内几种常用坐标系说明 (1)名词解释 坐标系统:用于定位的系统,就跟 ...
- Android Framework学习之系统启动流程
最近抽空看了framework一些内存,总结一下,留作后续回顾复习
- JDK源码阅读-------自学笔记(四)带标签的break和continues
"标签"是指后面跟一个冒号的标识符,例如:"label:".对Java来说唯一用到标签的地方是在循环语句之前.而在循环之前设置标签的唯一理由是:我们希望在其中嵌 ...
- C 语言编程 — 堆栈与内存管理
目录 文章目录 目录 前文列表 栈(Stack)和堆(Heap) 栈 堆 内存管理 动态分配内存 重新调整内存的大小和释放内存 前文列表 <程序编译流程与 GCC 编译器> <C 语 ...
- Django项目windows上开发,虚拟机上调通打包,生产环境解压即用
linux上部署Django项目 首先创建一个简易的Django项目 使用自动生成的这个数据库 压缩上传 解压运行,不可以 [root@mcw1 /opt/mcwtest]$ ls app01 db. ...