BimlScript
BimlScript embeds C# or VB logic inside Biml so a single template can generate hundreds of SSIS packages, SSAS objects, or Azure Data Factory pipelines from metadata. This section collects the full BimlScript library: a guided lesson sequence, focused how-to guides, 145 community-contributed walkthroughs originally published on bimlscript.com, and 76 reusable code snippets.
Start Here
- Quick Start Guide: Build a working Biml solution in 5 minutes.
- What is Biml?: Overview, key concepts, and a first code example.
- BimlScript Lessons: The full 15 lesson learning path from first principles through a metadata-driven staging layer.
- Biml Tools: Pick between BimlStudio, BimlExpress, and the BimlStudio command-line compiler.
Reference Lessons
Each lesson is self-contained and can be revisited as a reference after the recommended order has been completed.
Prerequisites
- C# Primer: Variables, LINQ, lambdas, and error handling for BimlScript automation.
- LINQ for BimlScript: LINQ reference for metadata queries inside BimlScript.
- Intro to XML: XML fundamentals for Biml.
Core Concepts
- Biml Basics: Syntax, naming conventions, and object references.
- Biml for Relational Databases: Connections, databases, tables, and columns.
- Biml for SSIS: Control flows, data flows, and transformations.
- Biml for SSAS: Cubes, dimensions, tabular models, and processing automation.
Automation Techniques
- Introduction to BimlScript: Code nuggets, directives, and tiers.
- Biml Utility Methods: Include files, CallBimlScript, helper classes, and extension methods.
- Using .NET Variables: Partial automation with variables.
- Using .NET Control Structures: Full automation with loops and conditions.
- Techniques for Automating Biml: Alternative approaches using Excel, SQL, and PowerShell.
- Automation and Patterns: Design principles for maintainable BimlScript solutions.
- Build an Automated Staging Layer: End-to-end checkpoint project that pulls every previous lesson together.
Practical Guides
- Common Patterns: Reusable patterns for staging, loading, and error handling.
- Troubleshooting Guide: Debug compilation errors and fix common issues.
Walkthroughs
The Walkthroughs section collects 145 community-contributed, step-by-step tutorials covering Biml, BimlScript, and the SSIS, SSAS, and Azure workloads they automate. Fourteen categories cover the major scenarios:
- Introduction & Concepts: Overviews of what Biml is, why it exists, and small first-package exercises.
- BimlScript Language: Syntax, code nuggets, directives, comments, variables, annotations, and extension methods.
- Tooling & Build Automation: BimlExpress, BimlStudio, BIDS Helper, command-line builds, and logging.
- Connections & Adapters: Connection managers, third-party source adapters, and project connections.
- Table & Schema Generation: CREATE TABLE generation, schema metadata extraction, DDL output, and table-level housekeeping.
- Flat Files & Excel: Flat-file imports and exports, Excel worksheets, raw files, and ODBC-over-text source patterns.
- Data Flow & Transformations: Dataflow components, lookups, conditional splits, derived columns, and error routing.
- Control Flow & Packages: Variables, parameters, precedence constraints, package execution, and master-child orchestration.
- Metadata-Driven Generation: Generators and frameworks that loop over a metadata model to emit many packages.
- Reuse, Transformers & Templates: Modularization through CallBimlScript, tiered files, BimlStudio Transformers, and bulk template changes.
- Dimensions, Data Vault & CDC: Slowly changing dimensions, Data Vault patterns, and Change Data Capture pipelines.
- Analysis Services: Multidimensional SSAS cubes, dimension processing, and partition processing.
- Azure & Cloud: Azure Data Factory, Azure Data Lake Storage, and other cloud-targeted Biml generation patterns.
- Performance & Scale: Performance tuning, parallel load balancing, and throughput patterns for Biml-generated SSIS workloads.
Snippets
The Snippets section holds 76 reusable BimlScript fragments organized by topic for quick reference.
- Connections: Connection managers for relational, file, web, and management endpoints.
- Tables, Schemas & Metadata Imports: ImportDB and INFORMATION_SCHEMA-driven generators, per-table extracts, and CREATE TABLE scripting.
- Files & Flat-File Formats: FlatFileFormat definitions and per-table flat-file imports and exports.
- Dataflow Components & Sources: Script Component sources and transformations, UnionAll, CacheTransform, and dataflow-level error handling.
- Tasks & Control Flow: Control-flow tasks, package execution, and master-package orchestration.
- Parameters & Variables: Package and project parameters, parameter bindings, and runtime configuration through SSIS variables.
- Custom & Third-Party Components: SSIS custom components and tasks from Microsoft, COZYROC, and Konesans, plus generic CustomComponent and CustomTask use.
- Transformers: BimlStudio Transformers for bulk template changes across packages, tables, and dataflows.
- Reuse & Modularization: Include directives, CallBimlScript, dynamic Biml modules, and BimlStudio scripting APIs.
- Patterns & Performance: End-to-end ETL patterns and performance tuning techniques.