当前位置:网站首页>BI-SQL丨WHILE
BI-SQL丨WHILE
2022-07-30 14:11:00 【PowerBI 丨 white tea】
WHILE
WHILE,when it means.在SQL的语法中,Often used to repeat a sectionSQL脚本.
通俗来说,就是当XXX时,执行某某操作,意为循环.
看到这里,小伙伴可能会有疑问,PowerBIIs there a similar operation in ?
答案是有的,But we usually do this kind of thingPowerQuery中进行的,在DAXThere are fewer scenarios in which loop processing is required.
而在SQL中,There are many scenarios that need to be handled with a loop statement,Such as data update or incremental calculation.
语法
WHILE 条件判断
BEGIN
执行操作
SET @[email protected]+1 --The parameters are incremented cyclically
END 注意:
If two or more are nested WHILE 循环,All statements up to the end of the inner loop are run first,然后下一个外层循环重新开始执行.
使用实例
案例数据:
在白茶本机的数据库中存在名为“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结果如下:
注:This operation is not availablePowerBI中执行,会有报错.
例子2:
创建一张表,and loop through the table insertsPrice小于等于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结果如下:
我们来查看一下数据:
可以看到,价格小于等于10The product information has been inserted into the target table.
例子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提示:There are often small partners who write and write in a loop and then get confused,The execution loop cannot end,Also no results are displayed,这种情况下,需要对BEGINIncrement insideSET进行检测,See if it is caused by not setting the increment.
这里是白茶,一个PowerBI的初学者.
边栏推荐
猜你喜欢

cpu/CS and IP

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

00后测试员摸爬滚打近一年,为是否要转行或去学软件测试的学弟们总结出了以下走心建议

跳槽前,把自己弄成卷王

【VMware虚拟机安装mysql5.7教程】

3 years of software testing experience, the interview requires a monthly salary of 22K, obviously he has memorized a lot of interview questions...

Flask Framework - Sijax

Why do software testing have to learn automation?Talk about the value of automated testing in my eyes

Study Notes - Becoming a Data Analyst in Seven Weeks "Week 2: Business": Business Analysis Metrics

mongodb打破原则引入SQL,它到底想要干啥?
随机推荐
简单理解精确率(Precision),召回率(Recall),准确率(Accuracy),TP,TN,FP,FN
接口自动化框架,lm-easytest内测版发布,赶紧用起来~
为什么做软件测试一定要学自动化?谈谈我眼中自动化测试的价值
LeetCode二叉树系列——144.二叉树的最大深度
时序数据库在船舶风险管理领域的应用
八年测试经验,为何惨遭领导痛批:你写的测试文档还不如刚来的应届生
No-code development platform all application settings introductory tutorial
【Pytorch】如何在关闭batch-norm的同时保持Dropout的开启
ESP32 反复重启问题 Arduino屏蔽断电探测器
(论文翻译]未配对Image-To-Image翻译使用Cycle-Consistent敌对的网络
SQL 改写系列七:谓词移动
无代码开发平台全部应用设置入门教程
Data Middle Office Construction (5): Breaking Enterprise Data Silos and Extracting Data Value
华为7年经验的软件测试总监,给所有想转行学软件测试的朋友几点建议
selenium4+pyetsst+allure+pom进行自动化测试框架的最新设计
创意loadingjs特效小点跳跃动画
svg波浪动画js特效代码
MIMO雷达波形设计
百家号取消接口发文功能:插外链获权重被堵死
05 | 后台登录:基于账号密码的登录方式(下)