This post is part 5 of a series on using Biml in BIDS Helper. This post builds on some of the information and the sample from the previous posts.
In the previous post in the series, I talked about controlling the order of execution in the control flow. In this post, the focus will be on the dataflow, and controlling how the data in the pipeline flows from one component to the next. This post uses a new table as the target of the data flow, so you may want to review Part 2: Creating Tables using Biml and BimlScript to see how to create the table locally. The Biml below describes the table. You can create it in the database of your choice – I used a database named Target.
<Biml xmlns="http://schemas.varigence.com/biml.xsd">
<Connections>
<OleDbConnection Name="Source" ConnectionString="Provider=SQLNCLI10;Server=.;Initial Catalog=AdventureWorksDW2008R2;Integrated Security=SSPI;"/>
<OleDbConnection Name="Target" ConnectionString="Provider=SQLNCLI10;Server=.;Initial Catalog=Target;Integrated Security=SSPI;"/>
</Connections>
<Tables>
<Table Name="DimAccount_Test" ConnectionName="Target">
<Columns>
<Column Name="AccountKey" />
<Column Name="ParentAccountKey" IsNullable="true" />
<Column Name="AccountCodeAlternateKey" IsNullable="true" />
<Column Name="ParentAccountCodeAlternateKey" IsNullable="true" />
<Column Name="AccountDescription" DataType="String" Length="50" IsNullable="true" />
<Column Name="AccountType" DataType="String" Length="50" IsNullable="true" />
<Column Name="Operator" DataType="String" Length="50" IsNullable="true" />
<Column Name="CustomMembers" DataType="String" Length="300" IsNullable="true" />
<Column Name="ValueType" DataType="String" Length="50" IsNullable="true" />
<Column Name="CustomMemberOptions" DataType="String" Length="200" IsNullable="true" />
</Columns>
</Table>
</Tables>
</Biml>
With the table created, we can move on to the interesting part – transforming the data. In a simple, straightforward data flow, the Biml compiler will do most of the work for you. Take this data flow as an example: