Level Up Your Biml: Best Practices and Coding Techniques. Cathrine Wilhelmsen
|
|
- Garry Wilkins
- 6 years ago
- Views:
Transcription
1
2 Level Up Your Biml: Best Practices and Coding Techniques Cathrine Wilhelmsen
3 Session Description You already know how to use Biml to build a staging environment in an hour, so let's dive straight into some of the more advanced features of Biml. Attend this session for an overview of Biml best practices and coding techniques. Learn how to centralize and reuse code with include files and the CallBimlScript method. Make your code easier to read and write by utilizing LINQ (Language- Integrated Queries). Share code between files by using Annotations and ObjectTags. And finally, if standard Biml is not enough to solve your problems, you can create your own C# helper classes and extension methods to implement custom logic. Start improving your code today and level up your Biml in no time!
4 Cathrine Wilhelmsen Data Warehouse Architect Business Intelligence cathrinewilhelmsen.net
5 You Know basic Biml and BimlScript Completed BimlScript.com lessons Have created a staging environment?
6 Today Code Management Practical Biml Programming C# Classes and Methods :)
7 Quick Recap of Basic Biml
8 What is Biml? Business Intelligence Markup Language Easy to read and write XML language Describes business intelligence objects: Databases, Schemas, Tables, Views, Columns SSIS Packages SSAS Cubes Metadata
9 What do you need?
10 or you can use the new Biml tools
11 How does it work?
12 demo time! Let's generate some packages!
13 Ok, so we can go from Biml to SSIS
14 can we go from SSIS to Biml?
15 Yes! :)
16 demo time! Let's reverse-engineer some packages!
17 The magic is in the BimlScript! Extend Biml with C# or VB code blocks Import database structure and metadata Loop over tables and columns Expressions replace static values BimlScript allows you to control and manipulate Biml code
18 BimlScript Code Nuggets <# #> Control Nuggets (Control logic) <#= #> Text Nuggets (Returns string) #> Directives (Compiler instructions) <#+ #> Class Nuggets (Create C# classes)
19 How does it work?
20 Yes, but how does it work?
21 Yes, but how does it actually work? <Biml xmlns=" <Packages> <# foreach (var table in RootNode.Tables) { #> <Package Name="Load_<#=table.Name#>"></Package> <# } #> </Packages> </Biml> <Biml xmlns=" <Packages> <Package Name="Load_Customer"/> <Package Name="Load_Product"/> <Package Name="Load_Sales"/> </Packages> </Biml>
22 Biml vs. BimlScript Flat XML "Just text" Automate, control and manipulate Biml with C#
23 demo time! Let's generate a lot of packages!
24 Code Management
25 Don't Repeat Yourself Move common code to separate files Centralize and reuse in many projects Update code once for all projects 1. Include files 2. CallBimlScript with Parameters 3. Tiered Biml files
26 BimlExpress vs. BimlOnline / BimlStudio "Black Box" Only SSIS packages visible Visual Editors All in-memory objects visible
27 Include Files Include common code in multiple files and projects Can include many file types:.biml.txt.sql.cs Use the include directive include file="commoncode.biml" #> The directive will be replaced by the included file Include pulls code from the included file into the main file Works like an automated Copy & Paste
28 Include Files
29 Include Files
30 Include Files
31 CallBimlScript with Parameters Works like a parameterized include File to be called (callee) specifies input parameters it accepts <#@ property name="parameter" type="string" #> File that calls (caller) passes input parameters <#=CallBimlScript("CommonCode.biml", Parameter)#> CallBimlScript pushes parameters from the caller to the callee, and the callee returns code
32 CallBimlScript with Parameters
33 CallBimlScript with Parameters
34 CallBimlScript with Parameters
35 CallBimlScript with Parameters
36 CallBimlScript with Parameters
37 Tiered Biml Files Split Biml code in multiple files and use the template directive: template tier="1" #> Create objects in-memory from lowest to highest tier to: Solve logical dependencies Simulate manual workflows In-memory objects are added to the RootNode Higher tiers can get objects added to RootNode in lower tiers
38 What is this RootNode? The RootNode contains all in-memory objects: Connections, Databases, Schemas, Tables Projects, Packages Annotations, Metadata Query the RootNode to loop over collections: <# foreach (var table in RootNode.Tables) { #> Query the RootNode to get specific objects: <#=RootNode.Tables["Product"].Schema#>
39 Inside the Black Box: Tiered Biml Files template tier="1" #> <Connections>...</Connections> template tier="2" #> <Packages>...</Packages> template tier="3" #> <Package>...</Package>
40 Inside the Black Box: Tiered Biml Files template tier="1" #> <Connections>...</Connections> template tier="2" #> <Packages>...</Packages> template tier="3" #> <Package>...</Package>
41 Inside the Black Box: Tiered Biml Files template tier="1" #> <Connections>...</Connections> template tier="2" #> <Packages>...</Packages> template tier="3" #> <Package>...</Package>
42 Inside the Black Box: Tiered Biml Files template tier="1" #> <Connections>...</Connections> template tier="2" #> <Packages>...</Packages> template tier="3" #> <Package>...</Package>
43 Inside the Black Box: Tiered Biml Files template tier="1" #> <Connections>...</Connections> template tier="2" #> <Packages>...</Packages> template tier="3" #> <Package>...</Package>
44 Inside the Black Box: Tiered Biml Files template tier="1" #> <Connections>...</Connections> template tier="2" #> <Packages>...</Packages> template tier="3" #> <Package>...</Package>
45 Inside the Black Box: Tiered Biml Files template tier="1" #> <Connections>...</Connections> template tier="2" #> <Packages>...</Packages> template tier="3" #> <Package>...</Package>
46 Inside the Black Box: Tiered Biml Files template tier="1" #> <Connections>...</Connections> template tier="2" #> <Packages>...</Packages> template tier="3" #> <Package>...</Package>
47 Inside the Black Box: Tiered Biml Files template tier="1" #> <Connections>...</Connections> template tier="2" #> <Packages>...</Packages> template tier="3" #> <Package>...</Package>
48 Inside the Black Box: Tiered Biml Files template tier="1" #> <Connections>...</Connections> template tier="2" #> <Packages>...</Packages> template tier="3" #> <Package>...</Package>
49 Inside the Black Box: Tiered Biml Files
50 How do you use Tiered Biml files? Create Biml files with specified tiers 2. Select all the tiered Biml files 3. Right-click and click Generate SSIS Packages 3
51 demo time! How does this actually work?
52 Debugging Biml
53 Debugging Biml BimlExpress is a "black box": You can only see the generated SSIS packages It is not possible to see the compiled Biml first Add a high-tier helper file to save compiled, flat Biml to file Check Biml For Errors to save flat Biml without generating packages
54 SaveFlatBimlToFile.biml Add the helper file to your project template tier="999" #> <# RootNode.GetBiml() ); #>
55 SaveFlatBimlToFile.biml with a high tier so it is executed as the last step <#@ template tier="999" #> <# RootNode.GetBiml() ); #>
56 SaveFlatBimlToFile.biml It creates a file <#@ template tier="999" #> <# RootNode.GetBiml() ); #>
57 SaveFlatBimlToFile.biml at the specified path template tier="999" #> <# RootNode.GetBiml() ); #>
58 SaveFlatBimlToFile.biml with all the Biml for all the object in RootNode template tier="999" #> <# RootNode.GetBiml() ); #>
59 How do you use this helper file? Create the helper file 2. Select all the Biml files and the helper file 3. Right-click and click Check Biml For Errors 3
60 demo time! How is this helper file used?
61 Annotations and ObjectTags
62 Annotations and ObjectTags Biml Annotations!= SSIS Annotations Annotations are string/string Key/Value pairs ObjectTags are string/object Key/Value pairs Use Annotations and ObjectTags to pass code between Biml files
63 Annotations Create annotations: <OleDbConnection Name="Destination" ConnectionString=" "> <Annotations> <Annotation Tag="Schema">AW2014</Annotation> </Annotations> </OleDbConnection> Use annotations: <# var destinationschema = RootNode.OleDbConnections["Destination"].GetTag("Schema"); #>
64 ObjectTags Create ObjectTags: <# #> RootNode.OleDbConnections["Destination"].ObjectTag["TableFilter"] = new List<string> {"Product","ProductSubcategory","ProductCategory"}; Use ObjectTags: <# #> var TableFilter = (List<string>) RootNode.OleDbConnections["Destination"].ObjectTag["TableFilter"];
65 LINQ
66 LINQ (Language-Integrated Query) One language to query: SQL Server Databases XML Documents Datasets Collections Two ways to write queries: SQL-like Syntax Extension Methods
67 LINQ Extension Methods Filter Sort Group Aggregate Where, OfType OrderBy, ThenBy GroupBy Count, Sum Check Collections All, Any, Contains Get Elements First, Last, ElementAt Project Collections Select, SelectMany..and many, many more!
68 LINQ Extension Methods var numconnections = RootNode.Connections.Count() foreach (var table in RootNode.Tables.Where( )) if (RootNode.Packages.Any( ))
69 LINQ and Lambda expressions Use lambda expressions to filter or specify values:.where(table => table.schema.name == "Production").OrderBy(table => table.name)
70 LINQ and Lambda expressions For each element in the collection.where(table => table.schema.name == "Production").OrderBy(table => table.name)
71 LINQ and Lambda expressions evaluate a criteria or get a value:.where(table => table.schema.name == "Production").OrderBy(table => table.name)
72 LINQ: Filter collections Where() Returns the filtered collection with all elements that meet the criteria RootNode.Tables.Where(t => t.schema.name == "Production") OfType() Returns the filtered collection with all elements of the specified type RootNode.Connections.OfType<AstExcelOleDbConnectionNode>()
73 LINQ: Sort collections OrderBy() Returns the collection sorted by key RootNode.Tables.OrderBy(t => t.name) ThenBy() then sorted by secondary key RootNode.Tables.OrderBy(t => t.schema.name).thenby(t => t.name)
74 LINQ: Sort collections OrderByDescending() Returns the collection sorted by key RootNode.Tables.OrderByDescending(t => t.name) ThenByDescending() then sorted by secondary key RootNode.Tables.OrderBy(t => t.schema.name).thenbydescending(t => t.name)
75 LINQ: Sort collections Reverse() Returns the collection sorted in reverse order RootNode.Tables.Reverse()
76 LINQ: Group collections GroupBy() Returns a collection of key-value pairs where each value is a new collection RootNode.Tables.GroupBy(t => t.schema.name)
77 LINQ: Aggregate collections Count() Returns the number of elements in the collection RootNode.Tables.Count() RootNode.Tables.Count(t => t.schema.name == "Production")
78 LINQ: Aggregate collections Sum() Returns the sum of the (numeric) values in the collection RootNode.Tables.Sum(t => t.columns.count) Average() Returns the average value of the (numeric) values in the collection RootNode.Tables.Average(t => t.columns.count)
79 LINQ: Aggregate collections Min() Returns the minimum value of the (numeric) values in the collection RootNode.Tables.Min(t => t.columns.count) Max() Returns the maximum value of the (numeric) values in the collection RootNode.Tables.Max(t => t.columns.count)
80 LINQ: Check collections All() Returns true if all elements in the collection meet the criteria RootNode.Databases.All(d => d.name.startswith("a")) Any() Returns true if any element in the collection meets the criteria RootNode.Databases.Any(d => d.name.contains("dw"))
81 LINQ: Check collections Contains() Returns true if collection contains element RootNode.Databases.Contains(AdventureWorks2014)
82 LINQ: Get elements First() Returns the first element in the collection (that meets the criteria) RootNode.Tables.First() RootNode.Tables.First(t => t.schema.name == "Production") FirstOrDefault() Returns the first element in the collection or default value (that meets the criteria) RootNode.Tables.FirstOrDefault() RootNode.Tables.FirstOrDefault(t => t.schema.name == "Production")
83 LINQ: Get elements Last() Returns the last element in the collection (that meets the criteria) RootNode.Tables.Last() RootNode.Tables.Last(t => t.schema.name == "Production") LastOrDefault() Returns the last element in the collection or default value (that meets the criteria) RootNode.Tables.LastOrDefault() RootNode.Tables.LastOrDefault(t => t.schema.name == "Production")
84 LINQ: Get elements ElementAt() Returns the element in the collection at the specified index RootNode.Tables.ElementAt(42) ElementAtOrDefault() Returns the element in the collection or default value at the specified index RootNode.Tables.ElementAtOrDefault(42)
85 LINQ: Project collections Select() Creates a new collection from one collection A list of table names: RootNode.Tables.Select(t => t.name) A list of table and schema names: RootNode.Tables.Select(t => new {t.name, t.schema.name})
86 LINQ: Project collections SelectMany() Creates a new collection from many collections and merges the collections A list of all columns from all tables: RootNode.Tables.SelectMany(t => t.columns)
87 demo time! How is LINQ used in Biml projects?
88 C# Classes and Methods
89 C# Classes and Methods BimlScript and LINQ not enough? Need to reuse C# code? Create your own classes and methods!
90 C# Classes and Methods: From this public static class HelperClass { public static bool AnnotationTagExists(AstNode node, string tag) { if (node.gettag(tag)!= "") { return true; } else { return false; } } }
91 C# Classes and Methods: to this public static class HelperClass { public static bool AnnotationTagExists(AstNode node, string tag) { } return (node.gettag(tag)!= "")? true : false; } * For bools you can just use: return (node.gettag(tag)!= ""); But in this example we'll use the verbose, SSIS-like syntax because it can be reused with other data types, like
92 C# Classes and Methods: or this public static class HelperClass { public static string AnnotationTagExists(AstNode node, string tag) { return (node.gettag(tag)!= "")? "Yes" : "No"; } }
93 Where do you put your code? Inline code nuggets Included Biml files with code nuggets Reference code files
94 C# Classes and Methods: Inline <Biml xmlns=" <# foreach (var table in RootNode.Tables) { #> <# if (HelperClass.AnnotationTagExists(table, "SourceSchema")) { #>... <# } #> <# } #> </Biml> <#+ #> public static class HelperClass { public static bool AnnotationTagExists(AstNode node, string tag) { } } return (node.gettag(tag)!= "")? true : false;
95 C# Classes and Methods: Included Files include file="helperclass.biml" #> <Biml xmlns=" <# foreach (var table in RootNode.Tables) { #> <# if (HelperClass.AnnotationTagExists(table, "SourceSchema")) { #>... <# } #> <# } #> </Biml> <#+ public static class HelperClass { public static bool AnnotationTagExists(AstNode node, string tag) { return (node.gettag(tag)!= "")? true : false; } } #>
96 C# Classes and Methods: Code Files code file="helperclass.cs" #> <Biml xmlns=" <# foreach (var table in RootNode.Tables) { #> <# if (HelperClass.AnnotationTagExists(table, "SourceSchema")) { #>... <# } #> <# } #> </Biml> public static class HelperClass { public static bool AnnotationTagExists(AstNode node, string tag) { return (node.gettag(tag)!= "")? true : false; } }
97 C# Extension Methods
98 Extension Methods "Make it look like the method belongs to an object instead of a helper class"
99 Extension Methods: From this code file="helperclass.cs" #> <Biml xmlns=" <# foreach (var table in RootNode.Tables) { #> <# if (HelperClass.AnnotationTagExists(table, "SourceSchema")) { #>... <# } #> <# } #> </Biml> public static class HelperClass { public static bool AnnotationTagExists(AstNode node, string tag) { return (node.gettag(tag)!= "")? true : false; } }
100 Extension Methods: to this code file="helperclass.cs" #> <Biml xmlns=" <# foreach (var table in RootNode.Tables) { #> <# if (HelperClass.AnnotationTagExists(table, "SourceSchema")) { #>... <# } #> <# } #> </Biml> public static class HelperClass { public static bool AnnotationTagExists(this AstNode node, string tag) { return (node.gettag(tag)!= "")? true : false; } }
101 Extension Methods: to this code file="helperclass.cs" #> <Biml xmlns=" <# foreach (var table in RootNode.Tables) { #> <# if (table.annotationtagexists("sourceschema")) { #>... <# } #> <# } #> </Biml> public static class HelperClass { public static bool AnnotationTagExists(this AstNode node, string tag) { return (node.gettag(tag)!= "")? true : false; } }
102 Extension Methods: to this :) code file="helperclass.cs" #> <Biml xmlns=" <# foreach (var table in RootNode.Tables.Where(t =>... <# } #> <# } #> </Biml> t.annotationtagexists("sourceschema")) { #> public static class HelperClass { public static bool AnnotationTagExists(this AstNode node, string tag) { return (node.gettag(tag)!= "")? true : false; } }
103 Questions?
104 Get things done Start small Start simple Start with ugly code Keep going Expand Improve Deliver often
105 Izpolnite anketo! Vam je bilo predavanje všeč? Ste se naučili kaj novega? Vaše mnenje nam veliko pomeni! Da bo NT konferenca prihodnje leto še boljša, vas prosimo, da izpolnite anketo o zadovoljstvu, ki jo najdete v svojem NTK spletnem profilu.
106 Biml resources and references: cathrinewilhelmsen.net slideshare.net/cathrinewilhelmsen linkedin.com/in/cathrinewilhelmsen
107
S.M.A.R.T. Biml Cathrine Wilhelmsen October 24 th 2015
S.M.A.R.T. Biml Cathrine Wilhelmsen October 24 th 2015 Session Description Have you ever wanted to build a Data Warehouse simply by pushing a button? It might not be quite that easy yet, but gone are the
More informationBiml for Beginners: Generating SSIS packages with BimlScript. Cathrine Wilhelmsen April 25th 2015
Biml for Beginners: Generating SSIS packages with BimlScript Cathrine Wilhelmsen April 25th 2015 Today is brought to you by and in association with Please visit our sponsors Session description SSIS is
More informationBiml for Beginners: Generating SSIS packages with BimlScript. Cathrine Wilhelmsen September 5th 2015
Biml for Beginners: Generating SSIS packages with BimlScript Cathrine Wilhelmsen September 5th 2015 Session description SSIS is a powerful tool for extracting, transforming and loading data, but creating
More informationLet s Get Meta: ETL Frameworks Using Biml. Kate kategrass/
Let s Get Meta: ETL Frameworks Using Biml Kate Grass @kategrass https://www.linkedin.com/in/ kategrass/ www.kategrass.com Kate Grass Who: Digital nomad, dog dork, lover of data, hiker, biker, runner(ish)
More informationBiml: I got the basics what s next?
Biml: I got the basics what s next? WEITER BLICKEN. MEHR ERKENNEN. BESSER ENTSCHEIDEN. Who are you? What have you done with Biml so far? Who am I? Ben Weissman, Solisyon, Nuremberg, Germany @bweissman
More informationA Crash-Course in Biml. Tim Mitchell, Principal Data Architect, Tyleris Data Solutions Moderated By: Cathrine Wilhelmsen
A Crash-Course in Biml Tim Mitchell, Principal Data Architect, Tyleris Data Solutions Moderated By: Cathrine Wilhelmsen Thank You microsoft.com idera.com attunity.com Empower users with new insights through
More informationBimlExpress 2017 Release Notes Significant changes between BimlExpress 2016 and BimlExpress 2017
BimlExpress 2017 Release Notes Significant changes between BimlExpress 2016 and BimlExpress 2017 Breaking Changes Moved PathAnnotation from PrecedenceConstraints to TaskflowInputPath. Fixed issue in CallBimlScript
More informationImprove SSIS Delivery with a Patterns-Based Approach. Meagan Longoria July 19, 2017
Improve SSIS Delivery with a Patterns-Based Approach Meagan Longoria July 19, 2017 What If I Told You 90% of your data integration development in SQL Server could be automated? In 5 years, you will be
More information@KATEGRASS. Let s Get Meta: ETL Frameworks Using Biml
Let s Get Meta: ETL Frameworks Using Biml Please Support Our Sponsors SQL Saturday is made possible with the generous support of these sponsors. You can support them by opting-in and visiting them in the
More informationIMPLEMENTING THE LINQ QUERY LANGUAGE INTO THE C++ PROGRAMMING LANGUAGE USING A PREPROCESSOR
IMPLEMENTING THE LINQ QUERY LANGUAGE INTO THE C++ PROGRAMMING LANGUAGE USING A PREPROCESSOR Jakub Judas, Miroslav Virius FJFI ČVUT ABSTRACT: LINQ is a query language similar to SQL that enables to retrieve
More informationMETADATA BASED DYNAMIC ETLS. April 2015
METADATA BASED DYNAMIC ETLS April 2015 Background Reports Generator ETL Architecture Problem of the Unknowns Final Architecture Implementing using SSIS How to solve the problem? Lessons Learnt AGENDA Capturing
More informationBimlStudio 2017 Release Notes Significant changes between Mist 4.0 Update 1 and BimlStudio 2017
BimlStudio 2017 Release Notes Significant changes between Mist 4.0 Update 1 and BimlStudio 2017 Breaking Changes Moved PathAnnotation from PrecedenceConstraints to TaskflowInputPath. Clean output folder
More informationIntegration Services. Creating an ETL Solution with SSIS. Module Overview. Introduction to ETL with SSIS Implementing Data Flow
Pipeline Integration Services Creating an ETL Solution with SSIS Module Overview Introduction to ETL with SSIS Implementing Data Flow Lesson 1: Introduction to ETL with SSIS What Is SSIS? SSIS Projects
More informationIndex. AcquireConnection method, 207 Advanced Editor, 259 AndyWeather.com, 275
Index A AcquireConnection method, 207 Advanced Editor, 259 AndyWeather.com, 275 B Biml2014, 344 Business intelligence (BI), 343 Business Intelligence Development Studio (BIDS), 28, 262 Business Intelligence
More information2310C VB - Developing Web Applications Using Microsoft Visual Studio 2008 Course Number: 2310C Course Length: 5 Days
2310C VB - Developing Web Applications Using Microsoft Visual Studio 2008 Course Number: 2310C Course Length: 5 Days Certification Exam This course will help you prepare for the following Microsoft Certified
More informationSTIDistrict Query (Basic)
STIDistrict Query (Basic) Creating a Basic Query To create a basic query in the Query Builder, open the STIDistrict workstation and click on Utilities Query Builder. When the program opens, database objects
More informationProperty Default Schema Is Not Available For Database Ssis
Property Default Schema Is Not Available For Database Ssis Options properties but not really finding anything that will help. Also I tried by setting Transfer. Upload two slightly differing files into
More informationIntroduction to Microsoft.NET Programming Using Microsoft Visual Studio 2008 (C#) Course Overview. Prerequisites. Audience.
Introduction to Microsoft.NET Programming Using Microsoft Visual Studio 2008 (C#) Course Number: 6368A Course Length: 1 Day Course Overview This instructor-led course provides an introduction to developing
More informationLearn Well Technocraft
Getting Started with ASP.NET This module explains how to build and configure a simple ASP.NET application. Introduction to ASP.NET Web Applications Features of ASP.NET Configuring ASP.NET Applications
More informationSQL Server and MSBI Course Content SIDDHARTH PATRA
SQL Server and MSBI Course Content BY SIDDHARTH PATRA 0 Introduction to MSBI and Data warehouse concepts 1. Definition of Data Warehouse 2. Why Data Warehouse 3. DWH Architecture 4. Star and Snowflake
More informationThis course is suitable for delegates working with all versions of SQL Server from SQL Server 2008 through to SQL Server 2016.
(SSIS) SQL Server Integration Services Course Description: Delegates attending this course will have requirements to implement SQL Server Integration Services (SSIS) to export and import data between mixed
More informationDeccansoft Software Services. SSIS Syllabus
Overview: SQL Server Integration Services (SSIS) is a component of Microsoft SQL Server database software which can be used to perform a broad range of data migration, data integration and Data Consolidation
More informationBy Jason Roberts. Foreword by Daniel Jebaraj
1 By Jason Roberts Foreword by Daniel Jebaraj 2 Table of Contents The Story behind the Succinctly Series of Books... 9 About the Author... 11 Chapter 1 LINQ Fundamentals... 12 Why LINQ?... 12 The building
More informationOptiQL: LINQ on Delite
OptiQL: LINQ on Delite What is LINQ? Language Integrated Query (LINQ) is a set of language and framework features for writing structured typesafe queries over local object collections and remote data sources.
More informationSeminar 11 week 11 (11-15 December 2017)
Seminar 11 week 11 (11-15 December 2017) 1. Discuss LINQ from C# using the following examples. 2. Solve the following problems: 2.1. Display the number and frequency of number from given array. 2.2. find
More informationAdvanced Automated Administration with Windows PowerShell
Course 10962A: Advanced Automated Administration with Windows PowerShell Course Details Course Outline Module 1: Creating Advanced Functions In this module students will learn how to parameterize a command
More information81067AE Development Environment Introduction in Microsoft
Microsoft Course Modules for Microsoft Training Online: 1. Development Environment Lesson 1: Object Designer. Lesson 2: 7 Objects & The Logical Database. Lesson 3: Managing Objects. Lesson 4: Properties
More information6234A - Implementing and Maintaining Microsoft SQL Server 2008 Analysis Services
6234A - Implementing and Maintaining Microsoft SQL Server 2008 Analysis Services Course Number: 6234A Course Length: 3 Days Course Overview This instructor-led course teaches students how to implement
More informationSo You Want To Be A Rockstar Report Developer?
So You Want To Be A Rockstar Report Developer? October 15-18, 2013 Charlotte, NC Melissa Coates, BI Architect BlueGranite Speaker Bio Melissa Coates Business Intelligence & Data Warehousing Developer BI
More informationLINQ.NET LANGUAGE INTEGRATED QUERY. Dr. Victor Matos Cleveland State University April 2018
LINQ.NET LANGUAGE INTEGRATED QUERY Dr. Victor Matos Cleveland State University April 2018 What is LINQ Language Integrated Query (LINQ, pronounced "link") is a Microsoft.NET technology that adds data querying
More information1. SQL Server Integration Services. What Is Microsoft BI? Core concept BI Introduction to SQL Server Integration Services
1. SQL Server Integration Services What Is Microsoft BI? Core concept BI Introduction to SQL Server Integration Services Product History SSIS Package Architecture Overview Development and Management Tools
More informationHow to be a C# ninja in 10 easy steps. Benjamin Day
How to be a C# ninja in 10 easy steps Benjamin Day Benjamin Day Consultant, Coach, Trainer Scrum.org Classes Professional Scrum Developer (PSD) Professional Scrum Foundations (PSF) TechEd, VSLive, DevTeach,
More informationSAMPLE. Preface xi 1 Introducting Microsoft Analysis Services 1
contents Preface xi 1 Introducting Microsoft Analysis Services 1 1.1 What is Analysis Services 2005? 1 Introducing OLAP 2 Introducing Data Mining 4 Overview of SSAS 5 SSAS and Microsoft Business Intelligence
More informationCodingFactory. Learn.NET MVC with WCF & Angular. This syllabus is cover all the basic to. Angular. Table of Contents
Learn.NET MVC with WCF & Angular This syllabus is cover all the basic to advance topics of MVC,WCF,ORM & Angular Table of Contents 1. Module1.NET Basic... 2. Module2 ORM... 3. Module3 SOA,REST... 4. Module4
More informationCall: SAS BI Course Content:35-40hours
SAS BI Course Content:35-40hours Course Outline SAS Data Integration Studio 4.2 Introduction * to SAS DIS Studio Features of SAS DIS Studio Tasks performed by SAS DIS Studio Navigation to SAS DIS Studio
More informationLINQ in Action. Fabrice Marguerie Steve Eichert Jim Wooley. Chapter 3. Copyright 2008 Manning Publications
SAMPLE CHAPTER LINQ in Action Fabrice Marguerie Steve Eichert Jim Wooley Chapter 3 Copyright 2008 Manning Publications brief contents PART 1 GETTING STARTED... 1 1 Introducing LINQ 3 2 C# and VB.NET language
More information20761 Querying Data with Transact SQL
Course Overview The main purpose of this course is to give students a good understanding of the Transact-SQL language which is used by all SQL Server-related disciplines; namely, Database Administration,
More informationWhy do you want to know about functional programming?
Why do you want to know about functional programming? A look at LinQ in C# and (perhaps) Java Axel T. Schreiner RIT Computer Science http://www.cs.rit.edu/~ats/talks/linq-ieee/ http://www.cs.rit.edu/~ats/cs-2006-1/14_linq.pdf
More informationCOPYRIGHTED MATERIAL. Contents. Chapter 1: Introducing T-SQL and Data Management Systems 1. Chapter 2: SQL Server Fundamentals 23.
Introduction Chapter 1: Introducing T-SQL and Data Management Systems 1 T-SQL Language 1 Programming Language or Query Language? 2 What s New in SQL Server 2008 3 Database Management Systems 4 SQL Server
More information10267A CS: Developing Web Applications Using Microsoft Visual Studio 2010
10267A CS: Developing Web Applications Using Microsoft Visual Studio 2010 Course Overview This instructor-led course provides knowledge and skills on developing Web applications by using Microsoft Visual
More informationProgramming Microsoft LINQ in
Microsoft Programming Microsoft LINQ in Framework 4 Microsoft NET Paolo Pialorsi Marco Russo Table of Contents Preface Acknowledgments Introduction xvii xix xxi Part I LINQ Foundations 1 LINQ Introduction
More informationMOC 20463C: Implementing a Data Warehouse with Microsoft SQL Server
MOC 20463C: Implementing a Data Warehouse with Microsoft SQL Server Course Overview This course provides students with the knowledge and skills to implement a data warehouse with Microsoft SQL Server.
More informationMICROSOFT BUSINESS INTELLIGENCE (MSBI: SSIS, SSRS and SSAS)
MICROSOFT BUSINESS INTELLIGENCE (MSBI: SSIS, SSRS and SSAS) Microsoft's Business Intelligence (MSBI) Training with in-depth Practical approach towards SQL Server Integration Services, Reporting Services
More informationPOWER BI COURSE CONTENT
POWER BI COURSE CONTENT Why Power BI Training? Power BI is one of the newest additions to Office 365. In this course you will learn Power BI from beginner to advance. Power BI Course enables you to perform
More informationCSC 330 Object-Oriented
CSC 330 Object-Oriented Oriented Programming Using ADO.NET and C# CSC 330 Object-Oriented Design 1 Implementation CSC 330 Object-Oriented Design 2 Lecture Objectives Use database terminology correctly
More information2.1 Read and Write XML Data. 2.2 Distinguish Between DataSet and DataReader Objects. 2.3 Call a Service from a Web Page
LESSON 2 2.1 Read and Write XML Data 2.2 Distinguish Between DataSet and DataReader Objects 2.3 Call a Service from a Web Page 2.4 Understand DataSource Controls 2.5 Bind Controls to Data by Using Data-Binding
More informationIntroduction to Azure DocumentDB. Jeff Renz, BI Architect RevGen Partners
Introduction to Azure DocumentDB Jeff Renz, BI Architect RevGen Partners Thank You Presenting Sponsors Gain insights through familiar tools while balancing monitoring and managing user created content
More informationCSC Web Programming. Introduction to SQL
CSC 242 - Web Programming Introduction to SQL SQL Statements Data Definition Language CREATE ALTER DROP Data Manipulation Language INSERT UPDATE DELETE Data Query Language SELECT SQL statements end with
More informationVisual C# 2012 How to Program by Pe ars on Ed uc ati on, Inc. All Ri ght s Re ser ve d.
Visual C# 2012 How to Program 1 99 2-20 14 by Pe ars on Ed uc ati on, Inc. All Ri ght s Re ser ve d. 1992-2014 by Pearson Education, Inc. All 1992-2014 by Pearson Education, Inc. All Although commonly
More informationWhat s new in ASP.NET 3.5? Mike Ormond Developer & Platform Group Microsoft Ltd
What s new in ASP.NET 3.5? Mike Ormond Developer & Platform Group Microsoft Ltd Mike.Ormond@microsoft.com http://mikeo.co.uk What we ll look at... ASP.NET AJAX Data Access Silverlight ASP.NET Futures Release
More informationMSBI (SSIS, SSRS, SSAS) Course Content
SQL / TSQL Development 1. Basic database and design 2. What is DDL, DML 3. Data Types 4. What are Constraints & types 1. Unique 2. Check 3. NULL 4. Primary Key 5. Foreign Key 5. Default 1. Joins 2. Where
More informationLinQ Why we have to teach functional programmming
LinQ Why we have to teach functional programmming Axel T. Schreiner http://www.cs.rit.edu/~ats/talks/linq/ http://www.cs.rit.edu/~ats/cs-2006-1/14_linq.pdf Principles Map a query language to cascading
More informationReasons to Migrate from ProClarity to Pyramid Analytics
Reasons to Migrate from ProClarity to Pyramid Analytics ProClarity was a fabulous tool when Analysis Services first came out in 2000. It made navigation of large data much easier for the average end user.
More informationLesson 13 Transcript: User-Defined Functions
Lesson 13 Transcript: User-Defined Functions Slide 1: Cover Welcome to Lesson 13 of DB2 ON CAMPUS LECTURE SERIES. Today, we are going to talk about User-defined Functions. My name is Raul Chong, and I'm
More informationFunctional Programming. Pure Functional Programming
Functional Programming Pure Functional Programming Computation is largely performed by applying functions to values. The value of an expression depends only on the values of its sub-expressions (if any).
More informationLearn.Net WPF with Prism & Multithreading. This syllabus is cover WPF with Prism 4.0 & multithreading
Learn.Net WPF with Prism & Multithreading This syllabus is cover WPF with Prism 4.0 & multithreading Table of Contents 1. Module1 ORM... 2. Module2 WPF... 3. Module3 Prism 4.0... 4. Module4 Multithreading...
More information@KATEGRASS. Let s Get Meta: ETL Frameworks Using Biml
@KATEGRASS Let s Get Meta: ETL Frameworks Using Biml Kate Grass: The Who, What and Where Ø Ø Ø Digital nomad, dog dork, lover of data, hiker, biker, runner(?) Over 15 years experience with SQL Server,
More informationHyperion Interactive Reporting Reports & Dashboards Essentials
Oracle University Contact Us: +27 (0)11 319-4111 Hyperion Interactive Reporting 11.1.1 Reports & Dashboards Essentials Duration: 5 Days What you will learn The first part of this course focuses on two
More informationSQL Server Integration Services
www.logicalimagination.com 800.657.1494 SQL Server Integration Services Course #: SS-103 Duration: 3 days Prerequisites This course assumes no prior knowledge of SQL Server Integration Services. This course
More information10961B: Automating Administration with Windows PowerShell
10961B: Automating Administration with Windows PowerShell Course Overview This course provides students with the knowledge and skills to automate administration with Windows PowerShell, using features
More informationCOURSE 10962B: ADVANCED AUTOMATED ADMINISTRATION WITH WINDOWS POWERSHELL
ABOUT THIS COURSE This three-day course is a follow on course from the 10961B: Automating Administration with Windows PowerShell course. It is built on Windows Server 2012 R2 and Windows 8.1 and while
More information20464 Developing Microsoft SQL Server Databases
Course Overview This 5-day instructor-led course introduces SQL Server 2014 and describes logical table design, indexing and query plans. It also focuses on the creation of database objects including views,
More information$99.95 per user. SQL Server 2008 Integration Services CourseId: 158 Skill level: Run Time: 42+ hours (210 videos)
Course Description Our is a comprehensive A-Z course that covers exactly what you want in an SSIS course: data flow, data flow, and more data flow. You will learn about transformations, common design patterns
More informationExploring.Net Orcas. Contents. By Punit Ganshani
Exploring.Net Orcas By Punit Ganshani Punit Ganshani, employed by Cognizant Technology Solutions India Pvt. Ltd (NASDAQ: CTSH), a global IT services provider headquartered in Teaneck, N.J., is an author
More informationAdvanced Automated Administration with Windows PowerShell
Advanced Automated Administration with Windows PowerShell Course 10962B - Three days - Instructor-led - Hands-on Introduction This three-day instructor-led course is a follow on course from the 10961:
More informationCourse Prerequisites: This course requires that you meet the following prerequisites:
Developing MS SQL Server Databases This five-day instructor-led course introduces SQL Server 2014 and describes logical table design, indexing and query plans. It also focusses on the creation of database
More informationMSBI. Business Intelligence Contents. Data warehousing Fundamentals
MSBI CAC Noida is an ISO 9001:2015 certified training center with professional experience that dates back to 2005. The vision is to provide professional education merging corporate culture globally to
More informationC# Programming: From Problem Analysis to Program Design 2nd Edition. David McDonald, Ph.D. Director of Emerging Technologies. Objectives (1 of 2)
13 Database Using Access ADO.NET C# Programming: From Problem Analysis to Program Design 2nd Edition David McDonald, Ph.D. Director of Emerging Technologies Objectives (1 of 2) Retrieve and display data
More informationWebnodes Developers Quick Guide
Webnodes Webnodes Developers Quick Guide Want to get started right away? Ole Gulbrandsen 1/1/2010 Webnodes Developers Quick Guide Want to get started right away? This guide is for C# developers and will
More informationAdvanced WCF 4.0 .NET. Web Services. Contents for.net Professionals. Learn new and stay updated. Design Patterns, OOPS Principles, WCF, WPF, MVC &LINQ
Serialization PLINQ WPF LINQ SOA Design Patterns Web Services 4.0.NET Reflection Reflection WCF MVC Microsoft Visual Studio 2010 Advanced Contents for.net Professionals Learn new and stay updated Design
More informationEnterprise Data Catalog for Microsoft Azure Tutorial
Enterprise Data Catalog for Microsoft Azure Tutorial VERSION 10.2 JANUARY 2018 Page 1 of 45 Contents Tutorial Objectives... 4 Enterprise Data Catalog Overview... 5 Overview... 5 Objectives... 5 Enterprise
More informationSending an Absence Text to Parents
Sending an Absence Text to Parents Identifying Absentees You first need to find out which pupils are absent from school. These are the pupils who will have messages sent home to their parents. To do this,
More information.NET Database Technologies. Entity Framework: Queries and Transactions
.NET Database Technologies Entity Framework: Queries and Transactions ORMs and query languages l With an ORM, queries must define data to be returned and criteria in terms of domain model objects and their
More informationIntroduction to SSIS. Or you want to take some data, change it, and put it somewhere else? Then boy do I have THE tool for you!
Introduction to SSIS Or you want to take some data, change it, and put it somewhere else? Then boy do I have THE tool for you! Who am I? Ed Watson Data Services Consultant or Ambassador of Mayhem Twitter:
More informationMSBI Online Training (SSIS & SSRS & SSAS)
MSBI Online Training (SSIS & SSRS & SSAS) Course Content: SQL Server Integration Services Introduction Introduction of MSBI and its tools MSBI Services and finding their statuses Relation between SQL Server
More informationBeginning ASP.NET. 4.5 in C# Matthew MacDonald
Beginning ASP.NET 4.5 in C# Matthew MacDonald Contents About the Author About the Technical Reviewers Acknowledgments Introduction xxvii xxix xxxi xxxiii UPart 1: Introducing.NET. 1 & Chapter 1: The Big
More informationPrevious C# Releases. C# 3.0 Language Features. C# 3.0 Features. C# 3.0 Orcas. Local Variables. Language Integrated Query 3/23/2007
Previous C# Releases C# 3.0 Language Features C# Programming March 12, 2007 1.0 2001 1.1 2003 2.0 2005 Generics Anonymous methods Iterators with yield Static classes Covariance and contravariance for delegate
More informationITCertMaster. Safe, simple and fast. 100% Pass guarantee! IT Certification Guaranteed, The Easy Way!
ITCertMaster Safe, simple and fast. 100% Pass guarantee! http://www.itcertmaster.com Exam : 1z0-007 Title : Introduction to Oracle9i: SQL Vendor : Oracle Version : DEMO Get Latest & Valid 1Z0-007 Exam's
More informationMSBI( SSAS, SSIS, SSRS) Course Content:35-40hours
MSBI( SSAS, SSIS, SSRS) Course Content:35-40hours Course Outline SQL Server Analysis Services Course Content SSAS: What Is Microsoft BI? Core concept BI is the cube or UDM Example cube as seen using Excel
More informationCourse Outline. Advanced Automated Administration with Windows PowerShell Course 10962: 3 days Instructor Led
Advanced Automated Administration with Windows PowerShell Course 10962: 3 days Instructor Led Prerequisites: Before attending this course, students must have: Knowledge and experience working with Windows
More informationCHAKRA IT SOLUTIONS TO LEARN ABOUT OUR UNIQUE TRAINING PROCESS:
chakraitsolutions.com http://chakraitsolutions.com/msbi-online-training/ MSBI ONLINE TRAINING CHAKRA IT SOLUTIONS TO LEARN ABOUT OUR UNIQUE TRAINING PROCESS: Title Duration Timing Method Software Study
More informationCHAPTER 1: INTRODUCING C# 3
INTRODUCTION xix PART I: THE OOP LANGUAGE CHAPTER 1: INTRODUCING C# 3 What Is the.net Framework? 4 What s in the.net Framework? 4 Writing Applications Using the.net Framework 5 What Is C#? 8 Applications
More informationWindows Database Applications
3-1 Windows Database Applications Chapter 3 In this chapter, you learn to access and display database data on a Windows form. You will follow good OOP principles and perform the database access in a datatier
More informationCSI:DW Anatomy of a VLDW. Dave Fackler Business Intelligence Architect
CSI:DW Anatomy of a VLDW Dave Fackler Business Intelligence Architect davef@rollinghillsky.com Agenda The Crime Scene VA s DW and BI Landscape DW Model and Metadata Infrastructure The Evidence Database
More informationAccurate study guides, High passing rate! Testhorse provides update free of charge in one year!
Accurate study guides, High passing rate! Testhorse provides update free of charge in one year! http://www.testhorse.com Exam : 70-467 Title : Designing Business Intelligence Solutions with Microsoft SQL
More information6 SSIS Expressions SSIS Parameters Usage Control Flow Breakpoints Data Flow Data Viewers
MSBI Training Program [SSIS SSAS SSRS] Duration : 60 Hrs SSIS 1 Introduction to SSIS SSIS Components Architecture & Installation SSIS Tools and DTS 2 SSIS Architecture Control Flow Tasks Data Flow Tasks
More informationHorizontal Aggregations for Mining Relational Databases
Horizontal Aggregations for Mining Relational Databases Dontu.Jagannadh, T.Gayathri, M.V.S.S Nagendranadh. Department of CSE Sasi Institute of Technology And Engineering,Tadepalligudem, Andhrapradesh,
More informationBest Practices for Choosing Content Reporting Tools and Datasources. Andrew Grohe Pentaho Director of Services Delivery, Hitachi Vantara
Best Practices for Choosing Content Reporting Tools and Datasources Andrew Grohe Pentaho Director of Services Delivery, Hitachi Vantara Agenda Discuss best practices for choosing content with Pentaho Business
More informationASSIGNMENT NO Computer System with Open Source Operating System. 2. Mysql
ASSIGNMENT NO. 3 Title: Design at least 10 SQL queries for suitable database application using SQL DML statements: Insert, Select, Update, Delete with operators, functions, and set operator. Requirements:
More informationTechno Expert Solutions An institute for specialized studies! Introduction to Advance QTP course Content
Introduction to Advance QTP course Content NTRODUCTION TO AUTOMATION Automation Testing Benefits of Automation Testing Automation Testing Vs Manual Testing Automation Test Tools Tool selection criteria
More informationChapter 10. Database Applications The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill
Chapter 10 Database Applications McGraw-Hill 2010 The McGraw-Hill Companies, Inc. All rights reserved. Chapter Objectives Use database terminology correctly Create Windows and Web projects that display
More informationBest Practice - Pentaho OLAP Design Guidelines
Best Practice - Pentaho OLAP Design Guidelines This page intentionally left blank. Contents Overview... 1 Schema Maintenance Tools... 2 Use Schema Workbench to create and maintain schemas... 2 Limit number
More informationA Web-Based Introduction
A Web-Based Introduction to Programming Essential Algorithms, Syntax, and Control Structures Using PHP, HTML, and MySQL Third Edition Mike O'Kane Carolina Academic Press Durham, North Carolina Contents
More informationCreating Connection With Hive. Version: 16.0
Creating Connection With Hive Version: 16.0 Copyright 2015 Intellicus Technologies This document and its content is copyrighted material of Intellicus Technologies. The content may not be copied or derived
More information{SDD} Applied NoSQL in.net. Software Design & Development. Michael
{SDD} 2015 Software Design & Development Applied NoSQL in.net Michael Kennedy @mkennedy http://blog.michaelckennedy.net Objectives Describe the changes in the world of data management Install MongoDB and
More informationPro ASP.NET MVC 2 Framework
Pro ASP.NET MVC 2 Framework Second Edition Steven Sanderson Apress TIB/UB Hannover 89 133 297 713 Contents at a Glance Contents About the Author About the Technical Reviewers Acknowledgments Introduction
More informationDryadLINQ 11/24/09 -- Lecture 20
DryadLINQ 11/24/09 -- Lecture 20 What is DryadLINQ? (Programming language and distributed execution framework for manipulating very large datasets spread across many computers.) LINQ -- programming language
More informationAdobe ColdFusion level 1 course content (3-day)
http://www.multimediacentre.co.za Cape Town: 021 790 3684 Johannesburg: 011 083 8384 Adobe ColdFusion level 1 course content (3-day) Course Description: ColdFusion 9 Fundamentals is a 3-day course that
More information--Microsoft-- --Windows Phone--
--Microsoft-- --Windows Phone-- Microsoft Windows Phone Course 10553A: Fundamentals of XAML and Microsoft Expression Blend Course Outline Module 1: Binding in XAML This module familiarizes the students
More informationOracle Essbase XOLAP and Teradata
Oracle Essbase XOLAP and Teradata Steve Kamyszek, Partner Integration Lab, Teradata Corporation 09.14 EB5844 ALLIANCE PARTNER Table of Contents 2 Scope 2 Overview 3 XOLAP Functional Summary 4 XOLAP in
More information