Don't Repeat Yourself - An Introduction to Agile SSIS Development (24 Hours o...Cathrine Wilhelmsen
Don't Repeat Yourself - An Introduction to Agile SSIS Development (24 Hours of PASS) (Presented at 24 HOurs of PASS Growing Our Community Edititon on June 25th 2015)
Level Up Your Biml: Best Practices and Coding Techniques (SQLSaturday Sacrame...Cathrine Wilhelmsen
The document provides an overview of best practices for writing Biml code, including:
- Using include files and CallBimlScript to centralize and reuse code
- Applying LINQ queries to make code easier to read and write
- Sharing code between files using annotations and object tags
- Creating custom C# classes and methods to implement complex logic if needed
Biml for Beginners: Speed up your SSIS development (SQLSaturday Vienna)Cathrine Wilhelmsen
This document provides an overview of a session on using Biml (Business Intelligence Markup Language) to speed up SSIS (SQL Server Integration Services) development. Biml allows generating SSIS packages from metadata and implementing changes across packages with minimal code. The session introduces basic Biml syntax and generation of packages from Biml files. It also demonstrates more advanced techniques like using BimlScript code blocks to import metadata and control package generation, tiered Biml files to organize common code, and CallBimlScript to parameterize and reuse common logic across projects. The goal is to help attendees avoid repetitive tasks and speeds up development by separating logic from package generation and implementation using Biml.
Biml for Beginners: Speed up your SSIS development (SQLSaturday Iceland)Cathrine Wilhelmsen
This document provides an introduction and overview of Biml (Business Intelligence Markup Language) for automating and generating SSIS packages. Biml allows describing SSIS packages using XML/code and generates the actual packages, avoiding repetitive manual creation. The document discusses Biml basics, tools for working with Biml like BimlExpress, how Biml can import metadata and generate packages, and how BimlScript extends Biml with code to programmatically generate complex packages. It also covers techniques for code reuse like include files and tiered Biml files to manage projects with many common packages.
Tools and Tips: From Accidental to Efficient Data Warehouse Developer (SQLSat...Cathrine Wilhelmsen
The document provides tips to help data warehouse developers become more efficient. It summarizes a presentation on tools and techniques for improving productivity when developing data warehouses and ETL processes. The presentation covers topics like visual features in SQL Server Management Studio, shortcuts, templates, snippets, query analysis, activity monitoring, and using Biml to generate SSIS packages from metadata. Attendees are encouraged to visit the speaker's website for more details and resources from the presentation.
BIML is an XML-based language that allows us to completely model a BI solution . It's particularly interesting for the automatic creation of ETL processes , for which it can be used free of charge via the BIDS Helper, a free tool that should be known to all those who develop BI solutions with the platform Microsoft. In this session we will learn the basics and some advanced trick , how to use it and how it can help to significantly reduce the development time of an ETL solution and at the same time increase the quality
Biml for Beginners: Speed up your SSIS development (SQLSaturday Vienna)Cathrine Wilhelmsen
This document provides an overview of a session on using Biml (Business Intelligence Markup Language) to speed up SSIS (SQL Server Integration Services) development. Biml allows generating SSIS packages from metadata and implementing changes across packages with minimal code. The session introduces basic Biml syntax and generation of packages from Biml files. It also demonstrates more advanced techniques like using BimlScript code blocks to import metadata and control package generation, tiered Biml files to organize common code, and CallBimlScript to parameterize and reuse common logic across projects. The goal is to help attendees avoid repetitive tasks and speeds up development by separating logic from package generation and implementation using Biml.
Biml for Beginners: Speed up your SSIS development (SQLSaturday Iceland)Cathrine Wilhelmsen
This document provides an introduction and overview of Biml (Business Intelligence Markup Language) for automating and generating SSIS packages. Biml allows describing SSIS packages using XML/code and generates the actual packages, avoiding repetitive manual creation. The document discusses Biml basics, tools for working with Biml like BimlExpress, how Biml can import metadata and generate packages, and how BimlScript extends Biml with code to programmatically generate complex packages. It also covers techniques for code reuse like include files and tiered Biml files to manage projects with many common packages.
Tools and Tips: From Accidental to Efficient Data Warehouse Developer (SQLSat...Cathrine Wilhelmsen
The document provides tips to help data warehouse developers become more efficient. It summarizes a presentation on tools and techniques for improving productivity when developing data warehouses and ETL processes. The presentation covers topics like visual features in SQL Server Management Studio, shortcuts, templates, snippets, query analysis, activity monitoring, and using Biml to generate SSIS packages from metadata. Attendees are encouraged to visit the speaker's website for more details and resources from the presentation.
BIML is an XML-based language that allows us to completely model a BI solution . It's particularly interesting for the automatic creation of ETL processes , for which it can be used free of charge via the BIDS Helper, a free tool that should be known to all those who develop BI solutions with the platform Microsoft. In this session we will learn the basics and some advanced trick , how to use it and how it can help to significantly reduce the development time of an ETL solution and at the same time increase the quality
Biml for Beginners: Script and Automate SSIS development (SQLSaturday Finland)Cathrine Wilhelmsen
The document discusses a presentation about using Biml, a markup language for Business Intelligence projects, to automate and script SSIS development. Biml allows generating SSIS packages from database metadata and reusing code to implement changes across multiple packages with just a few clicks. The presentation will cover basic Biml syntax and tools, demonstrate generating packages from Biml and converting existing SSIS packages to Biml, and discuss using BimlScript code blocks to import metadata and dynamically generate packages.
Biml Tips and Tricks: Not Just for SSIS Packages! (SQLGrillen 2018)Cathrine Wilhelmsen
The document describes a session on using Biml (Business Intelligence Markup Language) for various data warehouse development tasks beyond just generating SSIS packages. The session will cover how Biml can be used to generate complex T-SQL statements instead of dynamic SQL, create test data and populate static dimensions, and compare tables and views across multiple servers and databases. It also discusses how Biml can generate SSIS packages from metadata and how functionality like generating insert, update, and delete statements can be achieved through built-in and custom Biml scripts.
Speed up Microsoft business intelligence development and administration with BI xPress. BI xPress integrates directly into Visual Studio for developers or has a launcher application for DBAs who prefer to not work in BIDS. The tool allows you to quickly build packages, install robust auditing frameworks and helps DBAs deploy packages to name just a few features.
Biml Tips and Tricks: Not Just for SSIS Packages! (SQLBits 2019)Cathrine Wilhelmsen
This document describes a session on using Biml (Business Intelligence Markup Language) to automate tasks beyond just generating SSIS packages. Biml can be used to generate complex T-SQL statements instead of dynamic SQL, create test data, and populate static dimensions. The session will cover using Biml to generate T-SQL, create test data with Bogus, and populate static dimensions. Attendees are encouraged to share other ideas for how Biml could be useful.
Website Analytics in My Pocket using Microsoft Fabric (SQLBits 2024)Cathrine Wilhelmsen
The document is about how the author Cathrine Wilhelmsen built her own website analytics dashboard using Microsoft Fabric and Power BI. She collects data from the Cloudflare API and stores it in Microsoft Fabric. This allows her to visualize and access the analytics data on her phone through a mobile app beyond the 30 days retention offered by Cloudflare. In her presentation, she demonstrates how she retrieves the website data, processes it with Microsoft Fabric pipelines, and visualizes it in Power BI for a self-hosted analytics solution.
Data Integration with Data Factory (Microsoft Fabric Day Oslo 2023)Cathrine Wilhelmsen
Cathrine Wilhelmsen gave a presentation on using Microsoft Data Factory for data integration within Microsoft Fabric. Data Factory allows users to define data pipelines to ingest, transform and orchestrate data workflows. Pipelines contain activities that can copy or move data between different data stores. Connections specify how to connect to these data stores. Dataflows Gen2 provide enhanced orchestration capabilities, including defining activity dependencies and schedules. The presentation demonstrated how to use these capabilities in Data Factory for complex data integration scenarios.
The Battle of the Data Transformation Tools (PASS Data Community Summit 2023)Cathrine Wilhelmsen
The Battle of the Data Transformation Tools (Presented as part of the "Batte of the Data Transformation Tools" Learning Path at PASS Data Community Summit on November 16th, 2023)
Visually Transform Data in Azure Data Factory or Azure Synapse Analytics (PAS...Cathrine Wilhelmsen
Visually Transform Data in Azure Data Factory or Azure Synapse Analytics (Presented as part of the "Batte of the Data Transformation Tools" Learning Path at PASS Data Community Summit on November 15th, 2023)
Building an End-to-End Solution in Microsoft Fabric: From Dataverse to Power ...Cathrine Wilhelmsen
Building an End-to-End Solution in Microsoft Fabric: From Dataverse to Power BI (Presented at SQLSaturday Oregon & SW Washington on November 11th, 2023)
Website Analytics in my Pocket using Microsoft Fabric (AdaCon 2023)Cathrine Wilhelmsen
The document is about how the author created a mobile-friendly dashboard for her website analytics using Microsoft Fabric and Power BI. She collects data from the Cloudflare API and stores it in Microsoft Fabric. Then she visualizes the data in Power BI which can be viewed on her phone. This allows her to track website traffic and see which pages are most popular over time. She demonstrates her dashboard and discusses future improvements like comparing statistics across different time periods.
Stressed, Depressed, or Burned Out? The Warning Signs You Shouldn't Ignore (S...Cathrine Wilhelmsen
Stressed, Depressed, or Burned Out? The Warning Signs You Shouldn't Ignore (Presented at SQLBits on March 18th, 2023)
We all experience stress in our lives. When the stress is time-limited and manageable, it can be positive and productive. This kind of stress can help you get things done and lead to personal growth. However, when the stress stretches out over longer periods of time and we are unable to manage it, it can be negative and debilitating. This kind of stress can affect your mental health as well as your physical health, and increase the risk of depression and burnout.
The tricky part is that both depression and burnout can hit you hard without the warning signs you might recognize from stress. Where stress barges through your door and yells "hey, it's me!", depression and burnout can silently sneak in and gradually make adjustments until one day you turn around and see them smiling while realizing that you no longer recognize your house. I know, because I've dealt with both. And when I thought I had kicked them out, they both came back for new visits.
I don't have the Answers™️ or Solutions™️ to how to keep them away forever. But in hindsight, there were plenty of warning signs I missed, ignored, or was oblivious to at the time. In this deeply personal session, I will share my story of dealing with both depression and burnout. What were the warning signs? Why did I miss them? Could I have done something differently? And most importantly, what can I - and you - do to help ourselves or our loved ones if we notice that something is not quite right?
"I can't keep up!" - Turning Discomfort into Personal Growth in a Fast-Paced ...Cathrine Wilhelmsen
"I can't keep up!" - Turning Discomfort into Personal Growth in a Fast-Paced World (Presented at SQLBits on March 17th, 2023)
Do you sometimes think the world is moving so fast that you're struggling to keep up?
Does it make you feel a little uncomfortable?
Awesome!
That means that you have ambitions. You want to learn new things, take that next step in your career, achieve your goals. You can do anything if you set your mind to it.
It just might not be easy.
All growth requires some discomfort. You need to manage and balance that discomfort, find a way to push yourself a little bit every day without feeling overwhelmed. In a fast-paced world, you need to know how to break down your goals into smaller chunks, how to prioritize, and how to optimize your learning.
Are you ready to turn your "I can't keep up" into "I can't believe I did all of that in just one year"?
Lessons Learned: Implementing Azure Synapse Analytics in a Rapidly-Changing S...Cathrine Wilhelmsen
Lessons Learned: Implementing Azure Synapse Analytics in a Rapidly-Changing Startup (Presented at SQLBits on March 11th, 2022)
What happens when you mix one rapidly-changing startup, one data analyst, one data engineer, and one hypothesis that Azure Synapse Analytics could be the right tool of choice for gaining business insights?
We had no idea, but we gave it a go!
Our ambition was to think big, start small, and act fast – to deliver business value early and often.
Did we succeed?
Join us for an honest conversation about why we decided to implement Azure Synapse Analytics alongside Power BI, how we got started, which areas we completely messed up at first, what our current solution looks like, the lessons learned along the way, and the things we would have done differently if we could start all over again.
6 Tips for Building Confidence as a Public Speaker (SQLBits 2022)Cathrine Wilhelmsen
6 Tips for Building Confidence as a Public Speaker (Presented at SQLBits on March 10th, 2022)
Do you feel nervous about getting on stage to deliver a presentation?
That was me a few years ago. Palms sweating. Hands shaking. Voice trembling. I could barely breathe and talked at what felt like a thousand words per second. Now, public speaking is one of my favorite hobbies. Sometimes, I even plan my vacations around events! What changed?
There are no shortcuts to building confidence as a public speaker. However, there are many things you can do to make the journey a little easier for yourself. In this session, I share the top tips I have learned over the years. All it takes is a little preparation and practice.
You can do this!
The final presentation of our time series forecasting project in the "Data Science for Society and Business" Master's program at Constructor University Bremen
Comprehensive Roadmap of AI, ML, DS, DA & DSA.pdfepsilonice
This outlines a comprehensive roadmap for mastering artificial intelligence, machine learning, data science, data analysis, and data structures and algorithms, guiding learners from beginner to advanced levels by building upon foundational Python knowledge.
Faces of the Future The Impact of a Data Science Course in Kerala.pdfjzyphoenix
"Faces of the Future: The Impact of a Data Science Course in Kerala," highlights how data science education is empowering diverse learners across Kerala. It explores course structure, student success stories, career outcomes, and the growing tech ecosystem supporting future data professionals.
The final presentation of our time series forecasting project for the "Data Science for Society and Business" Master's program at Constructor University Bremen
apidays New York 2025 - The Evolution of Travel APIs by Eric White (Eviivo)apidays
From Rates and Bookings to AI Intelligence: The Evolution of Travel APIs
Eric White, CTO at Eviivo
apidays New York 2025
API Management for Surfing the Next Innovation Waves: GenAI and Open Banking
Convene 360 Madison, New York
May 14 & 15, 2025
------
Check out our conferences at https://www.apidays.global/
Do you want to sponsor or talk at one of our conferences?
https://apidays.typeform.com/to/ILJeAaV8
Learn more on APIscene, the global media made by the community for the community:
https://www.apiscene.io
Explore the API ecosystem with the API Landscape:
https://apilandscape.apiscene.io/
apidays New York 2025 - From UX to AX by Karin Hendrikse (Netlify)apidays
From UX to AX: Designing for an AI Agent World
Karin Hendrikse, Senior Software Engineer at Netlify
apidays New York 2025
API Management for Surfing the Next Innovation Waves: GenAI and Open Banking
Convene 360 Madison, New York
May 14 & 15, 2025
------
Check out our conferences at https://www.apidays.global/
Do you want to sponsor or talk at one of our conferences?
https://apidays.typeform.com/to/ILJeAaV8
Learn more on APIscene, the global media made by the community for the community:
https://www.apiscene.io
Explore the API ecosystem with the API Landscape:
https://apilandscape.apiscene.io/
Monterey College of Law’s mission is to zseoali2660
Monterey College of Law’s mission is to provide a quality legal education in a community law school setting with graduates who are dedicated to professional excellence, integrity, and community service.
apidays New York 2025 - To tune or not to tune by Anamitra Dutta Majumdar (In...apidays
To tune or not to tune : Benefits and security pitfalls of fine-tuning
Anamitra Dutta Majumdar, Principal Engineer at Intuit
apidays New York 2025
API Management for Surfing the Next Innovation Waves: GenAI and Open Banking
Convene 360 Madison, New York
May 14 & 15, 2025
------
Check out our conferences at https://www.apidays.global/
Do you want to sponsor or talk at one of our conferences?
https://apidays.typeform.com/to/ILJeAaV8
Learn more on APIscene, the global media made by the community for the community:
https://www.apiscene.io
Explore the API ecosystem with the API Landscape:
https://apilandscape.apiscene.io/
apidays New York 2025 - How AI is Transforming Product Management by Shereen ...apidays
From Data to Decisions: How AI is Transforming Product Management
Shereen Moussa, Digital Product Owner at PepsiCo
apidays New York 2025
API Management for Surfing the Next Innovation Waves: GenAI and Open Banking
Convene 360 Madison, New York
May 14 & 15, 2025
------
Check out our conferences at https://www.apidays.global/
Do you want to sponsor or talk at one of our conferences?
https://apidays.typeform.com/to/ILJeAaV8
Learn more on APIscene, the global media made by the community for the community:
https://www.apiscene.io
Explore the API ecosystem with the API Landscape:
https://apilandscape.apiscene.io/
2. Session description
SSIS is a powerful tool for extracting, transforming and loading data, but
creating the actual SSIS packages can be both tedious and time-consuming.
Even if you use templates and follow best practices you often have to repeat
the same steps over and over again. There are no easy ways to handle
metadata and schema changes, and if there are new requirements you might
have to go through all the packages one more time.
It's time to bring the Don't Repeat Yourself principle to SSIS development. In
this session I will use the free BIDS Helper add-in to show you the basics of
Biml and BimlScript, how to generate SSIS packages automatically from
databases, how easy those packages can be changed, and how to move
common code to separate files that can be included where needed. See why
they say Biml allows you to complete in a day what once took more than a
week!
7. How can Biml help you?
Timesaving: Many SSIS
Packages from one Biml file
Reusable: Write once and run
on any platform (2005 – 2014)
Flexible: Start simple, expand
as you learn
(Of course I can create 200 packages!
What do you need me to do after lunch?)
8. What is Business Intelligence Markup Language?
Easy to read and write XML dialect
Specifies business intelligence objects
Databases, schemas, tables, columns
SSIS packages
SSAS cubes, facts, dimensions (Mist only)
9. Highlights in Biml History
Scott Currie works on Microsoft's Project Vulcan
2008: Varigence creates Biml and Mist
2011: Biml compiler added to BIDS Helper
(2015: Everyone wonders what we did before Biml?)
(Live Long And Prosper)
18. Getting started with Biml
1. Download and install BIDS Helper (http://bidshelper.codeplex.com)
2. Right-click on SSIS project and click Add New Biml File
29. The magic is in the
Extend Biml with C# or VB.NET code blocks
Import database structure and metadata
Loop over tables and columns
Add expressions to replace static values
(And anything else you can do in C# or VB)
37. foreach (table in a database) loop
<#@ import namespace="Varigence.Hadron.CoreLowerer.SchemaManagement" #>
<# var conAW2014 = SchemaManager.CreateConnectionNode("AW2014", "Data Source..."); #>
<# var AW2014DB = conAW2014.ImportDB("","", ImportOptions.ExcludeViews); #>
<Packages>
<# foreach (var table in AW2014DB.TableNodes) { #>
<Package Name="Load_<#=table.Schema#>_<#=table.Name#>">
</Package>
<# } #>
</Packages>
38. Don't Repeat Yourself
Move common code to separate files
Centralize and reuse in many projects
Update code once for all projects
1. Split and combine Biml files
2. Include files
3. CallBimlScript with parameters
39. Split and combine Biml files
Multiple Biml files can be compiled together
Control compile order by specifying tiers in files
<#@ template tier="2" #>
Files are compiled into RootNode from lowest to highest tier
Higher tiers can use objects in RootNode from lower tiers
40. Behind the scenes: compile and load objects into RootNode
RootNode
<#@ template tier="0" #>
<Connections>
<Databases>
<Schemas>
<#@ template tier="1" #>
<Tables>
<Columns>
<#@ template tier="2" #>
<Packages>
50. Split and combine multiple Biml files
Select all the tiered files
Right-click and click Generate SSIS
Packages
Behind the scenes: Objects will be
compiled and loaded into RootNode
from lowest to highest tier
51. Split and combine multiple Biml files
All packages will be generated at the same time
Load packages from 302LoadAllTables.biml
Master package from 303MasterPackage.biml
52. Include files
Include common code in multiple files and projects
Use the include directive
<#@ include file="CommonCode.biml" #>
Include directive will be replaced by content of file
Can include several file types: .biml .txt .sql .cs
54. CallBimlScript with parameters
Works like a parameterized include
File to be called (callee) specifies input parameters
<#@ property name="Parameter" type="String" #>
Callee can use parameter values as regular variables and to control logic
File that calls (caller) provides input parameters
<#=CallBimlScript("CommonCode.biml", Parameter)#>
CallBimlScript code block is replaced by Biml returned by callee
56. View compiled Biml
Credits: Marco Schreuder (@in2bi)
http://blog.in2bi.eu/biml/viewing-or-saving-the-
compiled-biml-file-s/
Helper file with high tier (tier="100")
Saves output of RootNode.GetBiml() to file
57. What do you do next?
1. Download BIDS Helper
2. Identify your SSIS patterns
3. Rewrite one SSIS package to Biml to learn the basics
4. Expand with BimlScript
5. Get involved in the Biml community