Biml objects have many built-in attributes. For example, all Tables have SchemaName and all Packages have ProtectionLevel. When your Biml solution starts to grow, you will quickly see the need for adding additional metadata that can be used in other Biml files. A common use case in Data Warehouse Staging projects is to store the source schema and source table name on your staging table objects. This allows you to use the source metadata in a higher tier Biml file that generates the SSIS packages to load the tables. To store and use this additional metadata, you can use Biml Annotations or ObjectTags.
Biml Annotations and ObjectTags are both Key/Value pairs. Annotations are String/String pairs intended for storing simple text metadata, while ObjectTags are String/Object pairs that can also store more complex metadata in .NET objects.
Many Biml solutions start off very simple, with just a single Biml file that generates a few SSIS packages. Most developers quickly see the need for a more complex solution for multiple sources. One way to reuse code and apply the Don’t Repeat Yourself software engineering principle in Biml is to use Tiered Biml Files.
In addition to using Tiered Biml Files, there are four other main ways you can avoid repeating your Biml code:
In this post, we will look at how to use Tiered Biml Files.
Woohoo! The Biml Book: Business Intelligence and Data Warehouse Automation is now available for pre-order from Amazon and Apress! 🥳
This is the first book I’ve co-authored, and I have to admit it’s a very strange feeling to see my name on the cover of a book. Am I allowed to say I’m quite proud? Oh, I’ll say it anyway. I’m proud and very honored to have written this book with such a talented group of people: Andy Leonard (@AndyLeonard), Scott Currie (@scottcurrie), Ben Weissman (@bweissman), Bill Fellows (@billinkc), Martin Andersson (@frysdisken), Peter Avenant (@PeterAvenant), Simon Peck (@biguynz), Reeves Smith (@SQLReeves), Raymond Sondak (@raymondsondak) and Jacob Alley.
Are you tired of right-clicking on your Biml files to Check Biml for Errors or to Generate SSIS Packages? Did you know that you can create your own BimlExpress Keyboard Shortcuts? 🤓
BIDS Helper and BimlExpress do not support creating SSIS project parameters from Biml out of the box. There are workarounds (and I have previously blogged about my solution for creating project parameters from Biml), but why is this not a standard feature in BIDS Helper or BimlExpress? Many people have asked about this, so I sat down with Biml creator Scott Currie (@ScottCurrie) to get the full story.
Why doesn’t BIDS Helper or BimlExpress emit SSIS project parameters from Biml?
Well, technically it could, but it shouldn’t. The user experience would have serious issues, leading to confusion, frequent errors, and the potential for data loss. How can that be?