Presentation is loading. Please wait.

Presentation is loading. Please wait.

An Introduction to the magical world of BIML!

Similar presentations


Presentation on theme: "An Introduction to the magical world of BIML!"— Presentation transcript:

1 An Introduction to the magical world of BIML!
Jonathan Stewart

2 An Introduction to… The magical world of Biml!

3 Agradecimiento a los patrocinadores
Premium Silver Personal

4

5 Business Intelligence Consultant
Jonathan Stewart Business Intelligence Consultant @sqllocks

6 Agenda History Problems solved by Biml Biml Basics Biml Script
Reusability Where to learn more!

7 CEO of Varigence and Creator of Biml
Scott Currie CEO of Varigence and Creator of Biml

8 What is it?

9 Business Intelligence Markup Language
XML Based Can be used to create SSIS packages, SSAS cubes and SQL Server DDL (Databases, Tables, Columns, Views, Etc).

10 What problems can Biml Help you solve?

11 Tedium

12 Repetition and limited reuse

13 Inconsistency

14

15 The super quick xml primer

16 The basic xml statement…
<root> < parent name="Goku" age="37"> <child name="Gohan" age="17" SuperSaiynLevel=”3”/></child> <child name="Goten" age="6" SuperSaiynLevel=”1”></child> </parent> </ root >

17 The basic xml statement…
<root> < parent name="Goku" age="37"> <child name="Gohan" age="17" SuperSaiynLevel=”3”></child> <child name="Goten" age="6" SuperSaiynLevel=”1”></child> </parent> </ root >

18 The basic xml statement…
<root> < parent name="Goku" age="37"> <child name="Gohan" age="17" SuperSaiynLevel=”3”></child> <child name="Goten" age="6" SuperSaiynLevel=”1”></child> </parent> </ root >

19 The basic xml statement…
<root> < parent name="Goku" age="37"> <child name="Gohan" age="17" SuperSaiynLevel=”3”></child> <child name="Goten" age="6" SuperSaiynLevel=”1”></child> </parent> </ root >

20 The basic xml statement…
<root> < parent name="Goku" age="37"> <child name="Gohan" age="17" SuperSaiynLevel=”3”></child> <child name="Goten" age="6" SuperSaiynLevel=”1”></child> </parent> </ root >

21 The basic xml statement…
<root> < parent name="Goku" age="37"> <child name="Gohan" age="17" SuperSaiynLevel=”3”></child> <child name="Goten" age="6" SuperSaiynLevel=”1”></child> </parent> </ root >

22 The basic Biml syntax <Biml xmlns=" <Packages> <Package Name="Package1"></Package> <Package Name="Package2"/> </Packages> </Biml>

23 The basic Biml syntax <Biml xmlns=" <Packages> <Package Name="Package1"></Package> <Package Name="Package2"/> </Packages> </Biml>

24 The basic Biml syntax <Biml xmlns=" <Packages> <Package Name="Package1"></Package> <Package Name="Package2"/> </Packages> </Biml>

25 The basic Biml syntax <Biml xmlns=" <Packages> <Package Name="Package1"></Package> <Package Name="Package2"/> </Packages> </Biml>

26 The basic Biml syntax <Biml xmlns=" <Packages> <Package Name="Package1"></Package> <Package Name="Package2"/> </Packages> </Biml>

27 Biml and XML similarities
Reeves Smith, Andy Leonard

28 What do we need to get started?

29

30

31 How does it work?

32 How does it work?

33 Root types (AKA Elements)
Connection Packages Databases Script Projects Schemas Cubes Tables Principals Dimensions Facts

34

35 Biml Script Allows you to extend Biml with C# or VB.
Allows all of the configurable magic that you’ve come to expect. Begins and ends with delimiters.

36 The Basic BimlScript syntax
<Biml xmlns=" <Packages> <# for (int i = 1; i <= 5, i++) { #> <Package Name="MyPackage<#=i#>" ConstraintMode=“Linear”> </Package> <# } #> </Packages> </Biml>

37 The Basic BimlScript syntax
<Biml xmlns=" <Packages> <# for (int i = 1; i <= 5, i++) { #> <Package Name="MyPackage<#=i#>" ConstraintMode=“Linear”> </Package> <# } #> </Packages> </Biml>

38 Directives Two main type of directives:
Template - template language=“C#” #> Import - <# import namespace=“Varigence.Languages.Biml.Connection” #> Other directives: Annotation Import Target Assembly Output Dependency Property

39 Delimiters <#@ #> Directives <# #> Standard Control Block
<# #> Standard Control Block <#= #> Expression Control Block <#+ #> Class Feature Control Block

40 Standard Control blocks
Defines .NET code commonly referred to as Biml Script or Code Nuggets. <# for (int i = 1; i <= 5; i++) { #>

41 Expression control blocks
Evaluates the .NET code, converts it to a string, then embeds it in the Biml file. <#= UppercaseFirst("hello world") #>

42 Class feature control blocks
Defines properties, methods, and files that are excluded from the Biml file but may be accessed by other BimlScript code nuggets.

43

44 ?

45 How to reuse Biml files Tiered Biml files Include files
CallBimlScript using parameters

46 Tiered Biml Files Uses the template directive with the following syntax: template language=”C# or VB” tier=”tier number” #> Used when requiring objects from a previous file to enforce order. Files from the same tier will compile in any order. Root Node

47 <#@ include file=”ImportedBimlFile.biml” #>
Include Directives Include directives allow you to import other Biml files. include file=”ImportedBimlFile.biml” #>

48 CallBimlScript using parameters
Like a stored procedure! Or Method/Function (if you are a programmer ) Callee Script to be called Caller Active script

49 Callee

50 Caller

51

52 BimlFy-ing your current SSIS packages
How do you get your current SSIS packages into Biml? Biml Online!

53

54 Where to learn more… Varigence BimlScript
Samples - Forums - Documentation - BimlScript Intros/Tutorials - Quick Reference - Walkthroughs - Cathrine Wilhelmsen - Stairway to BIML- BIML Academy -

55 Questions

56 Business Intelligence Consultant
Jonathan Stewart Business Intelligence Consultant @sqllocks

57


Download ppt "An Introduction to the magical world of BIML!"

Similar presentations


Ads by Google