[分享]微软BI专题-SQL Server BI Development Studio使用技巧系列(一)

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情
 
—— Foreach 循环容器使用方法
 
     Foreach循环容器定义包中的重复控制流。循环的实现与编程语言中的Foreach循环结构类似。在包中,通过使用Foreach枚举器启用循环。 Foreach循环容器将重复指定枚举器的每个成员的控制流。本期文章中,我们介绍其中两种常用的枚举器使用方法:Foreach文件枚举器、 ForeachADO枚举器。
 
      Foreach循环容器定义包中的重复控制流。循环的实现与编程语言中的Foreach循环结构类似。在包中,通过使用Foreach枚举器启用循环。Foreach循环容器将重复指定枚举器的每个成员的控制流。
SQL Server 2005 Integration Services (SSIS) 提供了7种枚举器类型:
1.     ForeachADO 枚举器,用于枚举表中的行。例如,可以获取ADO记录集中的行。
2.     ForeachADO.NET架构行集枚举器,用于枚举有关数据源的架构信息。例如,可枚举并获取一组AdventureWorks SQL Server数据库中的表。
3.     Foreach文件枚举器,用于枚举文件夹中的文件。该枚举器可遍历子文件夹。例如,可读取 Windows 文件夹中所有具有 *.log文件扩展名的文件。
4.     Foreach源变量枚举器,用于枚举指定变量包含的可枚举对象。例如,变量包含运行时枚举的查询的结果。
5.     Foreach项枚举器,用于枚举集合项。例如,可枚举 Excel 电子表格中的行和列。
6.     ForeachNodelist枚举器,用于枚举XML Path 语言 (XPath)表达式的结果集。例如,此表达式可枚举并获取古代的所有作者:/authors/author[@period='classical']。
7.     ForeachSMO枚举器,用于枚举SQL Server管理对象(SMO)对象。例如,可枚举并获取SQL Server数据库中的视图列表。
今天,我们介绍其中两种常用的枚举器使用方法:Foreach文件枚举器、ForeachADO 枚举器。
 
      Foreach 文件枚举器。
      该枚举器对指定目录下的文件进行逐一读取,然后在Foreach容器中循环使用。
例如:我们要对目录c:/temp/下的所有.txt文件进行逐一读取处理。使用Foreach文件枚举器关键操作步骤如下:
一、使用Foreach容器:在Business Intelligence Development Studio中, 创建Integration Service项目,并从“工具箱”中,将“Foreach循环容器”拖到“控制流”选项卡的设计图面上。右键单击新添加的“Foreach循环容器”,选择“编辑”。
二、 设置循环类型:在“集合”页上,选择“Foreach文件枚举器”。在“枚举器配置”组中,单击“浏览”。找到前面创建的示例数据文件夹C:/temp,并将处理文件的类型设置为*.txt。
三、定义枚举器变量:在“变量映射”页的“变量”列中,新建变量 varFileName,用于获取Foreach每次循环所读取的文件名,如图一
四、在Foreach循环容器中添加数据流任务,读取.txt文件。
五、为数据流任务添加平面文件源组件,并做初始设置。如:平面文件的行分隔符、列分割符、是否有标题行等等;这个时候的文件名可以选取任何一个与C:/temp目录下的.txt文件格式相同的文件。如图2
六、 配置平面文件连接管理器,以使用枚举器变量:在“连接管理器”窗格中,右键单击Flat File Data Source选择属性。在“属性表达式编辑器”对话框的“属性”列中,键入或选择ConnectionString。将变量 User::varFileName 赋给ConnectionString。如图3
由此,我们通过Foreach的文件枚举器,实现了对目录c:/temp/下的所有.txt文件进行循环读取处理的目的。
      ForeachADO 枚举器
      该枚举器对指定表中的行进行逐一读取,然后在Foreach容器中循环使用。
例如:我们有一张表不规范的员工信息表:Employee和一张部门设置表DimEmployeeGroup;我们希望经过ETL转换,得到标准的员工信息表DimEployee,如图4。
我们就可以采到Foreach容器的ForeachADO枚举器,实现上述需求,其关键步骤如下:
一、    在项目中添加3个包级变量:分别为:Object 型变量Resultset;INT 型变量 id;String 型变量name;
二、    添加执行SQL任务get_family_name,查询EmployeeGroup表中的数据存放到Resultset变量中。如图5
三、    添加Foreach循环容器:Foreachloop Container并配置”集合”选项,在”ADO对象源变量(v)”处选择Resultset变量,作为循环所依据的表集。 点击”变量映射”选项,选择变量id索引0、name索引1,接收每次循环的结果。如图6
四、    向容器中添加执行SQL任务set_dimemployee:通过变量映射,获取循环所得的结果,并在SQL命令中使用该变量,将标准数据添加到DimEmployee表中。
 
由此,我们就通过Foreach容器的ForeachADO枚举器,实现了图4中的需求,参照DimEmployeeGroup表,将不规范的Employee信息,导入到了标准的DimEmployee表中。
……
Power BI Report Server企业级部署核心指南 Power BI Report Server(PBIRS)是微软面向私有化场景提供的报表运行时环境,本质为SQL Server Reporting Services(SSRS)的Power BI增强分支,依托Windows ServerSQL Server基础设施运行。其核心价值在于满足数据本地化、字段级权限控制、AD域深度集成及混合云架构等企业级合规要求。相比Power BI Service,PBIRS支持离线报表、PDF嵌入模板、行级与字段级安全策略联动,并可与现有SSRS生态共存。技术原理上依赖SS 阅读详情

相关推荐

Mac上使用Docker快速部署SQL Server指南

本文详细介绍了在Mac上使用Docker快速部署SQL Server的完整指南,包括Docker环境配置、SQL Server容器拉取与运行、数据库连接与管理、数据持久化与备份以及性能优化技巧。通过Docker容器化方案,Mac用户可以轻松运行SQL Server,享受资源占用低、环境隔离干净和秒级启停等优势。

weixin_42549451的博客 379

情感表达的工程化思维:从高内聚低耦合到具体接口设计

在软件工程中,高内聚低耦合是模块化设计的基本原则,它强调模块内部功能集中、模块间依赖简化。这原理同样适用于情感表达这复杂系统。当面对宏大对象或深层情感时,我们常陷入表达困境,核心问题往往在于情感模块的内聚性不足与模块间耦合混乱。通过工程化思维,可以将抽象情感分解为独立、清晰的模块,并为每个模块定义具体的“调用接口”——如个独特的记忆细节或个具象化的特质场景。这种方法的价值在于将模糊的焦虑转化为可操作的步骤,显著降低表达内耗。在技术实践中,无论是构建微服务架构还是设计API,清晰定义接口与降低耦合都是

weixin_33762130的博客 502

SQL Server 2022安装卡在数据库引擎配置?64位Access驱动是关键前置条件

SQL Server微软主流关系型数据库管理系统,其安装与运行依赖底层数据访问组件。其中,OLE DB 提供程序(如 ACE OLE DB)作为连接 Excel、Access 等 Office 数据源的核心接口,在 SQL Server 2022 中已升级为强制前置依赖。该组件由 Microsoft Access Database Engine 2016 Redistributable(64位)提供,必须在安装前静默部署,否则数据库引擎配置阶段将因预检失败而中断。这机制影响导入导出向导、链接服务器及

weixin_30263073的博客 317

SSIS教程SQlServer2008R2 (2) 添加循环

SQL Server 2008 R2 其他版本 此主题尚未评级评价此主题 在第课(SSIS教程):创建项目和基本包中,创建了从单个平面文件源提取数据的包,然后使用查找转换功能对数据进行了转换,最后将数据加载到AdventureWorksDW 示例数据库的 FactCurrencyRate 事实数据表中。 但 是,提取、转换和加载 (ETL) 过程很少使用单个平面文件。典型的E...

a19680804000的博客 668

SQL SERVER BI 环境配置(数据挖掘与商业智能)

AS项目部署报错 OLE DB 错误: OLE DB 或 ODBC 错误 : 用户 'NT Service\MSSQLServerOLAPService' 登录失败。; 28000。 解决办法: 打开SSMS(SQL Server Management Studio),连接数据库,找到创建AS项目所用的数据库(如foodmartsale DW),点击“安全性”------->“用户”...

u013236891的博客 2867

Microsoft SQL Server Management Studio无法记住密码

用sa账户登录sql server 2008,勾选了“记住密码”,但有些服务器又可以记住密码,有些重新登录时,无法记住密码。后来更换SQL2012Management Studio改善了好多,但发现还是会发生,不知道为什么。 目前解决方法是删除这些所有的历史记录,网上找到很多,但我现,SQL2008和SQL2012是不样的,但文件名是相同的。分享方法如下: 只要删除或重命名文件SqlS...

dqcoffee的博客 2415

初探SQL Server 2017 on Docker@macOS

SQL Server 2017 on Docker

Kinfey 1208

SQL Server Data Tools – Business Intelligence for VS 2012安装时

SQL Server Data Tools – Business Intelligence for VS 2012安装时

gfuugfdkkn的博客 1001

Power BI Copilot在Microsoft Fabric中的实战应用与避坑指南

自然语言查询是现代BI工具的核心交互范式,其本质是将业务意图转化为可执行的数据逻辑。Power BI Copilot依托Microsoft Fabric统元数据、实时权限与弹性算力三大底座,实现DAX生成、报表构建与数据解释三大能力闭环。它并非替代分析思维,而是将传统需数小时完成的建模调试、视觉设计与知识交接压缩至分钟级,显著降低DAX学习门槛并提升协作效率。典型应用场景包括业务分析师的即席洞察、数据工程师的代码辅助及新手的零文档上手。本文聚焦Fabric环境下Copilot的原理边界、实操路径与7大高发

weixin_34348805的博客 418

初探SQL Server 2017 on Docker macOS

初探SQL Server 2017 on Docker macOS

qq_43678418的博客 268

微软技术生态四层能力地图:从开发平台到交付通道

微软技术体系并非零散工具集合,而是个分层演进的有机生态。其底层是.NET运行时与开发平台,提供跨平台应用执行环境;中间层涵盖SQL Server、Active Directory等基础产品,解决状态持久化与身份治理;上层Enterprise Products如Dynamics 365、SharePoint则将技术能力翻译为业务建模语言;最外层Delivery Channel通过Web、移动、桌面与云协同实现价值触达。理解这结构,有助于规避盲目追新、产品误用与云迁移失焦等典型误区。尤其在Power Pla

472

微软官方.NET系列视频教程

课程简介: 这是本人2009年底从微软官方网站下载之后,再进行打包的MSDN Webcast系列视频教程部分资料。微软官方,内容应该能称经典吧?尽管授课老师水平也有高下之分,网站已经用星级标示了“推荐指数”,可资参考。与此同时,网站还标示了 Level 指数,可以作为难度和适合对象的参考。 打包下载 游客,如果您要查看本帖隐藏内容请回复 课程目录 ASP.NET.AJAX深入浅出系列(赵劼

pengcang1966的博客 1268

为什么选择SQL Server Workshops?10大核心优势助你成为数据专家

在当今数据驱动的时代,掌握SQL Server和Azure SQL技术已成为数据专业人士的必备技能。SQL Server Workshops是由Microsoft SQL Server团队精心打造的套完整学习资源,专为帮助开发者、数据库管理员和数据分析师快速掌握现代数据平台技术而设计。无论你是初学者还是经验丰富的专业人士,这个项目都能为你提供从基础到高级的全面指导,助你成为真正的数据专家!🚀

gitblog_00053的博客 293

SQL Server 2008 报表服务入门

概述 上周,Tim与我们分享SQLServer2008报表服务的管理配置及创建报表的方法。SQLServer2008报表服务是个完整的基于服务器的平台,它可以建立、管理、发布传统的基于纸张的报表或者交互的、基于Web的报表。SQLServer2008报表服务包括周到的报表打造工具,和些报表格式创新。 目录 报表服务的安装与配置 开发报表的过程 ...

838

数据分析实战:Excel、SQL、Python、Power BI全流程电商项目解析

很多同学想入门数据分析,但面对 Excel、Python、SQLBI 这些工具,常常感到无从下手,不知道从哪学起,也不知道学完后能做什么。网上资料虽然多,但往往零散不成体系,学完基础语法却做不出个完整的分析项目。 本文为你整合了套从零到的数据分析实战学习路径,覆盖 Excel、Python、SQL、Power BI 四大核心工具。我们不只讲语法,更通过个完整的“电商用户行为分析”项目,串联所有知识点,让你亲手完成数据获取、清洗、分析、可视化的全流程。无论你是学生、转行者,还是想提升技能的职场人,都

weixin_33744141的博客 372

SQL Server 2012 安装杂谈

回想下,距离上次去微软培训SQL SERVER 2012已经有段时间啦,从讲师打开2012的瞬间,其实我已经开始想要跃跃欲试这个微软全新的数据平台工具,听闻2012比以前的2008R2那些版本做了很大的升级,而且在于性能上更是采用了前沿技术——列存储,是的SQL Server的读取速度上有了几十至上百倍的提升。对于这个全新的产品,已经装了有段日子啦,使用下,感觉真的是比较的强,这次微软

開拓者-ASP.NET、BI 531

SQL Server数据字典生成全攻略:从原理到自动化实践

数据库管理与开发领域,元数据管理是保障数据资产清晰、提升团队协作效率的基础工程。其核心原理在于通过查询数据库的系统目录视图,如sys.tables、sys.columns和sys.extended_properties,来获取表、字段、约束及业务注释等结构化信息。这项技术的价值在于将零散、隐性的数据结构转化为显性、可共享的知识文档,从而有效解决因文档缺失或过时而导致的沟通成本高、开发效率低等问题。典型的应用场景包括新成员快速熟悉项目、跨部门数据需求沟通、系统重构和数据治理。本文聚焦于SQL Server

weixin_30781775的博客 438
上一篇: [分享]微软BI专题-渐变维度转换及其实现
下一篇: [分享]微软BI专题-商业智能在ERP业务中的应用案例
jackfor001
博客等级 码龄21年 41粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值