<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://sqlblogcasts.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">Jorg Klein&amp;#39;s Microsoft Business Intelligence Blog [Macaw]</title><subtitle type="html" /><id>http://sqlblogcasts.com/blogs/jorg/atom.aspx</id><link rel="alternate" type="text/html" href="http://sqlblogcasts.com/blogs/jorg/default.aspx" /><link rel="self" type="application/atom+xml" href="http://sqlblogcasts.com/blogs/jorg/atom.aspx" /><generator uri="http://communityserver.org" version="3.1.20917.1142">Community Server</generator><updated>2007-11-15T21:12:00Z</updated><entry><title>SSIS - Convert various String date formats to DateTime with the Script Task</title><link rel="alternate" type="text/html" href="http://sqlblogcasts.com/blogs/jorg/archive/2008/06/12/ssis-convert-different-string-date-formats-to-datetime-with-the-script-task.aspx" /><id>http://sqlblogcasts.com/blogs/jorg/archive/2008/06/12/ssis-convert-different-string-date-formats-to-datetime-with-the-script-task.aspx</id><published>2008-06-12T12:01:00Z</published><updated>2008-06-12T12:01:00Z</updated><content type="html">&lt;p&gt;&lt;font size="2" face="trebuchet ms,geneva"&gt;The script below is really nice if you need to convert String dates that come in different (unexpected) formats.&lt;br /&gt;Just copy and paste the code in&amp;nbsp;your Script Task (paste the function outside &lt;font face="courier new,courier"&gt;Main()&lt;/font&gt;)&amp;nbsp;and it works right away.&lt;br /&gt;&lt;br /&gt;Supported date formats:&lt;/font&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;&lt;font size="2" face="trebuchet ms,geneva"&gt;YYMMDD&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;font size="2" face="trebuchet ms,geneva"&gt;YY-MM-DD&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;font size="2" face="trebuchet ms,geneva"&gt;YYYYMMDD&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;font size="2" face="trebuchet ms,geneva"&gt;YYYY-MM-DD&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;font size="2" face="trebuchet ms,geneva"&gt;Of course it&amp;#39;s possible to add code for more date formats yourself. If you want to, copy and paste your code in a comment. I will then add the code&amp;nbsp;to this blog.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;---------------------------------------------------------------------------------------------------------------------------&lt;/p&gt;
&lt;p&gt;&lt;font face="courier new,courier"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-fareast-font-family:Calibri;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;mso-no-proof:yes;mso-fareast-theme-font:minor-latin;"&gt;&lt;font color="#0000ff"&gt;Public&lt;/font&gt;&lt;/span&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt; Shared Function&lt;/font&gt; GetDateFromString(&lt;font color="#0000ff"&gt;ByVal&lt;/font&gt; stringDate &lt;font color="#0000ff"&gt;As String&lt;/font&gt;) &lt;font color="#0000ff"&gt;As&lt;/font&gt; DateTime&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#0000ff"&gt;Dim&lt;/font&gt; datetimeResult &lt;font color="#0000ff"&gt;As&lt;/font&gt; DateTime&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#0000ff"&gt;Try&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#0000ff"&gt;Dim&lt;/font&gt; centuryToAdd &lt;font color="#0000ff"&gt;As&lt;/font&gt; &lt;font color="#0000ff"&gt;Integer&lt;/font&gt; = 1900&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#0000ff"&gt;If&lt;/font&gt; (Convert.ToInt32(stringDate.Substring(0, 2)) &amp;lt; 80) &lt;font color="#0000ff"&gt;Then&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; centuryToAdd = 2000&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#0000ff"&gt;End If&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#0000ff"&gt;If&lt;/font&gt; (stringDate.Length = 6) &lt;font color="#0000ff"&gt;Then&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#008000"&gt;&amp;#39;Format is: YYMMDD&lt;/font&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; datetimeResult = &lt;font color="#0000ff"&gt;New&lt;/font&gt; DateTime((centuryToAdd + Convert.ToInt32(stringDate.Substring(0, 2))), Convert.ToInt32(stringDate.Substring(2, 2)), Convert.ToInt32(stringDate.Substring(4, 2)), 0, 0, 0)&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#0000ff"&gt;Return&lt;/font&gt; datetimeResult&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#0000ff"&gt;End If&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#0000ff"&gt;If&lt;/font&gt; (stringDate.Length = 8) &lt;font color="#0000ff"&gt;Then&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#0000ff"&gt;If&lt;/font&gt; (stringDate.IndexOf(&amp;quot;-&amp;quot;) &amp;gt; 0) &lt;font color="#0000ff"&gt;Then&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#008000"&gt;&amp;#39;Format is: YY-MM-DD&lt;/font&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; datetimeResult = &lt;font color="#0000ff"&gt;New&lt;/font&gt; DateTime((centuryToAdd + Convert.ToInt32(stringDate.Substring(0, 2))), Convert.ToInt32(stringDate.Substring(3, 2)), Convert.ToInt32(stringDate.Substring(6, 2)), 0, 0, 0)&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;font color="#0000ff"&gt;Return&lt;/font&gt; datetimeResult&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#0000ff"&gt;End If&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#008000"&gt;&amp;#39;Format is: YYYYMMDD&lt;/font&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; datetimeResult = &lt;font color="#0000ff"&gt;New&lt;/font&gt; DateTime(Convert.ToInt32(stringDate.Substring(0, 4)), Convert.ToInt32(stringDate.Substring(4, 2)), Convert.ToInt32(stringDate.Substring(6, 2)), 0, 0, 0)&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#0000ff"&gt;Return&lt;/font&gt; datetimeResult&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#0000ff"&gt;End If&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#0000ff"&gt;If&lt;/font&gt; (stringDate.Length = 10) &lt;font color="#0000ff"&gt;Then&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#008000"&gt;&amp;#39;Format is: YYYY-MM-DD&lt;/font&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; datetimeResult = &lt;font color="#0000ff"&gt;New&lt;/font&gt; DateTime(Convert.ToInt32(stringDate.Substring(0, 4)), Convert.ToInt32(stringDate.Substring(5, 2)), Convert.ToInt32(stringDate.Substring(8, 2)), 0, 0, 0)&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#0000ff"&gt;Return&lt;/font&gt; datetimeResult&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#0000ff"&gt; End If&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#0000ff"&gt;Return&lt;/font&gt; Convert.ToDateTime(stringDate)&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#0000ff"&gt;Catch&lt;/font&gt; e &lt;font color="#0000ff"&gt;As&lt;/font&gt; Exception&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#0000ff"&gt;End Try&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#008000"&gt;&amp;#39;No date format found: Return unknown(1/1/1900)&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; datetimeResult = &lt;font color="#0000ff"&gt;New&lt;/font&gt; DateTime(1900, 1, 1, 0, 0, 0)&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#0000ff"&gt;Return&lt;/font&gt; datetimeResult&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#0000ff"&gt;End Function&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;---------------------------------------------------------------------------------------------------------------------------&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="trebuchet ms,geneva"&gt;If you want to convert a String SSIS variable and load it into a DateTime SSIS variable, use the following code in your Script Task:&lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;Dts.Variables(&lt;span style="COLOR:maroon;"&gt;&amp;quot;someDateTimeVariable&amp;quot;&lt;/span&gt;).Value = GetDateFromString(Dts.Variables(&lt;span style="COLOR:maroon;"&gt;&amp;quot;someStringVariable&amp;quot;&lt;/span&gt;).Value.ToString)&lt;/span&gt;&lt;/p&gt;&lt;span style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;/span&gt;&amp;nbsp;&lt;img src="http://sqlblogcasts.com/aggbug.aspx?PostID=10475" width="1" height="1"&gt;</content><author><name>jorg</name><uri>http://sqlblogcasts.com/members/jorg.aspx</uri></author><category term="SQL Server 2005" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/SQL+Server+2005/default.aspx" /><category term="SQL Server Integration Services" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/SQL+Server+Integration+Services/default.aspx" /><category term="SSIS" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/SSIS/default.aspx" /><category term="Script Task" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/Script+Task/default.aspx" /><category term="VB .NET" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/VB+.NET/default.aspx" /><category term="Convert String date" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/Convert+String+date/default.aspx" /><category term="Code" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/Code/default.aspx" /></entry><entry><title>MCITP - I passed the 70-446 “PRO: Designing a Business Intelligence Infrastructure by Using Microsoft SQL Server 2005” exam!</title><link rel="alternate" type="text/html" href="http://sqlblogcasts.com/blogs/jorg/archive/2008/03/28/mcitp-i-passed-the-70-446-pro-designing-a-business-intelligence-infrastructure-by-using-microsoft-sql-server-2005-exam.aspx" /><id>http://sqlblogcasts.com/blogs/jorg/archive/2008/03/28/mcitp-i-passed-the-70-446-pro-designing-a-business-intelligence-infrastructure-by-using-microsoft-sql-server-2005-exam.aspx</id><published>2008-03-28T13:25:00Z</published><updated>2008-03-28T13:25:00Z</updated><content type="html">&lt;p&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Today I passed the Microsoft IT Professional(MCITP) 70-446 “&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;PRO: Designing a Business Intelligence Infrastructure by Using Microsoft SQL Server 2005”&lt;/span&gt;&lt;/font&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt; exam.&lt;br /&gt;This makes me one of the 337(January, 2008) Microsoft Certified IT Professionals worldwide! (&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;a href="http://www.microsoft.com/learning/mcp/certified.mspx"&gt;&lt;span style="COLOR:blue;"&gt;Nr. of MCP&amp;#39;s worldwide&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;)&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;img border="0" alt="" src="http://sqlblogcasts.com/photos/jorg/images/10246/secondarythumb.aspx" width="1" height="1" /&gt;&lt;br /&gt;&lt;img border="0" alt="MCITP" src="http://sqlblogcasts.com/photos/jorg/images/10246/secondarythumb.aspx" width="160" height="87" /&gt;&lt;br /&gt;&lt;br /&gt;To try the 70-446 exam its required to gain the 70-445 MCTS certification first. I have &lt;/font&gt;&lt;a class="" href="http://sqlblogcasts.com/blogs/jorg/archive/2007/11/15/MCTS-_2D00_-I-passed-the-70_2D00_445-exam_2100_.aspx"&gt;&lt;font face="trebuchet ms,geneva"&gt;passed the 70-445 exam&lt;/font&gt;&lt;/a&gt;&lt;font face="trebuchet ms,geneva"&gt; in November last year. &lt;br /&gt;&lt;br /&gt;The first conclusion I can make is that, strangely, I found the 70-445 exam more difficult than the 70-446 exam. I scored 70% on the 70-445 exam and managed to score 93% on the 70-446 exam. Partially this is because I gained more work experience in the last months and partially it’s because the 70-446 exam&amp;nbsp;contains easier question types. &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;b&gt;The exam topics of exam 70-446&lt;/b&gt; (full list: &lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;a href="http://www.microsoft.com/learning/exams/70-446.mspx"&gt;&lt;span style="COLOR:blue;"&gt;Microsoft Learning&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;)&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;i&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;The following list includes the topic areas covered on this exam. The percentage indicates the portion of the exam that addresses a particular skill.&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Symbol;"&gt;&lt;span&gt;·&lt;span style="FONT:7pt &amp;#39;Times New Roman&amp;#39;;font-size-adjust:none;font-stretch:normal;"&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;i&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Planning BI Solutions (15 percent)&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;/span&gt;&lt;/i&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Symbol;"&gt;&lt;span&gt;·&lt;span style="FONT:7pt &amp;#39;Times New Roman&amp;#39;;font-size-adjust:none;font-stretch:normal;"&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;i&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Designing SSIS Solutions (21 percent)&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;/span&gt;&lt;/i&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Symbol;"&gt;&lt;span&gt;·&lt;span style="FONT:7pt &amp;#39;Times New Roman&amp;#39;;font-size-adjust:none;font-stretch:normal;"&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;i&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Designing SSRS Solutions (14 percent)&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;/span&gt;&lt;/i&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Symbol;"&gt;&lt;span&gt;·&lt;span style="FONT:7pt &amp;#39;Times New Roman&amp;#39;;font-size-adjust:none;font-stretch:normal;"&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;i&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Designing SSAS Solutions (22 percent)&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;/span&gt;&lt;/i&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Symbol;"&gt;&lt;span&gt;·&lt;span style="FONT:7pt &amp;#39;Times New Roman&amp;#39;;font-size-adjust:none;font-stretch:normal;"&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;i&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Deploying and Optimizing SSAS Solutions (15 percent)&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Symbol;"&gt;&lt;span&gt;·&lt;span style="FONT:7pt &amp;#39;Times New Roman&amp;#39;;font-size-adjust:none;font-stretch:normal;"&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Designing Data Mining Solutions (13 percent)&lt;/span&gt;&lt;/i&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;/font&gt;
&lt;p&gt;&lt;i&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;/span&gt;&lt;/i&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;If we compare this with exam &lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;a href="http://www.microsoft.com/learning/exams/70-445.mspx"&gt;&lt;span style="COLOR:blue;"&gt;70-445&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt; we see that data mining is still quite important. Further we see that SSRS gets less attention in exam 70-446.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;/span&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;b&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;70-445 vs 70-446&lt;/span&gt;&lt;/b&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;/font&gt;
&lt;table style="BORDER-RIGHT:medium none;BORDER-TOP:medium none;BORDER-LEFT:medium none;BORDER-BOTTOM:medium none;BORDER-COLLAPSE:collapse;" class="MsoTableGrid" cellspacing="0" cellpadding="0" class="MsoTableGrid"&gt;

&lt;tr&gt;
&lt;td style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;WIDTH:1.5in;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;" class="" valign="top"&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;BORDER-TOP:black 1pt solid;PADDING-BOTTOM:0in;WIDTH:0.7in;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;" class="" valign="top"&gt;&lt;b&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;font face="trebuchet ms,geneva"&gt;70-445&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;BORDER-TOP:black 1pt solid;PADDING-BOTTOM:0in;WIDTH:0.7in;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;" class="" valign="top"&gt;&lt;b&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;font face="trebuchet ms,geneva"&gt;70-446&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:black 1pt solid;WIDTH:1.5in;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;" class="" valign="top"&gt;&lt;b&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;font face="trebuchet ms,geneva"&gt;SSIS&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;WIDTH:0.7in;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;" class="" valign="top"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;font face="trebuchet ms,geneva"&gt;27%&lt;/font&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;WIDTH:0.7in;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;" class="" valign="top"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;font face="trebuchet ms,geneva"&gt;21%&lt;/font&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:black 1pt solid;WIDTH:1.5in;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;" class="" valign="top"&gt;&lt;b&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;font face="trebuchet ms,geneva"&gt;SSAS&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;WIDTH:0.7in;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;" class="" valign="top"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;font face="trebuchet ms,geneva"&gt;30%&lt;/font&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;WIDTH:0.7in;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;" class="" valign="top"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;font face="trebuchet ms,geneva"&gt;37%&lt;/font&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:black 1pt solid;WIDTH:1.5in;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;" class="" valign="top"&gt;&lt;b&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;font face="trebuchet ms,geneva"&gt;SSRS&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;WIDTH:0.7in;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;" class="" valign="top"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;font face="trebuchet ms,geneva"&gt;32%&lt;/font&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;WIDTH:0.7in;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;" class="" valign="top"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;font face="trebuchet ms,geneva"&gt;14%&lt;/font&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:black 1pt solid;WIDTH:1.5in;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;" class="" valign="top"&gt;&lt;b&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;font face="trebuchet ms,geneva"&gt;Data mining&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;WIDTH:0.7in;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;" class="" valign="top"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;font face="trebuchet ms,geneva"&gt;12%&lt;/font&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;WIDTH:0.7in;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;" class="" valign="top"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;font face="trebuchet ms,geneva"&gt;13%&lt;/font&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:black 1pt solid;WIDTH:1.5in;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;" class="" valign="top"&gt;&lt;b&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;font face="trebuchet ms,geneva"&gt;Planning BI Solutions&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;WIDTH:0.7in;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;" class="" valign="top"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;font face="trebuchet ms,geneva"&gt;-&lt;/font&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;WIDTH:0.7in;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;" class="" valign="top"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;font face="trebuchet ms,geneva"&gt;15%&lt;/font&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;
&lt;p&gt;&lt;br /&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;b&gt;Data mining&lt;/b&gt;&amp;nbsp;&lt;br /&gt;Just like with exam 70-445 data mining is an important topic of the exam! It’s important to know when to use the different algorithms that are shipped with SSAS.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Training Kit&lt;/b&gt;&lt;br /&gt;Unfortunately there is no training kit available for this exam. You can find the book on some online bookstores but all with the following message: not available. After some research I found out that this book will never come out. I think MS Press will wait until the 70-446 exam for SQL Server 2008 is available.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Number of questions and completing time&lt;/b&gt;&lt;br /&gt;The exam contains 6 case studies with each 9 or 10 questions. You have 30 minutes for each case, any remaining time from a case won’t go to the next case, so just use your 30 minutes. The 30 minutes were enough for me. I did not study the entire case study in detail before I looked at the questions. I think this is the best thing to do; quickly scan the case study, then look at the questions and then scan the case study for required information regarding the question.&lt;br /&gt;Just like the 70-445 exam you will require a minimum score of 70% for the exam to pass.&lt;/font&gt;&lt;/p&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;font face="trebuchet ms,geneva"&gt;Question types&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;I already mentioned that the 70-446 exam question types were easier than the 70-445 question types. In this exam I only found the&amp;nbsp;question type below, where just one answer can be selected. 70-445 had another 3 question types that were a lot harder then the one below.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;img border="0" alt="QType" src="http://sqlblogcasts.com/photos/jorg/images/5308/secondarythumb.aspx" width="160" height="86" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;b&gt;Some useful tips&lt;br /&gt;&lt;/b&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:Symbol;"&gt;&lt;span&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:Symbol;"&gt;&lt;span&gt;·&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT:7pt &amp;#39;Times New Roman&amp;#39;;font-size-adjust:none;font-stretch:normal;"&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Make sure you know exactly how many cube processing types there are and how they work.&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:Symbol;"&gt;&lt;span&gt;·&lt;span style="FONT:7pt &amp;#39;Times New Roman&amp;#39;;font-size-adjust:none;font-stretch:normal;"&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;You need to be able to read database schemes.&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:Symbol;"&gt;&lt;span&gt;·&lt;span style="FONT:7pt &amp;#39;Times New Roman&amp;#39;;font-size-adjust:none;font-stretch:normal;"&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;The different OLAP types, check &lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;a href="http://sqlblogcasts.com/blogs/jorg/archive/2008/03/27/SSAS-_1320_-MOLAP_2C00_-ROLAP-and-HOLAP-storage-types-.aspx"&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/font&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;font face="trebuchet ms,geneva"&gt; &lt;/font&gt;&lt;span&gt;&lt;font face="trebuchet ms,geneva"&gt;blog of me for more information.&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:Symbol;"&gt;&lt;span&gt;·&lt;span style="FONT:7pt &amp;#39;Times New Roman&amp;#39;;font-size-adjust:none;font-stretch:normal;"&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Data mining is important!&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;br /&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;b&gt;What should you study&lt;br /&gt;&lt;/b&gt;&lt;span&gt;The lack of a training kit and other study materials designed for this exam makes your studying difficult. What should you study and where should you start?&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;font size="2"&gt; &lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&lt;font face="trebuchet ms,geneva"&gt;Microsoft does have a preparation guide for this exam on the &lt;/font&gt;&lt;a class="" title="Learning" href="http://www.microsoft.com/learning/exams/70-446.mspx"&gt;&lt;font face="trebuchet ms,geneva"&gt;Microsoft learning website&lt;/font&gt;&lt;/a&gt;&lt;font face="trebuchet ms,geneva"&gt;. On this page you’ll find the following &lt;u&gt;interesting&lt;/u&gt; topics:&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&lt;/span&gt;&lt;i&gt;&lt;span&gt;&lt;a class="" title="Prep" href="http://www.microsoft.com/learning/exams/70-446.mspx#EAD"&gt;&lt;font face="trebuchet ms,geneva"&gt;Preparation tools and resources&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;This section contains links to classroom courses, Microsoft E-learning resources, Microsoft Press books and practice tests. &lt;br /&gt;I did all the classroom courses and they helped me prepare for the exam! If you have the possibility to take those courses you definitely should!&lt;br /&gt;I personally don’t advise you to buy all the Microsoft Press books to study. It’s just too much information and it will cost a lot of study time.&lt;br /&gt;Practice tests are very useful as preparation, I would advice everybody to purchase a set of preparation questions.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;i&gt;&lt;span&gt;&lt;a class="" title="Skills" href="http://www.microsoft.com/learning/exams/70-446.mspx#E6F"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/font&gt;&lt;br /&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;i&gt;&lt;span&gt;&lt;a class="" title="Skills" href="http://www.microsoft.com/learning/exams/70-446.mspx#E6F"&gt;&lt;font face="trebuchet ms,geneva"&gt;Skills being measured&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&lt;font face="trebuchet ms,geneva"&gt;This list contains all the possible exam topics. If you want to prepare yourself efficiently you should just study every item on this list. Search on Google and books online and you will find enough information! I think this way of preparing for the exam is the best way!&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;b&gt;&lt;span&gt;How did I study&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span&gt;&lt;span&gt;I studied all the topics of the &lt;i&gt;&lt;a class="" title="skills" href="http://www.microsoft.com/learning/exams/70-446.mspx#E6F"&gt;Skills being measured&lt;/a&gt;&lt;/i&gt; list that you will find in the preparation guide.&amp;nbsp;Next to studying the &lt;i&gt;&lt;a class="" title="Skills" href="http://www.microsoft.com/learning/exams/70-446.mspx#E6F"&gt;Skills being measured&lt;/a&gt;&lt;/i&gt;, I&lt;/span&gt;&amp;nbsp;followed all&amp;nbsp;Microsoft Official Courses that are recommended as preparation for this exam:&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;font size="2"&gt; &lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;i&gt;&lt;span&gt;&lt;a class="" title="Skills" href="http://www.microsoft.com/learning/exams/70-446.mspx#E6F"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:140%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;a href="http://www.microsoft.com/learning/syllabi/en-us/2794afinal.mspx"&gt;&lt;span&gt;&lt;font color="#0033cc" size="2" face="trebuchet ms,geneva"&gt;Course 2794&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:140%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;font size="2" face="trebuchet ms,geneva"&gt;: Designing a Business Intelligence Solution Architecture for the Enterprise Using Microsoft SQL Server 2005 (two days)&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:140%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;a href="http://www.microsoft.com/learning/syllabi/en-us/2795afinal.mspx"&gt;&lt;span&gt;&lt;font color="#0033cc" size="2" face="trebuchet ms,geneva"&gt;Course 2795&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:140%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;font size="2" face="trebuchet ms,geneva"&gt;: Designing an ETL Solution Architecture Using Microsoft SQL Server 2005 Integration Services (two days)&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:140%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;a href="http://www.microsoft.com/learning/syllabi/en-us/2796afinal.mspx"&gt;&lt;span&gt;&lt;font color="#0033cc" size="2" face="trebuchet ms,geneva"&gt;Course 2796&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;font size="2"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:140%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;: Designing an Analysis Solution Architecture Using Microsoft SQL Server 2005 Analysis Services (three days)&lt;/span&gt; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:140%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;a href="http://www.microsoft.com/learning/syllabi/en-us/2797afinal.mspx"&gt;&lt;span&gt;&lt;font color="#0033cc" size="2" face="trebuchet ms,geneva"&gt;Course 2797&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:140%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;font size="2" face="trebuchet ms,geneva"&gt;: Designing a Reporting Solution Architecture Using Microsoft SQL Server 2005 Reporting Services (two days)&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;b&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Links&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Below some links to other useful sites/weblogs about the 70-446 exam:&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;/span&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;/font&gt;
&lt;ul&gt;
&lt;li style="MARGIN:0in 0in 10pt;COLOR:black;LINE-HEIGHT:normal;" class="MsoNormal"&gt;&lt;u&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;a title="Andrew Sears&amp;#39;s &amp;quot;Microsoft BI Certifications&amp;quot; article on SQL ServerCentral.com" href="http://bonkster.blogspot.com/2008/02/examen-70-446-business-intelligence.html"&gt;&lt;span style="COLOR:blue;"&gt;&lt;font face="trebuchet ms,geneva"&gt;Bonkster&amp;#39;s SQL Server 2005 Blog (Dutch)&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/u&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;font face="trebuchet ms,geneva"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div style="MARGIN:0in 0in 10pt;COLOR:black;LINE-HEIGHT:normal;" class="MsoNormal"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;a href="http://peterkol.spaces.live.com/blog/cns%2168755AEAC31F9A6C%21196.entry"&gt;&lt;span style="COLOR:blue;"&gt;&lt;font face="trebuchet ms,geneva"&gt;Peter Koller’s blog&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li style="MARGIN:0in 0in 10pt;COLOR:black;LINE-HEIGHT:normal;" class="MsoNormal"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;a href="http://www.microsoft.com/learning/exams/70-446.mspx"&gt;&lt;span style="COLOR:blue;"&gt;&lt;font face="trebuchet ms,geneva"&gt;Microsoft’s preparation guide&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p style="MARGIN:0in 0in 10pt;" class="MsoNormal"&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;If you have any questions, leave them as a comment and I will answer them, if I can. Also, if you have any information&amp;nbsp;regarding the 70-446&amp;nbsp;MCITP exam, please leave a comment.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Good Luck!&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://sqlblogcasts.com/aggbug.aspx?PostID=10247" width="1" height="1"&gt;</content><author><name>jorg</name><uri>http://sqlblogcasts.com/members/jorg.aspx</uri></author><category term="Microsoft Certified Technology Specialist" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/Microsoft+Certified+Technology+Specialist/default.aspx" /><category term="MCTS" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/MCTS/default.aspx" /><category term="70-445" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/70-445/default.aspx" /><category term="70-446" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/70-446/default.aspx" /><category term="MCITP" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/MCITP/default.aspx" /><category term="Exam" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/Exam/default.aspx" /><category term="Microsoft Certified IT Professional" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/Microsoft+Certified+IT+Professional/default.aspx" /><category term="SQL Server 2005" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/SQL+Server+2005/default.aspx" /><category term="Business Intelligence" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/Business+Intelligence/default.aspx" /><category term="BI" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/BI/default.aspx" /></entry><entry><title>SSAS – MOLAP, ROLAP and HOLAP storage types </title><link rel="alternate" type="text/html" href="http://sqlblogcasts.com/blogs/jorg/archive/2008/03/27/SSAS-_1320_-MOLAP_2C00_-ROLAP-and-HOLAP-storage-types-.aspx" /><id>http://sqlblogcasts.com/blogs/jorg/archive/2008/03/27/SSAS-_1320_-MOLAP_2C00_-ROLAP-and-HOLAP-storage-types-.aspx</id><published>2008-03-27T14:33:00Z</published><updated>2008-03-27T14:33:00Z</updated><content type="html">&lt;p&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;font size="2"&gt;&lt;font face="trebuchet ms,geneva"&gt;A big advantage of a BI solution is the existence of a cube. Data and aggregations are stored in a optimized format to offer very fast query performance. &lt;br /&gt;Sometimes, a big disadvantage of storing data and aggregations in a cube is the latency that it implies. SSAS processes data from the underlying relational database into the cube. After this is done the cube is no longer connected to the relational database so changes to this database will not be reflected in the cube. Only when the cube is processed again, the data in the cube will be refreshed.&lt;br /&gt;&lt;br /&gt;SSAS 2005 gives you the possibility to choose different storage types for the following objects:&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;/span&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;font size="2"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;Cubes&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;
&lt;li&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;font size="2"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;Partitions&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;
&lt;li&gt;&lt;font size="2"&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;font size="2"&gt;Dimensions&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;font size="2"&gt;&lt;br style="mso-special-character:line-break;" /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/span&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;font size="2"&gt;MOLAP &lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;/font&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;font size="2"&gt;(Multi dimensional Online Analytical Processing)&lt;br /&gt;MOLAP is the most used storage type. Its designed to offer &lt;b style="mso-bidi-font-weight:normal;"&gt;maximum query performance&lt;/b&gt; to the users. Data AND aggregations are stored in optimized format in the cube. The data inside the cube will refresh only when the cube is processed, so &lt;b style="mso-bidi-font-weight:normal;"&gt;latency is high&lt;/b&gt;.&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt; 
&lt;p&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;font size="2"&gt;ROLAP&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;/font&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;font size="2"&gt; (Relational Online Analytical Processing)&lt;br /&gt;ROLAP does not have the high latency disadvantage of MOLAP. With ROLAP, the data and aggregations are stored in relational format. This means that there will be &lt;b style="mso-bidi-font-weight:normal;"&gt;zero latency&lt;/b&gt; between the relational source database and the cube. &lt;br /&gt;Disadvantage of this mode is the performance, this type gives the &lt;b style="mso-bidi-font-weight:normal;"&gt;poorest query performance&lt;/b&gt; because no objects benefit&amp;nbsp;from multi dimensional storage.&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;font size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;/font&gt; &lt;/p&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;font size="2"&gt;HOLAP &lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;/font&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;font size="2"&gt;(Hybrid Online Analytical Processing)&lt;br /&gt;HOLAP is a storage type between MOLAP and ROLAP. Data will be stored in relational format(ROLAP), so there will also be &lt;b style="mso-bidi-font-weight:normal;"&gt;zero latency&lt;/b&gt; with this storage type. &lt;br /&gt;Aggregations, on the other hand, are stored in multi dimensional format(MOLAP) in the cube to give better query performance. SSAS will listen to notifications from the source relational database, when changes are made, SSAS will get a notification and will process the aggregations again.&lt;br /&gt;With this mode it’s possible to offer zero latency to the users but with &lt;b style="mso-bidi-font-weight:normal;"&gt;medium query performance&lt;/b&gt; compared to MOLAP and ROLAP.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The different storage types of SSAS:&lt;/font&gt;&lt;/span&gt; &lt;br /&gt;&lt;/font&gt;
&lt;table style="BORDER-RIGHT:medium none;BORDER-TOP:medium none;BORDER-LEFT:medium none;BORDER-BOTTOM:medium none;BORDER-COLLAPSE:collapse;mso-table-layout-alt:fixed;mso-border-alt:solid black .5pt;mso-border-themecolor:text1;mso-yfti-tbllook:1184;mso-padding-alt:0in 5.4pt 0in 5.4pt;" class="MsoTableGrid" cellspacing="0" cellpadding="0" class="MsoTableGrid"&gt;

&lt;tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;"&gt;
&lt;td style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;BORDER-TOP:#d4d0c8;PADDING-BOTTOM:0in;BORDER-LEFT:#d4d0c8;WIDTH:1in;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;mso-border-bottom-themecolor:text1;mso-border-right-themecolor:text1;mso-border-bottom-alt:solid black .5pt;mso-border-right-alt:solid black .5pt;" class="" valign="top"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;font size="2" face="trebuchet ms,geneva"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;BORDER-TOP:black 1pt solid;PADDING-BOTTOM:0in;BORDER-LEFT:#d4d0c8;WIDTH:1.5in;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;mso-border-alt:solid black .5pt;mso-border-themecolor:text1;mso-border-left-alt:solid black .5pt;mso-border-left-themecolor:text1;" class="" valign="top"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;font size="2"&gt;&lt;font face="trebuchet ms,geneva"&gt;Data storage&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;BORDER-TOP:black 1pt solid;PADDING-BOTTOM:0in;BORDER-LEFT:#d4d0c8;WIDTH:1.5in;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;mso-border-alt:solid black .5pt;mso-border-themecolor:text1;mso-border-left-alt:solid black .5pt;mso-border-left-themecolor:text1;" class="" valign="top"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;font size="2"&gt;&lt;font face="trebuchet ms,geneva"&gt;Aggregations storage&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;BORDER-TOP:black 1pt solid;PADDING-BOTTOM:0in;BORDER-LEFT:#d4d0c8;WIDTH:1.5in;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;mso-border-alt:solid black .5pt;mso-border-themecolor:text1;mso-border-left-alt:solid black .5pt;mso-border-left-themecolor:text1;" class="" valign="top"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;font size="2"&gt;&lt;font face="trebuchet ms,geneva"&gt;Query performance&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;BORDER-TOP:black 1pt solid;PADDING-BOTTOM:0in;BORDER-LEFT:#d4d0c8;WIDTH:1.5in;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;mso-border-alt:solid black .5pt;mso-border-themecolor:text1;mso-border-left-alt:solid black .5pt;mso-border-left-themecolor:text1;" class="" valign="top"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;font size="2"&gt;&lt;font face="trebuchet ms,geneva"&gt;Latency&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:1;"&gt;
&lt;td style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;BORDER-TOP:#d4d0c8;PADDING-BOTTOM:0in;BORDER-LEFT:black 1pt solid;WIDTH:1in;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;mso-border-alt:solid black .5pt;mso-border-themecolor:text1;mso-border-top-alt:solid black .5pt;mso-border-top-themecolor:text1;" class="" valign="top"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;font size="2"&gt;&lt;font face="trebuchet ms,geneva"&gt;MOLAP&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;BORDER-TOP:#d4d0c8;PADDING-BOTTOM:0in;BORDER-LEFT:#d4d0c8;WIDTH:1.5in;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;mso-border-alt:solid black .5pt;mso-border-themecolor:text1;mso-border-bottom-themecolor:text1;mso-border-right-themecolor:text1;mso-border-left-alt:solid black .5pt;mso-border-left-themecolor:text1;mso-border-top-alt:solid black .5pt;mso-border-top-themecolor:text1;" class="" valign="top"&gt;
&lt;p&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;font size="2"&gt;&lt;font face="trebuchet ms,geneva"&gt;Cube&lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;BORDER-TOP:#d4d0c8;PADDING-BOTTOM:0in;BORDER-LEFT:#d4d0c8;WIDTH:1.5in;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;mso-border-alt:solid black .5pt;mso-border-themecolor:text1;mso-border-bottom-themecolor:text1;mso-border-right-themecolor:text1;mso-border-left-alt:solid black .5pt;mso-border-left-themecolor:text1;mso-border-top-alt:solid black .5pt;mso-border-top-themecolor:text1;" class="" valign="top"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;font size="2"&gt;&lt;font face="trebuchet ms,geneva"&gt;Cube&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;BORDER-TOP:#d4d0c8;PADDING-BOTTOM:0in;BORDER-LEFT:#d4d0c8;WIDTH:1.5in;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;mso-border-alt:solid black .5pt;mso-border-themecolor:text1;mso-border-bottom-themecolor:text1;mso-border-right-themecolor:text1;mso-border-left-alt:solid black .5pt;mso-border-left-themecolor:text1;mso-border-top-alt:solid black .5pt;mso-border-top-themecolor:text1;" class="" valign="top"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;font size="2"&gt;&lt;font face="trebuchet ms,geneva"&gt;High&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;BORDER-TOP:#d4d0c8;PADDING-BOTTOM:0in;BORDER-LEFT:#d4d0c8;WIDTH:1.5in;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;mso-border-alt:solid black .5pt;mso-border-themecolor:text1;mso-border-bottom-themecolor:text1;mso-border-right-themecolor:text1;mso-border-left-alt:solid black .5pt;mso-border-left-themecolor:text1;mso-border-top-alt:solid black .5pt;mso-border-top-themecolor:text1;" class="" valign="top"&gt;
&lt;p style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;" class="MsoNormal"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;font size="2" face="trebuchet ms,geneva"&gt;High&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:2;"&gt;
&lt;td style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;BORDER-TOP:#d4d0c8;PADDING-BOTTOM:0in;BORDER-LEFT:black 1pt solid;WIDTH:1in;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;mso-border-alt:solid black .5pt;mso-border-themecolor:text1;mso-border-top-alt:solid black .5pt;mso-border-top-themecolor:text1;" class="" valign="top"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;font size="2"&gt;&lt;font face="trebuchet ms,geneva"&gt;HOLAP&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;BORDER-TOP:#d4d0c8;PADDING-BOTTOM:0in;BORDER-LEFT:#d4d0c8;WIDTH:1.5in;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;mso-border-alt:solid black .5pt;mso-border-themecolor:text1;mso-border-bottom-themecolor:text1;mso-border-right-themecolor:text1;mso-border-left-alt:solid black .5pt;mso-border-left-themecolor:text1;mso-border-top-alt:solid black .5pt;mso-border-top-themecolor:text1;" class="" valign="top"&gt;
&lt;p style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;" class="MsoNormal"&gt;&lt;font size="2"&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;Relation&lt;/span&gt;al database&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;BORDER-TOP:#d4d0c8;PADDING-BOTTOM:0in;BORDER-LEFT:#d4d0c8;WIDTH:1.5in;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;mso-border-alt:solid black .5pt;mso-border-themecolor:text1;mso-border-bottom-themecolor:text1;mso-border-right-themecolor:text1;mso-border-left-alt:solid black .5pt;mso-border-left-themecolor:text1;mso-border-top-alt:solid black .5pt;mso-border-top-themecolor:text1;" class="" valign="top"&gt;
&lt;p style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;" class="MsoNormal"&gt;&lt;font size="2" face="trebuchet ms,geneva"&gt;Cube&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;BORDER-TOP:#d4d0c8;PADDING-BOTTOM:0in;BORDER-LEFT:#d4d0c8;WIDTH:1.5in;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;mso-border-alt:solid black .5pt;mso-border-themecolor:text1;mso-border-bottom-themecolor:text1;mso-border-right-themecolor:text1;mso-border-left-alt:solid black .5pt;mso-border-left-themecolor:text1;mso-border-top-alt:solid black .5pt;mso-border-top-themecolor:text1;" class="" valign="top"&gt;
&lt;p style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;" class="MsoNormal"&gt;&lt;font size="2" face="trebuchet ms,geneva"&gt;Medium&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;BORDER-TOP:#d4d0c8;PADDING-BOTTOM:0in;BORDER-LEFT:#d4d0c8;WIDTH:1.5in;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;mso-border-alt:solid black .5pt;mso-border-themecolor:text1;mso-border-bottom-themecolor:text1;mso-border-right-themecolor:text1;mso-border-left-alt:solid black .5pt;mso-border-left-themecolor:text1;mso-border-top-alt:solid black .5pt;mso-border-top-themecolor:text1;" class="" valign="top"&gt;
&lt;p style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;" class="MsoNormal"&gt;&lt;font size="2" face="trebuchet ms,geneva"&gt;Low (none)&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:3;mso-yfti-lastrow:yes;"&gt;
&lt;td style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;BORDER-TOP:#d4d0c8;PADDING-BOTTOM:0in;BORDER-LEFT:black 1pt solid;WIDTH:1in;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;mso-border-alt:solid black .5pt;mso-border-themecolor:text1;mso-border-top-alt:solid black .5pt;mso-border-top-themecolor:text1;" class="" valign="top"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;font size="2"&gt;&lt;font face="trebuchet ms,geneva"&gt;ROLAP&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;BORDER-TOP:#d4d0c8;PADDING-BOTTOM:0in;BORDER-LEFT:#d4d0c8;WIDTH:1.5in;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;mso-border-alt:solid black .5pt;mso-border-themecolor:text1;mso-border-bottom-themecolor:text1;mso-border-right-themecolor:text1;mso-border-left-alt:solid black .5pt;mso-border-left-themecolor:text1;mso-border-top-alt:solid black .5pt;mso-border-top-themecolor:text1;" class="" valign="top"&gt;
&lt;p style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;" class="MsoNormal"&gt;&lt;font size="2" face="trebuchet ms,geneva"&gt;Relational database&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;BORDER-TOP:#d4d0c8;PADDING-BOTTOM:0in;BORDER-LEFT:#d4d0c8;WIDTH:1.5in;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;mso-border-alt:solid black .5pt;mso-border-themecolor:text1;mso-border-bottom-themecolor:text1;mso-border-right-themecolor:text1;mso-border-left-alt:solid black .5pt;mso-border-left-themecolor:text1;mso-border-top-alt:solid black .5pt;mso-border-top-themecolor:text1;" class="" valign="top"&gt;
&lt;p style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;" class="MsoNormal"&gt;&lt;font size="2" face="trebuchet ms,geneva"&gt;Relational database&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;BORDER-TOP:#d4d0c8;PADDING-BOTTOM:0in;BORDER-LEFT:#d4d0c8;WIDTH:1.5in;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;mso-border-alt:solid black .5pt;mso-border-themecolor:text1;mso-border-bottom-themecolor:text1;mso-border-right-themecolor:text1;mso-border-left-alt:solid black .5pt;mso-border-left-themecolor:text1;mso-border-top-alt:solid black .5pt;mso-border-top-themecolor:text1;" class="" valign="top"&gt;
&lt;p style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;" class="MsoNormal"&gt;&lt;font size="2" face="trebuchet ms,geneva"&gt;Low&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;BORDER-TOP:#d4d0c8;PADDING-BOTTOM:0in;BORDER-LEFT:#d4d0c8;WIDTH:1.5in;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;mso-border-alt:solid black .5pt;mso-border-themecolor:text1;mso-border-bottom-themecolor:text1;mso-border-right-themecolor:text1;mso-border-left-alt:solid black .5pt;mso-border-left-themecolor:text1;mso-border-top-alt:solid black .5pt;mso-border-top-themecolor:text1;" class="" valign="top"&gt;
&lt;p style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;" class="MsoNormal"&gt;&lt;font size="2" face="trebuchet ms,geneva"&gt;Low (none)&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;font size="2"&gt;&lt;font face="trebuchet ms,geneva"&gt;Conclusion&lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/span&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;font size="2"&gt;SSAS offers three storage types that give you all the flexibility you need. You can choose between high performance and high latency on one side(MOLAP) and lower performance but low latency(ROLAP) on the other side. There is also a possibility to choose a way in between(HOLAP).&lt;/font&gt;&lt;/span&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;font size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt; &lt;/font&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://sqlblogcasts.com/aggbug.aspx?PostID=10244" width="1" height="1"&gt;</content><author><name>jorg</name><uri>http://sqlblogcasts.com/members/jorg.aspx</uri></author><category term="SQL Server Analysis Services" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/SQL+Server+Analysis+Services/default.aspx" /><category term="SSAS" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/SSAS/default.aspx" /><category term="SSAS Storage types" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/SSAS+Storage+types/default.aspx" /><category term="MOLAP" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/MOLAP/default.aspx" /><category term="ROLAP" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/ROLAP/default.aspx" /><category term="HOLAP" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/HOLAP/default.aspx" /><category term="Latency" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/Latency/default.aspx" /><category term="Multi dimensional Online Analytical Processing" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/Multi+dimensional+Online+Analytical+Processing/default.aspx" /><category term="Relational Online Analytical Processing" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/Relational+Online+Analytical+Processing/default.aspx" /><category term="Hybrid Online Analytical Processing" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/Hybrid+Online+Analytical+Processing/default.aspx" /></entry><entry><title>SSIS – Non-blocking, Semi-blocking and Fully-blocking components</title><link rel="alternate" type="text/html" href="http://sqlblogcasts.com/blogs/jorg/archive/2008/02/27/SSIS-_1320_-Non_2D00_blocking_2C00_-Semi_2D00_blocking-and-Fully_2D00_blocking-components.aspx" /><id>http://sqlblogcasts.com/blogs/jorg/archive/2008/02/27/SSIS-_1320_-Non_2D00_blocking_2C00_-Semi_2D00_blocking-and-Fully_2D00_blocking-components.aspx</id><published>2008-02-27T15:59:00Z</published><updated>2008-02-27T15:59:00Z</updated><content type="html">&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;b&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Trebuchet MS','sans-serif';"&gt;&lt;/span&gt;&lt;/b&gt;&lt;i&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Trebuchet MS','sans-serif';"&gt;How can you recognize these three component types, what is their inner working and do they acquire new buffers and/or threads?&lt;br&gt;&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Trebuchet MS','sans-serif';"&gt;&lt;br&gt;&lt;b&gt;Synchronous vs Asynchronous &lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Trebuchet MS','sans-serif';"&gt;The SSIS dataflow contain three types of transformations. They can be non-blocking, semi-blocking or fully-blocking. Before I explain how you can recognize these types and what their properties are its important to know that all the dataflow components can be categorized to be either synchronous or asynchronous. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpFirst" style="margin:0in 0in 0pt 0.5in;text-indent:-0.25in;"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:Symbol;"&gt;&lt;span&gt;·&lt;span style="font-family:'Times New Roman';font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;font-size-adjust:none;font-stretch:normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Trebuchet MS','sans-serif';"&gt;Synchronous components&lt;br&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Trebuchet MS','sans-serif';"&gt;The output of an synchronous component &lt;b&gt;uses the same buffer as the input&lt;/b&gt;. Reusing of the input buffer is possible because the output of an synchronous component always contain exactly the same number of records as the input. Number of records IN == Number of records OUT.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast" style="margin:0in 0in 10pt 0.5in;text-indent:-0.25in;"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:Symbol;"&gt;&lt;span&gt;·&lt;span style="font-family:'Times New Roman';font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;font-size-adjust:none;font-stretch:normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Trebuchet MS','sans-serif';"&gt;Asynchronous components&lt;br&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Trebuchet MS','sans-serif';"&gt;The output of an asynchronous component &lt;b&gt;uses a new buffer&lt;/b&gt;. It’s not possible to reuse the input buffer because an asynchronous component &lt;u&gt;can&lt;/u&gt; have more or less output records then input records. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Trebuchet MS','sans-serif';"&gt;The only thing you need to remember is that synchronous components reuse buffers and therefore are generally faster than asynchronous components, that need a new buffer. &lt;br&gt;&lt;br&gt;All source adapters are asynchronous, they create two buffers; one for the success output and one for the error output. All destination adapters on the other hand, are synchronous.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;Non-blocking, Semi-blocking and Fully-blocking &lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Trebuchet MS','sans-serif';"&gt;In the table below the differences between the three transformation types are summarized. As you can see it’s not that hard to identify the three types. &lt;br&gt;On the internet are a lot of large and complicated articles about this subject, but I think it’s enough to look at the core differences between the three types to understand their working and (dis)advantages:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style="border:medium none;border-collapse:collapse;" class="MsoTableGrid" cellpadding="0" cellspacing="0"&gt;

&lt;tr&gt;
&lt;td style="border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0in 5.4pt;width:239.4pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style:solid solid solid none;border-width:1pt 1pt 1pt medium;padding:0in 5.4pt;width:76.5pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;text-align:center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;Non-blocking&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style:solid solid solid none;border-width:1pt 1pt 1pt medium;padding:0in 5.4pt;width:76.5pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;text-align:center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;Semi-blocking&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style:solid solid solid none;border-width:1pt 1pt 1pt medium;padding:0in 5.4pt;width:77.4pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;text-align:center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;Fully-blocking&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border-style:none solid solid;border-width:medium 1pt 1pt;padding:0in 5.4pt;width:239.4pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;Synchronous or asynchronous&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0in 5.4pt;width:76.5pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;text-align:center;" align="center"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;Synchronous&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0in 5.4pt;width:76.5pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;text-align:center;" align="center"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;Asynchronous&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0in 5.4pt;width:77.4pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;text-align:center;" align="center"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;Asynchronous&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border-style:none solid solid;border-width:medium 1pt 1pt;padding:0in 5.4pt;width:239.4pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;Number of rows in == number of rows out&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0in 5.4pt;width:76.5pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;text-align:center;" align="center"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;True&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0in 5.4pt;width:76.5pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;text-align:center;" align="center"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;Usually False&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0in 5.4pt;width:77.4pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;text-align:center;" align="center"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;Usually False&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border-style:none solid solid;border-width:medium 1pt 1pt;padding:0in 5.4pt;width:239.4pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;Must read all input before they can output&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0in 5.4pt;width:76.5pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;text-align:center;" align="center"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;False&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0in 5.4pt;width:76.5pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;text-align:center;" align="center"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;False&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0in 5.4pt;width:77.4pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;text-align:center;" align="center"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;True&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border-style:none solid solid;border-width:medium 1pt 1pt;padding:0in 5.4pt;width:239.4pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;New buffer created?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0in 5.4pt;width:76.5pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;text-align:center;" align="center"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;False&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0in 5.4pt;width:76.5pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;text-align:center;" align="center"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;True&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0in 5.4pt;width:77.4pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;text-align:center;" align="center"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;True&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border-style:none solid solid;border-width:medium 1pt 1pt;padding:0in 5.4pt;width:239.4pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;New thread created?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0in 5.4pt;width:76.5pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;text-align:center;" align="center"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;False&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0in 5.4pt;width:76.5pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;text-align:center;" align="center"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;Usually True&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0in 5.4pt;width:77.4pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;text-align:center;" align="center"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;True&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br&gt;&lt;br&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;b&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Trebuchet MS','sans-serif';"&gt;All SSIS 2005 transformations categorized:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;table style="border:medium none;border-collapse:collapse;" class="MsoTableGrid" cellpadding="0" cellspacing="0"&gt;

&lt;tr&gt;
&lt;td style="border:1pt solid black;padding:0in 5.4pt;width:152.75pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;b&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;Non-blocking transformations&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style:solid solid solid none;border-width:1pt 1pt 1pt medium;padding:0in 5.4pt;width:152.75pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;b&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;Semi-blocking transformations&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style:solid solid solid none;border-width:1pt 1pt 1pt medium;padding:0in 5.4pt;width:152.8pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;b&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;Blocking transformations&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border-style:none solid solid;border-width:medium 1pt 1pt;padding:0in 5.4pt;width:152.75pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;Audit&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0in 5.4pt;width:152.75pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;Data Mining Query&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0in 5.4pt;width:152.8pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;Aggregate&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border-style:none solid solid;border-width:medium 1pt 1pt;padding:0in 5.4pt;width:152.75pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;Character Map&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0in 5.4pt;width:152.75pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;Merge&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0in 5.4pt;width:152.8pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;Fuzzy Grouping&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border-style:none solid solid;border-width:medium 1pt 1pt;padding:0in 5.4pt;width:152.75pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;Conditional Split&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0in 5.4pt;width:152.75pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;Merge Join&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0in 5.4pt;width:152.8pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;Fuzzy Lookup&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border-style:none solid solid;border-width:medium 1pt 1pt;padding:0in 5.4pt;width:152.75pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;Copy Column&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0in 5.4pt;width:152.75pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;Pivot&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0in 5.4pt;width:152.8pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;Row Sampling&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border-style:none solid solid;border-width:medium 1pt 1pt;padding:0in 5.4pt;width:152.75pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;Data Conversion&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0in 5.4pt;width:152.75pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;Unpivot&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0in 5.4pt;width:152.8pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;Sort&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border-style:none solid solid;border-width:medium 1pt 1pt;padding:0in 5.4pt;width:152.75pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;Derived Column&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0in 5.4pt;width:152.75pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;Term Lookup&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0in 5.4pt;width:152.8pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;Term Extraction&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border-style:none solid solid;border-width:medium 1pt 1pt;padding:0in 5.4pt;width:152.75pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;Lookup&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0in 5.4pt;width:152.75pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;Union All&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="padding:0in 5.4pt;width:152.8pt;background-color:transparent;" rowspan="9" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border-style:none solid solid;border-width:medium 1pt 1pt;padding:0in 5.4pt;width:152.75pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;Multicast&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="padding:0in 5.4pt;width:152.75pt;background-color:transparent;" rowspan="8" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border-style:none solid solid;border-width:medium 1pt 1pt;padding:0in 5.4pt;width:152.75pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;Percent Sampling&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border-style:none solid solid;border-width:medium 1pt 1pt;padding:0in 5.4pt;width:152.75pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;Row Count&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border-style:none solid solid;border-width:medium 1pt 1pt;padding:0in 5.4pt;width:152.75pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;Script Component&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border-style:none solid solid;border-width:medium 1pt 1pt;padding:0in 5.4pt;width:152.75pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;Export Column&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border-style:none solid solid;border-width:medium 1pt 1pt;padding:0in 5.4pt;width:152.75pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;Import Column&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border-style:none solid solid;border-width:medium 1pt 1pt;padding:0in 5.4pt;width:152.75pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;Slowly Changing Dimension&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border-style:none solid solid;border-width:medium 1pt 1pt;padding:0in 5.4pt;width:152.75pt;background-color:transparent;" valign="top"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Trebuchet MS','sans-serif';"&gt;OLE DB Command&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Trebuchet MS','sans-serif';"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Trebuchet MS','sans-serif';"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://sqlblogcasts.com/aggbug.aspx?PostID=7958" width="1" height="1"&gt;</content><author><name>jorg</name><uri>http://sqlblogcasts.com/members/jorg.aspx</uri></author><category term="SQL Server 2005" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/SQL+Server+2005/default.aspx" /><category term="SQL Server Integration Services" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/SQL+Server+Integration+Services/default.aspx" /><category term="SSIS" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/SSIS/default.aspx" /><category term="SSIS Caching" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/SSIS+Caching/default.aspx" /><category term="Non-blocking components" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/Non-blocking+components/default.aspx" /><category term="Semi-blocking components" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/Semi-blocking+components/default.aspx" /><category term="Fully-blocking components" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/Fully-blocking+components/default.aspx" /><category term="Synchronous components" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/Synchronous+components/default.aspx" /><category term="Asynchronous components" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/Asynchronous+components/default.aspx" /><category term="Buffers" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/Buffers/default.aspx" /><category term="Threads" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/Threads/default.aspx" /><category term="Transformations" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/Transformations/default.aspx" /><category term="Performance tuning" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/Performance+tuning/default.aspx" /></entry><entry><title>SSIS – Lookup Transformation is case sensitive</title><link rel="alternate" type="text/html" href="http://sqlblogcasts.com/blogs/jorg/archive/2008/02/12/SSIS-_1320_-Lookup-Transformation-is-case-sensitive.aspx" /><id>http://sqlblogcasts.com/blogs/jorg/archive/2008/02/12/SSIS-_1320_-Lookup-Transformation-is-case-sensitive.aspx</id><published>2008-02-12T15:34:00Z</published><updated>2008-02-12T15:34:00Z</updated><content type="html">&lt;P class=MsoNormal style="MARGIN:0in 0in 10pt;"&gt;&lt;SPAN style="mso-ansi-language:EN-US;"&gt;&lt;FONT face="trebuchet ms,geneva"&gt;A while ago I figured out that the lookup transformation is case sensitive. &lt;BR&gt;I used a lookup to find dimension table members in for my fact table records. This was done on a String business key like ‘AA12BB’. I attached a table for the error output and after running the package I found one record in this table.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 10pt;"&gt;&lt;SPAN style="mso-ansi-language:EN-US;"&gt;&lt;FONT face="trebuchet ms,geneva"&gt;This record had a business key like ‘A&lt;STRONG&gt;a&lt;/STRONG&gt;12BB’. I searched the dimension table for this missing record and it surprised me, it DID exist but with the following business key: ‘AA12BB’. It seemed the lookup transformation is case sensitive. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 10pt;"&gt;&lt;SPAN style="mso-ansi-language:EN-US;"&gt;&lt;FONT face="trebuchet ms,geneva"&gt;Next thing I tried was a T-SQL query in the management studio of SQL Server 2005. In the WHERE clause I referred to the business key: ‘A&lt;STRONG&gt;a&lt;/STRONG&gt;12BB’. The query returned the record with business key ‘AA12BB’. Conclusion: SQL Server is not case sensitive but the SSIS lookup component IS case sensitive… Interesting.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="mso-ansi-language:EN-US;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 10pt;"&gt;&lt;BR&gt;&lt;FONT face="trebuchet ms,geneva"&gt;&lt;B style="mso-bidi-font-weight:normal;"&gt;Solution:&lt;BR&gt;&lt;/B&gt;After some research I found a few solutions for this interesting&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;feature of the lookup transformation. Before I explain these solutions you must know something about the inner working of the lookup component. &lt;BR&gt;&lt;BR&gt;A lookup transformation uses full caching by default. This means that the first thing it does on execution, is loading all the lookup data in its cache. When this is done it works as expected, but with case sensitivity.&lt;BR&gt;&lt;BR&gt;The solution is to set the &lt;I style="mso-bidi-font-style:normal;"&gt;CacheType&lt;/I&gt; property of the lookup transformation to Partial or None, the lookup comparisons will now be done by SQL Server and not by the SSIS lookup component.&lt;BR&gt;Another solution is to format the data before you do the lookup. You can do this using the T-SQL LOWER() or UPPER() functions. These functions can be used in a query or for example in a derived column SSIS component.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 10pt;"&gt;&lt;FONT face="trebuchet ms,geneva"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://sqlblogcasts.com/aggbug.aspx?PostID=7215" width="1" height="1"&gt;</content><author><name>jorg</name><uri>http://sqlblogcasts.com/members/jorg.aspx</uri></author><category term="SQL Server 2005" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/SQL+Server+2005/default.aspx" /><category term="SQL Server Integration Services" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/SQL+Server+Integration+Services/default.aspx" /><category term="Business Intelligence" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/Business+Intelligence/default.aspx" /><category term="BIDS" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/BIDS/default.aspx" /><category term="SSIS" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/SSIS/default.aspx" /><category term="BI" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/BI/default.aspx" /><category term="Lookup Transformation" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/Lookup+Transformation/default.aspx" /><category term="SSIS Caching" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/SSIS+Caching/default.aspx" /></entry><entry><title>SSRS – Static column headers in a Matrix</title><link rel="alternate" type="text/html" href="http://sqlblogcasts.com/blogs/jorg/archive/2007/12/12/SSRS-_1320_-Static-column-headers-in-a-Matrix.aspx" /><id>http://sqlblogcasts.com/blogs/jorg/archive/2007/12/12/SSRS-_1320_-Static-column-headers-in-a-Matrix.aspx</id><published>2007-12-12T15:36:00Z</published><updated>2007-12-12T15:36:00Z</updated><content type="html">&lt;p style="MARGIN:0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;font face="trebuchet ms,geneva"&gt;How do you create a static column header centered above your dynamic columns? One way to try achieving this is to place&amp;nbsp;a &lt;/font&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;font face="trebuchet ms,geneva"&gt;textbox above your dynamic columns. One thing is for sure, the textbox will never be on the perfect centered location and what if the number of dynamic columns grow or shrink?&amp;nbsp;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;font face="trebuchet ms,geneva"&gt;&amp;nbsp;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;font face="trebuchet ms,geneva"&gt;Thing you need to do is to create a static column group. You do this by adding a new column group to the matrix and give it a static expression, for example: &lt;em&gt;=”static”&lt;/em&gt;&lt;br /&gt;Now make it the top group by clicking Up for the static column group on the Groups tab of the matrix’s properties. You can also achieve this by just dragging the column group up in the layout view.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;br /&gt;&lt;img src="http://sqlblogcasts.com/photos/jorg/images/5466/original.aspx" alt="" /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;font face="trebuchet ms,geneva"&gt;
&lt;p&gt;&lt;br /&gt;The result, a centered and perfect aligned column header with the text “YTD” above some dynamic columns containing years:&lt;/p&gt;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;img src="http://sqlblogcasts.com/photos/jorg/images/5469/original.aspx" alt="" /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt; 
&lt;p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://sqlblogcasts.com/aggbug.aspx?PostID=5468" width="1" height="1"&gt;</content><author><name>jorg</name><uri>http://sqlblogcasts.com/members/jorg.aspx</uri></author><category term="SQL Server 2005" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/SQL+Server+2005/default.aspx" /><category term="SQL Server Reporting Services" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/SQL+Server+Reporting+Services/default.aspx" /><category term="Business Intelligence" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/Business+Intelligence/default.aspx" /><category term="BIDS" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/BIDS/default.aspx" /><category term="Layout" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/Layout/default.aspx" /><category term="SSRS" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/SSRS/default.aspx" /><category term="Matrix" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/Matrix/default.aspx" /><category term="Expressions" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/Expressions/default.aspx" /><category term="BI" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/BI/default.aspx" /></entry><entry><title>SSRS - Custom expressions for subtotals in a matrix</title><link rel="alternate" type="text/html" href="http://sqlblogcasts.com/blogs/jorg/archive/2007/12/06/SSRS-_2D00_-Custom-expressions-for-subtotals-in-a-matrix.aspx" /><id>http://sqlblogcasts.com/blogs/jorg/archive/2007/12/06/SSRS-_2D00_-Custom-expressions-for-subtotals-in-a-matrix.aspx</id><published>2007-12-06T14:14:00Z</published><updated>2007-12-06T14:14:00Z</updated><content type="html">&lt;p style="MARGIN:0in 0in 10pt;" class="MsoNormal"&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;i&gt;&lt;span&gt;If you want custom expressions for your subtotals in a matrix, for example to calculate an average &lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span&gt;instead of the default sum, you need to use the InScope() and Iif() functions in your data field…&lt;/span&gt;&lt;/i&gt;&lt;/font&gt;&lt;/p&gt;&lt;i&gt;&lt;span&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/i&gt;
&lt;p style="MARGIN:0in 0in 10pt;" class="MsoNormal"&gt;&lt;span&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;br /&gt;When you create a matrix with SSRS 2005 you get the following default groups:&lt;br /&gt;A row group named:&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;matrix1_RowGroup1&lt;br /&gt;A column group named:&amp;nbsp;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;matrix1_ColumnGroup1&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 10pt;" class="MsoNormal"&gt;&lt;span&gt;&lt;font face="trebuchet ms,geneva"&gt;With the normal functionalities you can’t change much on the behavior of your subtotals in your matrix. When you create a subtotal it calculates a subtotal and that’s about it ;-)&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 10pt;" class="MsoNormal"&gt;&lt;span&gt;&lt;br /&gt;&lt;font face="trebuchet ms,geneva"&gt;If you use the following expression in the data field of your matrix you can take full control on the behavior of all your subtotals:&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;" class="MsoNormal"&gt;&lt;i&gt;&lt;span&gt;&lt;font face="trebuchet ms,geneva"&gt;=Iif(InScope(&lt;span style="COLOR:maroon;"&gt;&amp;quot;matrix1_ColumnGroup1&amp;quot;&lt;/span&gt;), &lt;/font&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0pt;TEXT-INDENT:35.4pt;LINE-HEIGHT:normal;" class="MsoNormal"&gt;&lt;i&gt;&lt;span&gt;&lt;font face="trebuchet ms,geneva"&gt;Iif(InScope(&lt;span style="COLOR:maroon;"&gt;&amp;quot;matrix1_RowGroup1&amp;quot;&lt;/span&gt;), &lt;/font&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;" class="MsoNormal"&gt;&lt;i&gt;&lt;span&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:maroon;"&gt;&amp;quot;In Cell&amp;quot;&lt;/span&gt;, &lt;/font&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;" class="MsoNormal"&gt;&lt;i&gt;&lt;span&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:maroon;"&gt;&amp;quot;In Subtotal of RowGroup1&amp;quot;&lt;/span&gt;), &lt;/font&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;" class="MsoNormal"&gt;&lt;i&gt;&lt;span&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Iif(InScope(&lt;span style="COLOR:maroon;"&gt;&amp;quot;matrix1_RowGroup1&amp;quot;&lt;/span&gt;), &lt;/font&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;" class="MsoNormal"&gt;&lt;i&gt;&lt;span&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR:maroon;"&gt;&amp;quot;In Subtotal of ColumnGroup1&amp;quot;&lt;/span&gt;, &lt;/font&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;" class="MsoNormal"&gt;&lt;i&gt;&lt;span&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR:maroon;"&gt;&amp;quot;In Subtotal of entire matrix&amp;quot;&lt;/span&gt;))&lt;/font&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;" class="MsoNormal"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;" class="MsoNormal"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;" class="MsoNormal"&gt;&lt;span&gt;&lt;font face="trebuchet ms,geneva"&gt;Replace &lt;i&gt;&lt;span style="COLOR:maroon;"&gt;&amp;quot;In Cell&amp;quot;&lt;/span&gt;&lt;/i&gt;, &lt;i&gt;&lt;span style="COLOR:maroon;"&gt;&amp;quot;In Subtotal of RowGroup1&amp;quot;&lt;/span&gt;&lt;/i&gt;, &lt;i&gt;&lt;span style="COLOR:maroon;"&gt;&amp;quot;In Subtotal of ColumnGroup1&amp;quot;&lt;/span&gt;&lt;/i&gt; and/or &lt;/font&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;i&gt;&lt;span style="COLOR:maroon;"&gt;&amp;quot;In Subtotal of entire matrix&amp;quot;&lt;/span&gt;&lt;/i&gt; with the expressions or fields that you want.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;span&gt;&lt;font face="trebuchet ms,geneva"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt; 
&lt;p style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;" class="MsoNormal"&gt;&lt;span&gt;&lt;br /&gt;&lt;font face="trebuchet ms,geneva"&gt;For example, if you want to calculate an average:&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;" class="MsoNormal"&gt;&lt;span&gt;&lt;font face="trebuchet ms,geneva"&gt;Replace &lt;i&gt;&lt;span style="COLOR:maroon;"&gt;&amp;quot;In Cell&amp;quot;&lt;/span&gt;&lt;/i&gt; with &lt;i&gt;Sum(Fields!Amount.Value)&lt;/i&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 10pt;" class="MsoNormal"&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;span&gt;Replace &lt;i&gt;&lt;span style="COLOR:maroon;"&gt;&amp;quot;In Subtotal of RowGroup1&amp;quot;&lt;/span&gt;&lt;/i&gt; with &lt;i&gt;Avg(Fields!Amount.Value)&lt;/i&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 10pt;" class="MsoNormal"&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 10pt;" class="MsoNormal"&gt;More information about the &lt;i&gt;InScope() &lt;/i&gt;function on &lt;a class="" title="MSDN" href="http://msdn2.microsoft.com/en-us/library/aa255807%28SQL.80%29.aspx" target="_blank"&gt;MSDN&lt;/a&gt;&lt;/p&gt;&lt;img src="http://sqlblogcasts.com/aggbug.aspx?PostID=5264" width="1" height="1"&gt;</content><author><name>jorg</name><uri>http://sqlblogcasts.com/members/jorg.aspx</uri></author><category term="SQL Server 2005" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/SQL+Server+2005/default.aspx" /><category term="SQL Server Reporting Services" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/SQL+Server+Reporting+Services/default.aspx" /><category term="Business Intelligence" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/Business+Intelligence/default.aspx" /><category term="BIDS" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/BIDS/default.aspx" /><category term="Layout" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/Layout/default.aspx" /><category term="SSRS" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/SSRS/default.aspx" /><category term="Matrix" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/Matrix/default.aspx" /><category term="Expressions" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/Expressions/default.aspx" /><category term="InScope()" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/InScope_28002900_/default.aspx" /><category term="Iif()" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/Iif_28002900_/default.aspx" /><category term="Subtotal" scheme="http://sqlblogcasts.com/blogs/jorg/archive/tags/Subtotal/default.aspx" /></entry><entry><title>SSRS – Matrix that adds a new column each time 5 rows are filled with data</title><link rel="alternate" type="text/html" href="http://sqlblogcasts.com/blogs/jorg/archive/2007/11/23/SSRS-_1320_-Matrix-that-adds-a-new-column-each-time-5-rows-are-filled-with-data.aspx" /><id>http://sqlblogcasts.com/blogs/jorg/archive/2007/11/23/SSRS-_1320_-Matrix-that-adds-a-new-column-each-time-5-rows-are-filled-with-data.aspx</id><published>2007-11-23T16:26:00Z</published><updated>2007-11-23T16:26:00Z</updated><content type="html">&lt;font face="trebuchet ms,geneva"&gt;&lt;font size="2"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;span&gt;&lt;em&gt;What if you want a dynamic list of values in a matrix but with a maximum of 5 rows. How do you create a matrix like this? I thought this should be an easy job but I found out it was not really simple…&lt;/em&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:EN-US;mso-bidi-font-family:Arial;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:NL;"&gt;I tried to create a matrix like this for a dynamic list of countries. In this blog I will explain how you can achieve this with a few simple steps.&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;font size="2"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:EN-US;mso-bidi-font-family:Arial;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:NL;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:EN-US;mso-bidi-font-family:Arial;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:NL;mso-bidi-language:AR-SA;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt; &lt;font face="trebuchet ms,geneva"&gt;&lt;font size="2"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:EN-US;mso-bidi-font-family:Arial;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:NL;mso-bidi-language:AR-SA;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:EN-US;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:NL;mso-bidi-language:AR-SA;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:EN-US;mso-bidi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:NL;mso-bidi-language:AR-SA;mso-bidi-theme-font:minor-latin;"&gt;&amp;nbsp;1.&lt;/span&gt;&lt;span style="FONT-SIZE:7pt;COLOR:black;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-ansi-language:EN-US;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:NL;mso-bidi-language:AR-SA;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:EN-US;mso-bidi-font-family:Arial;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:NL;mso-bidi-language:AR-SA;"&gt;You need to create an MDX(I used a SSAS datasource) query that returns the list of countries with&amp;nbsp;a numbering:&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;font size="2"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:EN-US;mso-bidi-font-family:Arial;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:NL;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Trebuchet MS"&gt;&lt;font size="2"&gt;&lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;font size="2"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&amp;nbsp;&lt;img src="http://sqlblogcasts.com/photos/jorg/images/4602/original.aspx" alt="" /&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;font size="2"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;font size="2"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;font size="2"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:EN-US;mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;font size="2"&gt;&lt;span style="mso-ansi-language:EN-US;mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin;"&gt;&lt;span style="mso-list:Ignore;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;font size="2"&gt;&lt;span style="mso-ansi-language:EN-US;mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin;"&gt;&lt;span style="mso-list:Ignore;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt; &lt;font face="trebuchet ms,geneva"&gt;&lt;font size="2"&gt;&lt;span style="mso-ansi-language:EN-US;mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin;"&gt;&lt;span style="mso-list:Ignore;"&gt;2.&lt;span style="FONT:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;Next thing you need to do is create a matrix:&lt;/span&gt; &lt;/font&gt;&lt;/font&gt;
&lt;p style="MARGIN:0in 0in 0pt 0.5in;" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;font size="2"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&amp;nbsp;&lt;img style="WIDTH:200px;HEIGHT:31px;" src="http://sqlblogcasts.com/photos/jorg/images/4603/original.aspx" width="200" height="31" alt="" /&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="trebuchet ms,geneva"&gt;&lt;font size="2"&gt;&lt;span style="mso-ansi-language:EN-US;mso-bi