Skip to main content

BimlScript Walkthroughs

Community-contributed step-by-step tutorials covering Biml, BimlScript, and the SSIS, SSAS, and Azure workloads they automate. Each section below collects walkthroughs on a single theme; pick a section that matches what you are trying to do and browse the entries.

Introduction & Concepts

Overviews of what Biml is, why it exists, and the small first-package exercises that anchor everything else.

BimlScript Language

Syntax, code nuggets, directives, comments, variables, annotations, extension methods, and the building blocks of any BimlScript file.

  • Basic BimlScript Structure: The basic elements of a BimlScript file are covered.
  • Biml Annotations and ObjectTags: Attach extra metadata to Biml objects with annotations and object tags, then read that metadata in higher tier files.
  • Biml Syntax Basics and Rules: Learn the structural rules of a Biml file, including root elements, plural collections, naming conventions, illegal characters, and whitespace handling.
  • BimlScript Code Nuggets: Survey the five kinds of code nugget that mix C# or VB into a Biml document and look at how text nuggets substitute computed values into the output.
  • BimlScript Control Nuggets: Use control nuggets to add loops, conditionals, and external metadata calls that determine which Biml fragments are emitted.
  • Building Your Own Extension Method for Biml: Add a custom C# extension method to the Biml object model so a BimlScript template can convert one node type into another with a single call.
  • C# and VB Code Files in Biml: Move shared C# or VB logic out of Biml files and into external code files using the code directive so the same helpers can drive many projects.
  • C# Extension Methods for Biml: Convert helper methods in a Biml C# code file into extension methods so they can be called directly on Biml objects.
  • Code Comments in BimlScript: Each of the three types of BimlScript code comments, along with their uses are covered in this walkthrough.
  • Global Directive in Biml: Use the global directive to inject shared content like template language settings, headers, namespaces, or includes into every Biml file at once.
  • Include Files in Biml: Use the Biml include directive to copy shared markup from one file into another so common variables, tasks, or fragments live in a single place.
  • Stairway to Biml Level 5: Language Elements: Tour the building blocks of a Biml file: text blocks, directives, control blocks, and the RootNode that ties multiple files together across compile tiers.
  • Using Biml Annotations: Tag generated SSIS packages with Biml annotations and read those tags in later scripts to drive package grouping and master orchestration.
  • VB Option Explicit and Strict in Biml: Use the optionexplicit and optionstrict template attributes to write less verbose Visual Basic BimlScript when full type declarations are not needed.

Tooling & Build Automation

BimlExpress, BimlStudio, BIDS Helper, command-line builds, logging, and the editor experience around authoring Biml.

Connections & Adapters

Connection managers, third-party source adapters (SAP, Oracle, OData), project connections, and configuration of connection-related settings.

Table & Schema Generation

CREATE TABLE generation, schema metadata extraction, DDL output, and table-level housekeeping driven by Biml.

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, OLEDB Command, ODBC Destination, derived columns, and error routing inside the data flow.

Control Flow & Packages

Variables, parameters, precedence constraints, package execution, expressions, and master-child orchestration at the control-flow level.

Metadata-Driven Generation

Generators, frameworks, and patterns where BimlScript loops over a metadata model to emit large numbers of packages.

Reuse, Transformers & Templates

Modularization through CallBimlScript, tiered files, BimlStudio Transformers, bulk template changes, and custom validators.

Dimensions, Data Vault & CDC

Slowly changing dimensions, Data Vault patterns, and Change Data Capture pipelines built with Biml.

Analysis Services

Multidimensional SSAS cubes, dimension processing, and partition processing with Biml.

  • Building a Multidimensional SSAS Database with Biml: Define dimension and measure group metadata directly on the underlying tables, then assemble a multidimensional cube with role playing dimensions and partitions.
  • SSAS Dimension Processing with Biml: Build SSIS packages that ProcessUpdate every dimension in an SSAS database, either as a single processing task or as one task per dimension inside a parallel container.
  • SSAS Partition Processing with Biml: Use AMO inside BimlScript to find the most recently processed partitions in each SSAS measure group and emit a Partition Processing task that targets only those partitions.
  • SSAS Processing Patterns with Biml: Generate SSIS packages that process every dimension, the most recent fact partitions, and cube indexes in an SSAS database from a single Biml script.

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.