当前位置:网站首页>BI-SQL丨WHILE
BI-SQL丨WHILE
2022-07-30 13:39:00 【PowerBI丨白茶】
WHILE
WHILE,当的意思。在SQL的语法中,通常可以用来重复执行某段SQL脚本。
通俗来说,就是当XXX时,执行某某操作,意为循环。
看到这里,小伙伴可能会有疑问,PowerBI中是否有类似的操作呢?
答案是有的,不过此类操作我们一般都是在PowerQuery中进行的,在DAX中需要进行循环处理的情景较少。
而在SQL中,有很多场景都需要使用循环语句进行处理,比如数据更新或者递增计算等。
语法
WHILE 条件判断
BEGIN
执行操作
SET @[email protected]+1 --参数循环递增
END 注意:
如果嵌套了两个或多个 WHILE 循环,首先运行内层循环结束之前的所有语句,然后下一个外层循环重新开始执行。
使用实例
案例数据:
在白茶本机的数据库中存在名为“CaseData”的数据库。
“Dim_Date“日期表、"Dim_Product"产品表、"Fact_Sales"销售事实表。
例子1:
循环打印数字,从1到9。
DECLARE @NUM INT;
SET @NUM = 1;
WHILE @NUM<= 9
BEGIN
PRINT @NUM
SET @NUM = @NUM + 1;
END结果如下:
注:此操作无法在PowerBI中执行,会有报错。
例子2:
创建一张表,并在表中循环插入Price小于等于10的ProductName和Price。
USE CaseData
CREATE TABLE BaiCha
(Pname VARCHAR(50),
Prict INT
)先创建一张表,结果如下:
执行以下语句:
USE CaseData
DECLARE @NUM INT;
SET @NUM=1
WHILE @NUM<= 10
BEGIN
INSERT INTO BaiCha(Pname,Prict)
SELECT ProductName AS T1,Price AS T2 FROM Dim_Product WHERE [email protected]
SET @NUM = @NUM + 1;
END结果如下:
我们来查看一下数据:
可以看到,价格小于等于10的产品信息已经插入到目标表中。
例子3:
利用双层循环,计算1到9的平方。
USE CaseData
DECLARE @NUM1 INT,@NUM2 INT ,@NUM3 VARCHAR(10);
SET @NUM1=1;
WHILE @NUM1<= 9
BEGIN
SET @NUM2=1
WHILE @NUM2<[email protected]
BEGIN
SET @[email protected]*@NUM1
SET @[email protected]+1
END
PRINT @NUM3
SET @[email protected]+1
END结果如下:
小Bug提示:经常会有小伙伴循环写着写着就懵掉了,执行循环无法结束,也没有结果显示出来,这种情况下,需要对BEGIN里面的增量SET进行检测,看是否是由于未设置增量导致。
这里是白茶,一个PowerBI的初学者。
边栏推荐
- R语言使用方差分析ANOVA比较回归模型的差异、anova函数比较两个模型并报告它们是否存在显著差异(两个模型的数据相同,一个模型使用的预测特征包含另外一个模型的特征)
- MQTT网关读取西门子PLC数据传输到阿里云平台案例教程
- Eleven BUUCTF questions (06)
- el-table中el-table-column下的操作切换class样式
- Synology system installation related file sharing
- qq udp tcp机制
- How awesome is the "12306" architecture?
- 缓存
- No-code development platform all application settings introductory tutorial
- 元宇宙的六大支撑技术
猜你喜欢

“12306” 的架构到底有多牛逼

LeetCode二叉树系列——199二叉树的右视图

The path to uniting the programmer: "titles bucket" to the highest state of pragmatic

MQTT网关读取西门子PLC数据传输到阿里云平台案例教程

【ROS进阶篇】第十一讲 基于Gazebo和Rviz的机器人联合仿真(运动控制与传感器)

高性能数据访问中间件 OBProxy(三):问题排查和服务运维

DeFi 巨头进军 NFT 领域 用户怎么看?

Markdown 1 - 图文音视频等

外包干了七年,废了。。。

自动化测试之数据驱动DDT详细篇
随机推荐
Study Notes - Becoming a Data Analyst in Seven Weeks "Week 2: Business": Business Analysis Metrics
当下,产业园区发展面临的十大问题
创意loadingjs特效小点跳跃动画
Classic test interview questions set - logical reasoning questions
自从外包干了四年,基本废了...
第十三天笔记
SQL 26 calculation under 25 years of age or older and the number of users
CF603E Pastoral Oddities
ARC115F Migration
SQL 改写系列七:谓词移动
jsArray array copy method performance test 2207292307
Self-tuning PID self-tuning control 】 【
阿里 P7 到底是怎样的水平?
人社部公布“数据库运行管理员”成新职业,OceanBase参与制定职业标准
逻辑漏洞----权限类漏洞
CF780G Andryusha and Nervous Barriers
20220729 证券、金融
qq udp tcp机制
mongodb打破原则引入SQL,它到底想要干啥?
UPC2022暑期个人训练赛第19场(B,P)