<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2964626951147142569</id><updated>2012-02-15T22:20:23.178-08:00</updated><category term='MDX Script'/><category term='SQL Script'/><category term='SSIS'/><category term='Pentaho'/><category term='Performancepoint Server'/><category term='SSAS'/><category term='SSRS'/><title type='text'>Liyasker - Business Inteligence and Database</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://liyasker.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://liyasker.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Liyasker</name><uri>http://www.blogger.com/profile/03437087723799995061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_FZTBGB-QkZc/SXRK-2Cw7LI/AAAAAAAAAAw/gbRBGnammVQ/S220/Sam_id+photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>29</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2964626951147142569.post-381913612032815916</id><published>2011-09-08T01:01:00.000-07:00</published><updated>2011-09-08T01:15:43.870-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SSIS'/><title type='text'>Handle SSIS lookup failure on Date Dimension Date column NULL value</title><content type='html'>&lt;h1 style="margin: 24pt 0in 0pt;"&gt;&lt;span style="font-family: Cambria;"&gt;&lt;span style="color: #4c1130; font-size: small;"&gt;Handle Lookup failure when look up null value in Date dimension. &lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;&lt;div style="margin: 24pt 0in 0pt;"&gt;&lt;span style="background-color: #ea9999;"&gt;Problem:&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;Lookup fail when look up null value in Date dimension. &lt;br /&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;I have date Dimension table with one row for Null value. In my OLTP Order transaction data some of the date data type column has null value. &lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;I am getting the lookup key not found error and those rows are redirected into reject table. Actually both null was not matched up and not able to found the NULL value dimension key.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="background-color: #ea9999;"&gt;Solution:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So in this blog I have explained the customized date look up script with the following screen shots..&lt;br /&gt;&lt;br /&gt;&lt;span style="background-color: #f9cb9c;"&gt;Note(Alternate solution):&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I don’t want to replace the OLTP date column NULL value with some default date (like 1/1/1900). If I do so in the reporting layer I have to replace the default date (1/1/1900) into NULL. Otherwise this will be misleading in the report also I feel this approach is overhead.&lt;br /&gt;&lt;br /&gt;Database &amp;amp;&amp;nbsp;SSIS : SQL Server 2008&lt;br /&gt;&lt;br /&gt;&lt;span style="background-color: #f4cccc;"&gt;Table&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ColumnName&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; DataType&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: #cfe2f3;"&gt;Date_D&amp;nbsp;&amp;nbsp;&amp;nbsp; Date(lkp column)&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; Date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: #cfe2f3;"&gt;Order&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ShippingDate(Source column)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Date&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-9T9GTexWd9E/Tmh3jU1aCaI/AAAAAAAAAFs/52UY57PKHKM/s1600/Lookup3.jpg" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="120px" nba="true" src="http://2.bp.blogspot.com/-9T9GTexWd9E/Tmh3jU1aCaI/AAAAAAAAAFs/52UY57PKHKM/s320/Lookup3.jpg" width="320px" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-uprD7xsIaCQ/Tmhzwwwk_qI/AAAAAAAAAFo/FmCAdwlW7Ok/s1600/Lookup2.jpg" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="290px" nba="true" src="http://1.bp.blogspot.com/-uprD7xsIaCQ/Tmhzwwwk_qI/AAAAAAAAAFo/FmCAdwlW7Ok/s320/Lookup2.jpg" width="320px" /&gt;&lt;/a&gt;&lt;/div&gt;&amp;nbsp; &lt;br /&gt;&lt;span style="color: #660000;"&gt;select date_Key, date from [dbo].[Date_D]&lt;/span&gt; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-g_Oncps2emg/Tmhzql8OD0I/AAAAAAAAAFk/DtL7FQVa6Ww/s1600/Lookup1.jpg" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="309px" nba="true" src="http://1.bp.blogspot.com/-g_Oncps2emg/Tmhzql8OD0I/AAAAAAAAAFk/DtL7FQVa6Ww/s320/Lookup1.jpg" width="320px" /&gt;&lt;/a&gt;&lt;/div&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&lt;span style="color: #660000;"&gt;select * from (select date_Key, isnull(date,'1/1/1900') as date from [dbo].[Date_D]) [refTable]&lt;/span&gt; &lt;br /&gt;&lt;span style="color: #660000;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #660000;"&gt;where [refTable].[date] = ISNULL(?,'1/1/1900')&lt;/span&gt; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;I am not sure about the performamce of Date dimenison look up. I am working on this...Since its a date dimension volume is not the consideration. &lt;br /&gt;&lt;div align="left"&gt;&amp;nbsp; &lt;/div&gt;&lt;div align="left"&gt;I hope this would be helpful to all. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2964626951147142569-381913612032815916?l=liyasker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liyasker.blogspot.com/feeds/381913612032815916/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2964626951147142569&amp;postID=381913612032815916' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/381913612032815916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/381913612032815916'/><link rel='alternate' type='text/html' href='http://liyasker.blogspot.com/2011/09/handle-ssis-lookup-failure-on-date.html' title='Handle SSIS lookup failure on Date Dimension Date column NULL value'/><author><name>Liyasker</name><uri>http://www.blogger.com/profile/03437087723799995061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_FZTBGB-QkZc/SXRK-2Cw7LI/AAAAAAAAAAw/gbRBGnammVQ/S220/Sam_id+photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-9T9GTexWd9E/Tmh3jU1aCaI/AAAAAAAAAFs/52UY57PKHKM/s72-c/Lookup3.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2964626951147142569.post-9044964042173390038</id><published>2010-09-29T05:31:00.000-07:00</published><updated>2010-09-29T05:31:46.728-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SSAS'/><title type='text'>Create Measure for DateTime DataType in SSAS</title><content type='html'>*** Self reference entry by Liyasker ** &lt;br /&gt;There is a requirement to create the Measure for User InTime Hrs, OutTime Hrs, CheckInTime, CheckOutTime, AVGCheckInTime with&amp;nbsp;HH:MM AM/PM format.&lt;br /&gt;&lt;br /&gt;But SSAS measure will support only for Integer and Numeric. Our case I have to expose the cube measure in to MS EXCEL 2007. There we can’t do any conversion.&lt;br /&gt;&lt;br /&gt;I got the right help from the following blog of John (Thanks John :)). Please go through this, this will help you.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://sqlblogcasts.com/blogs/drjohn/archive/2007/12/03/ssas-working-with-date-and-time-measures-to-calculate-average-elapse-time.aspx"&gt;http://sqlblogcasts.com/blogs/drjohn/archive/2007/12/03/ssas-working-with-date-and-time-measures-to-calculate-average-elapse-time.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I create a Facttable view and did the float conversion like below &lt;br /&gt;&lt;span style="color: #660000;"&gt;,CONVERT(FLOAT,CAST(InTime_InHrs AS DateTime)) + 2 AS OfficeInTime&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #660000;"&gt;,CONVERT(FLOAT,CAST(OutTime_InHrs AS DateTime)) + 2 AS OfficeOutTime&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #660000;"&gt;,CONVERT(FLOAT,CheckInDateTime) + 2 AS InDateTime&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #660000;"&gt;,CONVERT(FLOAT,CheckOutDateTime) + 2 AS OutDateTime&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Then I apply the Time format in SSAS Measure Properties.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_FZTBGB-QkZc/TKMxMEl9CAI/AAAAAAAAAE8/Pur9kZS6-0Q/s1600/DateTimeMeasure.png" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" px="true" src="http://3.bp.blogspot.com/_FZTBGB-QkZc/TKMxMEl9CAI/AAAAAAAAAE8/Pur9kZS6-0Q/s320/DateTimeMeasure.png" width="245" /&gt;&lt;/a&gt;&lt;/div&gt;I hope this will help to calculate DateTime Measure in SSAS. &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2964626951147142569-9044964042173390038?l=liyasker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liyasker.blogspot.com/feeds/9044964042173390038/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2964626951147142569&amp;postID=9044964042173390038' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/9044964042173390038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/9044964042173390038'/><link rel='alternate' type='text/html' href='http://liyasker.blogspot.com/2010/09/create-measure-for-datetime-datatype-in.html' title='Create Measure for DateTime DataType in SSAS'/><author><name>Liyasker</name><uri>http://www.blogger.com/profile/03437087723799995061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_FZTBGB-QkZc/SXRK-2Cw7LI/AAAAAAAAAAw/gbRBGnammVQ/S220/Sam_id+photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_FZTBGB-QkZc/TKMxMEl9CAI/AAAAAAAAAE8/Pur9kZS6-0Q/s72-c/DateTimeMeasure.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2964626951147142569.post-1355252427361460419</id><published>2010-09-23T08:28:00.000-07:00</published><updated>2010-09-23T08:29:31.935-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pentaho'/><title type='text'>Pentaho Transformation Deployment</title><content type='html'>How to deploy Pentaho Transformation(Database Connection)from Developement to Staging and Production?&lt;br /&gt;Please look at this, I hope you can do this.&lt;br /&gt;&lt;a href="http://wiki.pentaho.com/display/EAI/Beginners+FAQ"&gt;http://wiki.pentaho.com/display/EAI/Beginners+FAQ&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I was looking more than 2 weeks to to find the right resource for the deployment :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2964626951147142569-1355252427361460419?l=liyasker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liyasker.blogspot.com/feeds/1355252427361460419/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2964626951147142569&amp;postID=1355252427361460419' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/1355252427361460419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/1355252427361460419'/><link rel='alternate' type='text/html' href='http://liyasker.blogspot.com/2010/09/pentaho-transformation-deployment.html' title='Pentaho Transformation Deployment'/><author><name>Liyasker</name><uri>http://www.blogger.com/profile/03437087723799995061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_FZTBGB-QkZc/SXRK-2Cw7LI/AAAAAAAAAAw/gbRBGnammVQ/S220/Sam_id+photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2964626951147142569.post-343710757494299654</id><published>2010-09-10T03:40:00.000-07:00</published><updated>2010-09-10T04:13:21.574-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pentaho'/><title type='text'>Pentaho - Fact Incremental Load</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="color: #a64d79; font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;Pentaho - Fact Incremental Load&lt;/span&gt;&lt;/div&gt;&lt;span style="color: #a64d79; font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;&lt;br /&gt;&lt;span style="color: #a64d79;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;1. Create MapingHistory table to maintain the ETLRun Date&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;2. Load the MaxDate from Source and LastETLRunDate from MapingHistory Table(Destination).&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;A)Select MaxSource and Use the proper date convertion&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;Select job =&amp;gt; SetVariables Transformation to hold the "MaxSource" date Value&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_FZTBGB-QkZc/TIoKOdydMGI/AAAAAAAAADM/pfgu23VBuYw/s1600/LoadMaxSourceDate.png" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;&lt;img border="0" ox="true" src="http://3.bp.blogspot.com/_FZTBGB-QkZc/TIoKOdydMGI/AAAAAAAAADM/pfgu23VBuYw/s320/LoadMaxSourceDate.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;3. Do the same for get the MAX ETL Date&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_FZTBGB-QkZc/TIoKVPWkISI/AAAAAAAAADU/tbzXe6BrYyY/s1600/LoadMaxETLDate.png" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;&lt;img border="0" ox="true" src="http://1.bp.blogspot.com/_FZTBGB-QkZc/TIoKVPWkISI/AAAAAAAAADU/tbzXe6BrYyY/s320/LoadMaxETLDate.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;4. Create Mapping to load FactData&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;a) Substitutevariable in the Source Script and choose "Replace Variable in script"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Trebuchet MS;"&gt;b) Use "Execute SQl Script" Tranfromation under the Scripting component&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Trebuchet MS;"&gt;and Select Variable Substitution option&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_FZTBGB-QkZc/TIoRR1E9eJI/AAAAAAAAADs/qhIs47bgXpc/s1600/FactIncrementalLoad.png" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" ox="true" src="http://1.bp.blogspot.com/_FZTBGB-QkZc/TIoRR1E9eJI/AAAAAAAAADs/qhIs47bgXpc/s320/FactIncrementalLoad.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;5. Create job to Integrate the GetVariable and FactIncrementalLoad Transformation&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_FZTBGB-QkZc/TIoKlwCPNEI/AAAAAAAAADk/7w2e_FiCytk/s1600/ExecuteTransformationusingJob.png" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;&lt;img border="0" ox="true" src="http://3.bp.blogspot.com/_FZTBGB-QkZc/TIoKlwCPNEI/AAAAAAAAADk/7w2e_FiCytk/s320/ExecuteTransformationusingJob.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2964626951147142569-343710757494299654?l=liyasker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liyasker.blogspot.com/feeds/343710757494299654/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2964626951147142569&amp;postID=343710757494299654' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/343710757494299654'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/343710757494299654'/><link rel='alternate' type='text/html' href='http://liyasker.blogspot.com/2010/09/pentaho-fact-incremental-load.html' title='Pentaho - Fact Incremental Load'/><author><name>Liyasker</name><uri>http://www.blogger.com/profile/03437087723799995061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_FZTBGB-QkZc/SXRK-2Cw7LI/AAAAAAAAAAw/gbRBGnammVQ/S220/Sam_id+photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_FZTBGB-QkZc/TIoKOdydMGI/AAAAAAAAADM/pfgu23VBuYw/s72-c/LoadMaxSourceDate.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2964626951147142569.post-2972723834553641046</id><published>2010-09-09T04:10:00.000-07:00</published><updated>2010-09-29T07:03:51.100-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pentaho'/><title type='text'>Pentaho Looping</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;span style="color: #4c1130; font-family: Verdana, sans-serif;"&gt;Pentaho Looping&lt;/span&gt;&lt;/div&gt;I have a scenario to load the staging table from different sources. So i have to execute the same mapping more the one times based on number of rows avaliable in the Control Table.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color: #4c1130;"&gt;Table : ConnectionInfo&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color: #4c1130;"&gt;ServerName&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DatabaseName&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;Server1&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; DB1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;Server2&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; DB2&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #4c1130;"&gt;Server2&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;DB3&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I followed this URL and i could implement the Pentaho Looping&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=rEG5yU8oLgI"&gt;http://www.youtube.com/watch?v=rEG5yU8oLgI&lt;/a&gt;&lt;br /&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;span style="color: #660000;"&gt;Step1:"LoadConnections.ktr"&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;Create Transformation to select number of rows(Databasename,serverName)&amp;nbsp;and copy the rows in to result set&lt;/div&gt;&lt;/div&gt;&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_FZTBGB-QkZc/TIo6q0tkiXI/AAAAAAAAAD4/E8LBjM24FeE/s1600/Copy+Data+to+Result+Set.png" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" ox="true" src="http://4.bp.blogspot.com/_FZTBGB-QkZc/TIo6q0tkiXI/AAAAAAAAAD4/E8LBjM24FeE/s320/Copy+Data+to+Result+Set.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: left;"&gt;&lt;span style="color: #660000;"&gt;Step2: "LoadConnectionInfo.ktr"&lt;/span&gt; &lt;/div&gt;&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: left;"&gt;Create Transformation to Assign connection Information to variable ﻿&lt;/div&gt;&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_FZTBGB-QkZc/TIo7KFLpqFI/AAAAAAAAAEY/PYgtMypQ5cE/s1600/Set+Connection+Info+to+Variable.png" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" ox="true" src="http://2.bp.blogspot.com/_FZTBGB-QkZc/TIo7KFLpqFI/AAAAAAAAAEY/PYgtMypQ5cE/s320/Set+Connection+Info+to+Variable.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span style="color: #660000;"&gt;Step3:"Load StgEntity.ktr"&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;a) Create Static Source Connection to load the data from source.&lt;/div&gt;b) Create mapping to transfer the data from Source to Destination&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;c) Then change the connection name in to Variable. &lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_FZTBGB-QkZc/TIo7FAaE8YI/AAAAAAAAAEI/JpF-h0WJLdk/s1600/Create+Mapping+and+Apply+Variable.png" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" ox="true" src="http://1.bp.blogspot.com/_FZTBGB-QkZc/TIo7FAaE8YI/AAAAAAAAAEI/JpF-h0WJLdk/s320/Create+Mapping+and+Apply+Variable.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Step4) "LoadVariable and ExecuteTransformation.kjb"&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Create&amp;nbsp; the job to Integrate the (Step2)-LoadConnectionInfo.ktr and (Step3) - LoadStgEntity.ktr&lt;/div&gt;&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_FZTBGB-QkZc/TIo7CEVwOxI/AAAAAAAAAEA/a1u8FNr8r0I/s1600/Create+Job+to+integrate+Variable+over+ride+and+Mapping.png" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" ox="true" src="http://1.bp.blogspot.com/_FZTBGB-QkZc/TIo7CEVwOxI/AAAAAAAAAEA/a1u8FNr8r0I/s320/Create+Job+to+integrate+Variable+over+ride+and+Mapping.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: left;"&gt;Step5: Create job to integrate&amp;nbsp; Step1 - &lt;span style="color: #660000;"&gt;"LoadConnections.ktr"&amp;nbsp; and &lt;/span&gt;Step4 - "LoadVariable and ExecuteTransformation.kjb" &lt;/div&gt;&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: left;"&gt;And configure the job properties like below&lt;/div&gt;&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: left;"&gt;Here (Step4 - "LoadVariable and ExecuteTransformation.kjb")&amp;nbsp; job will be executed by the number&amp;nbsp;of rows&amp;nbsp;return from the (Step1- &lt;span style="color: #660000;"&gt;"LoadConnections.ktr")&amp;nbsp; &lt;/span&gt;&lt;span style="color: black;"&gt;transaction&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: left;"&gt;&lt;a href="http://1.bp.blogspot.com/_FZTBGB-QkZc/TIo7HL_QUnI/AAAAAAAAAEQ/b1G-khizJjg/s1600/Integrate+Loop.png" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" ox="true" src="http://1.bp.blogspot.com/_FZTBGB-QkZc/TIo7HL_QUnI/AAAAAAAAAEQ/b1G-khizJjg/s320/Integrate+Loop.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: left;"&gt;I hope this will hellp you to do the pentahoo looping.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2964626951147142569-2972723834553641046?l=liyasker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liyasker.blogspot.com/feeds/2972723834553641046/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2964626951147142569&amp;postID=2972723834553641046' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/2972723834553641046'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/2972723834553641046'/><link rel='alternate' type='text/html' href='http://liyasker.blogspot.com/2010/09/pentaho-looping.html' title='Pentaho Looping'/><author><name>Liyasker</name><uri>http://www.blogger.com/profile/03437087723799995061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_FZTBGB-QkZc/SXRK-2Cw7LI/AAAAAAAAAAw/gbRBGnammVQ/S220/Sam_id+photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_FZTBGB-QkZc/TIo6q0tkiXI/AAAAAAAAAD4/E8LBjM24FeE/s72-c/Copy+Data+to+Result+Set.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2964626951147142569.post-750373743468417042</id><published>2010-08-27T10:15:00.000-07:00</published><updated>2010-08-27T10:24:43.698-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Script'/><title type='text'>Parse Hierarchy(TreeView) XML using Outer Apply</title><content type='html'>/*&lt;br /&gt;&lt;br /&gt;This sample will help you to parse Tree View XMl of Explicit format.&lt;br /&gt;If you Apply Cross Apply on for Outer Apply then it will not display the child which does not have 3 Levl&lt;br /&gt;&lt;br /&gt;If you store this XML in to temp table then you can update the Parent child clasification in to table.&lt;br /&gt;&lt;br /&gt;*/&lt;br /&gt;&lt;span style="color: red;"&gt;&lt;strong&gt;-- Please Replace [ and ] by &amp;lt; and &amp;gt; &lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;DECLARE @HierarchyDetail XML &lt;br /&gt;&lt;br /&gt;SET @HierarchyDetail =&lt;br /&gt;'[treeview]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[treeview-nodes]&lt;br /&gt;&lt;br /&gt;[treeview-node node-text="Account -1001" node-value="1001"]&lt;br /&gt;&lt;br /&gt;[treeview-nodes]&lt;br /&gt;&lt;br /&gt;[treeview-node node-text="Account -1075" node-value="1075"]&lt;br /&gt;&lt;br /&gt;[treeview-nodes]&lt;br /&gt;&lt;br /&gt;[treeview-node node-text="Account - 1132" node-value="1132" /]&lt;br /&gt;&lt;br /&gt;[/treeview-nodes]&lt;br /&gt;&lt;br /&gt;[/treeview-node]&lt;br /&gt;&lt;br /&gt;[/treeview-nodes]&lt;br /&gt;&lt;br /&gt;[/treeview-node]&lt;br /&gt;&lt;br /&gt;[treeview-node node-text="Account - 1000" node-value="1000"]&lt;br /&gt;&lt;br /&gt;[treeview-nodes]&lt;br /&gt;&lt;br /&gt;[treeview-node node-text="Account -1077" node-value="1077"]&lt;br /&gt;&lt;br /&gt;[treeview-nodes]&lt;br /&gt;&lt;br /&gt;[treeview-node node-text="Account -1134" node-value="1134" /]&lt;br /&gt;&lt;br /&gt;[/treeview-nodes]&lt;br /&gt;&lt;br /&gt;[/treeview-node]&lt;br /&gt;&lt;br /&gt;[/treeview-nodes]&lt;br /&gt;&lt;br /&gt;[/treeview-node]&lt;br /&gt;&lt;br /&gt;[treeview-node node-text="Account - 1080" node-value="1080"]&lt;br /&gt;&lt;br /&gt;[treeview-nodes]&lt;br /&gt;&lt;br /&gt;[treeview-node node-text="Account - 1101 " node-value="1101"]&lt;br /&gt;&lt;br /&gt;[treeview-nodes]&lt;br /&gt;&lt;br /&gt;[treeview-node node-text="Account - 1135" node-value="1135" /]&lt;br /&gt;&lt;br /&gt;[/treeview-nodes]&lt;br /&gt;&lt;br /&gt;[/treeview-node]&lt;br /&gt;&lt;br /&gt;[/treeview-nodes]&lt;br /&gt;&lt;br /&gt;[/treeview-node]&lt;br /&gt;&lt;br /&gt;[treeview-node node-text="Account - 1114" node-value="1114"]&lt;br /&gt;&lt;br /&gt;[treeview-nodes]&lt;br /&gt;&lt;br /&gt;[treeview-node node-text="Account - 1124 " node-value="1124"]&lt;br /&gt;&lt;br /&gt;[treeview-nodes]&lt;br /&gt;&lt;br /&gt;[treeview-node node-text="Account - 1137" node-value="1137" /]&lt;br /&gt;&lt;br /&gt;[treeview-node node-text="Account - 2937 " node-value="2937" /]&lt;br /&gt;&lt;br /&gt;[/treeview-nodes]&lt;br /&gt;&lt;br /&gt;[/treeview-node]&lt;br /&gt;&lt;br /&gt;[/treeview-nodes]&lt;br /&gt;&lt;br /&gt;[/treeview-node]&lt;br /&gt;&lt;br /&gt;[/treeview-nodes]&lt;br /&gt;&lt;br /&gt;[/treeview]' &lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;SELECT Level1.value('@node-value','VARCHAR(200)') AS Level1ID &lt;br /&gt;&lt;br /&gt;,Level1.value('@node-text','VARCHAR(200)') AS Level1AName &lt;br /&gt;&lt;br /&gt;,Level2.value('@node-value','VARCHAR(200)') AS Level2ID &lt;br /&gt;&lt;br /&gt;,Level2.value('@node-text','VARCHAR(200)') AS Level2Name&lt;br /&gt;&lt;br /&gt;,Level3.value('@node-value','VARCHAR(200)') AS Level3ID &lt;br /&gt;&lt;br /&gt;,Level3.value('@node-text','VARCHAR(200)') AS Level3Name&lt;br /&gt;&lt;br /&gt;FROM @HierarchyDetail.nodes('/treeview/treeview-nodes/treeview-node') AS Accounts(Level1) -- I Level Nodes&lt;br /&gt;&lt;br /&gt;OUTER APPLY Level1.nodes('treeview-nodes/treeview-node') AS Level2Items(Level2) -- II Level Nodes&lt;br /&gt;&lt;br /&gt;OUTER APPLY Level2.nodes('treeview-nodes/treeview-node') AS Level3Items(Level3) -- III Level Nodes&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2964626951147142569-750373743468417042?l=liyasker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liyasker.blogspot.com/feeds/750373743468417042/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2964626951147142569&amp;postID=750373743468417042' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/750373743468417042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/750373743468417042'/><link rel='alternate' type='text/html' href='http://liyasker.blogspot.com/2010/08/parse-hierarchytreeview-xml-using-outer.html' title='Parse Hierarchy(TreeView) XML using Outer Apply'/><author><name>Liyasker</name><uri>http://www.blogger.com/profile/03437087723799995061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_FZTBGB-QkZc/SXRK-2Cw7LI/AAAAAAAAAAw/gbRBGnammVQ/S220/Sam_id+photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2964626951147142569.post-865629034766889300</id><published>2010-07-22T07:35:00.000-07:00</published><updated>2010-07-27T07:45:02.442-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Script'/><title type='text'>Select Rows  from Table1 NOT IN Table2 (t1.a = t2.a and t1.b = t2.b)</title><content type='html'>&lt;span style="font-family: Georgia, &amp;quot;Times New Roman&amp;quot;, serif;"&gt;--Source(Table1 &amp;amp; Table2)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_FZTBGB-QkZc/TE7v80TgPYI/AAAAAAAAAC8/HGPaujOzK54/s1600/Source.bmp" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" hw="true" src="http://4.bp.blogspot.com/_FZTBGB-QkZc/TE7v80TgPYI/AAAAAAAAAC8/HGPaujOzK54/s320/Source.bmp" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Georgia, &amp;quot;Times New Roman&amp;quot;, serif;"&gt;--Expected OutPut&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_FZTBGB-QkZc/TE7voJ2wvII/AAAAAAAAAC0/9LHjDthY2JM/s1600/Target.bmp" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" hw="true" src="http://1.bp.blogspot.com/_FZTBGB-QkZc/TE7voJ2wvII/AAAAAAAAAC0/9LHjDthY2JM/s320/Target.bmp" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;DECLARE @T1 TABLE(A INT, B INT,C VARCHAR(10))&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;DECLARE @T2 TABLE(A INT, B INT,C VARCHAR(10))&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;INSERT INTO @T1(A,B,C)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;VALUES (1,1,'SS1')&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;,(1,2,'SS2')&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;,(1,3,'SS3')&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;INSERT INTO @T2(A,B,C)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;VALUES (1,1,'SS1')&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;,(1,2,'SS2')&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #990000; font-family: Verdana, sans-serif; font-size: x-small;"&gt;--Method1:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;SELECT A,B&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;FROM @T1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;EXCEPT&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;SELECT A,B&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;FROM @T2&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #990000; font-family: Verdana, sans-serif; font-size: x-small;"&gt;--Method2:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;SELECT A.A,A.B&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;FROM @T1 A&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;left JOIN @T2 B ON A.A = B.A&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;AND a.B = b.B&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;WHERE b.B is null&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #990000; font-family: Verdana, sans-serif; font-size: x-small;"&gt;--Method3:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;SELECT * FROM @T1 AS T1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;WHERE NOT EXISTS (SELECT 0 &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;FROM @T2 AS T2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;WHERE T2.A = T1.A&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;AND T2.B = T1.B&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;)&lt;/span&gt; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;/* &lt;br /&gt;&amp;nbsp; &lt;br /&gt;I hope these will give the expected Result, Now i am looking over this&amp;nbsp;which is best? &lt;br /&gt;&amp;nbsp; &lt;br /&gt;*/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2964626951147142569-865629034766889300?l=liyasker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liyasker.blogspot.com/feeds/865629034766889300/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2964626951147142569&amp;postID=865629034766889300' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/865629034766889300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/865629034766889300'/><link rel='alternate' type='text/html' href='http://liyasker.blogspot.com/2010/07/performance-gain-not-exists-select-0.html' title='Select Rows  from Table1 NOT IN Table2 (t1.a = t2.a and t1.b = t2.b)'/><author><name>Liyasker</name><uri>http://www.blogger.com/profile/03437087723799995061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_FZTBGB-QkZc/SXRK-2Cw7LI/AAAAAAAAAAw/gbRBGnammVQ/S220/Sam_id+photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_FZTBGB-QkZc/TE7v80TgPYI/AAAAAAAAAC8/HGPaujOzK54/s72-c/Source.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2964626951147142569.post-2351217168710001577</id><published>2010-07-14T04:21:00.000-07:00</published><updated>2010-07-14T04:39:19.972-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Script'/><title type='text'>String Concatenation Using XML Path</title><content type='html'>&lt;span style="font-family: Verdana, sans-serif;"&gt;/*&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Description : String concatenation using XML Path&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;This will help you to concatenate the reference table&amp;nbsp;column values by using cross apply&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;*/&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #a64d79; font-family: Verdana, sans-serif;"&gt;DECLARE @Table1 TABLE(CountryID INT,CountryName VARCHAR(50))&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #a64d79; font-family: Verdana, sans-serif;"&gt;DECLARE @Table2 TABLE(StateID INT IDENTITY(1,1)&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #a64d79; font-family: Verdana, sans-serif;"&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;,CountryID INT&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #a64d79; font-family: Verdana, sans-serif;"&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; ,StateName VARCHAR(50))&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #a64d79; font-family: Verdana, sans-serif;"&gt;INSERT INTO @Table1(CountryID,CountryName) VALUES&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #a64d79; font-family: Verdana, sans-serif;"&gt;(1 , 'USA'),&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #a64d79; font-family: Verdana, sans-serif;"&gt;(2 , 'INDIA'),&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #a64d79; font-family: Verdana, sans-serif;"&gt;(3 , 'AUSTRALIA')&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white;"&gt;&lt;span style="color: #a64d79; font-family: Verdana, sans-serif;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #a64d79; font-family: Verdana, sans-serif;"&gt;INSERT INTO @Table2(CountryID,StateName) VALUES&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #a64d79; font-family: Verdana, sans-serif;"&gt;(1,'Texas'),&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #a64d79; font-family: Verdana, sans-serif;"&gt;(1,'Washington'),&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #a64d79; font-family: Verdana, sans-serif;"&gt;(1,'New Yark'),&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #a64d79; font-family: Verdana, sans-serif;"&gt;(1,'Colorodo'),&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #a64d79; font-family: Verdana, sans-serif;"&gt;(2,'TamilNadu'),&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #a64d79; font-family: Verdana, sans-serif;"&gt;(2,'Mumbai'),&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #a64d79; font-family: Verdana, sans-serif;"&gt;(2,'Delhi'),&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #a64d79; font-family: Verdana, sans-serif;"&gt;(2,'Banglore'),&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #a64d79; font-family: Verdana, sans-serif;"&gt;(3,'Victoria'),&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #a64d79; font-family: Verdana, sans-serif;"&gt;(3,'Tasmania'),&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #a64d79; font-family: Verdana, sans-serif;"&gt;(3,'Queensland'),&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #a64d79; font-family: Verdana, sans-serif;"&gt;(3,'New South Wales'),&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #a64d79; font-family: Verdana, sans-serif;"&gt;(3,'Western Australia')&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white;"&gt;&lt;br /&gt;&lt;span style="color: #a64d79; font-family: Verdana, sans-serif;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #a64d79; font-family: Verdana, sans-serif;"&gt;SELECT Table1.CountryID &lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #a64d79; font-family: Verdana, sans-serif;"&gt;,Table1.CountryName &lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #a64d79; font-family: Verdana, sans-serif;"&gt;,LEFT(StateNames,LEN(StateNames)- 1) AS StateNames&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #a64d79; font-family: Verdana, sans-serif;"&gt;FROM @Table1 as Table1&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #a64d79; font-family: Verdana, sans-serif;"&gt;CROSS APPLY&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #a64d79; font-family: Verdana, sans-serif;"&gt;( SELECT StateName + ', ' &lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #a64d79; font-family: Verdana, sans-serif;"&gt;FROM @Table2 AS Table2&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #a64d79; font-family: Verdana, sans-serif;"&gt;WHERE Table2.CountryID = Table1.CountryID &lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #a64d79; font-family: Verdana, sans-serif;"&gt;FOR XML PATH('') ) AS State(StateNames) &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #a64d79; font-family: Verdana;"&gt;--Desired Result&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_FZTBGB-QkZc/TD2huyOsKrI/AAAAAAAAACs/98weVXnFAOI/s1600/String+Concatenation.bmp" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="108" rw="true" src="http://3.bp.blogspot.com/_FZTBGB-QkZc/TD2huyOsKrI/AAAAAAAAACs/98weVXnFAOI/s640/String+Concatenation.bmp" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="background-color: white;"&gt;&lt;br /&gt;&lt;span style="color: #a64d79; font-family: Verdana, sans-serif;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; color: black; font-family: Verdana, sans-serif;"&gt;--* This Insert Statement will work in 2008 *&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: #d9d2e9;"&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: #d9d2e9; font-family: Verdana, sans-serif; font-size: x-small;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2964626951147142569-2351217168710001577?l=liyasker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liyasker.blogspot.com/feeds/2351217168710001577/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2964626951147142569&amp;postID=2351217168710001577' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/2351217168710001577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/2351217168710001577'/><link rel='alternate' type='text/html' href='http://liyasker.blogspot.com/2010/07/string-concatenation-using-xml-path.html' title='String Concatenation Using XML Path'/><author><name>Liyasker</name><uri>http://www.blogger.com/profile/03437087723799995061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_FZTBGB-QkZc/SXRK-2Cw7LI/AAAAAAAAAAw/gbRBGnammVQ/S220/Sam_id+photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_FZTBGB-QkZc/TD2huyOsKrI/AAAAAAAAACs/98weVXnFAOI/s72-c/String+Concatenation.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2964626951147142569.post-5972354398335629146</id><published>2010-06-21T05:59:00.000-07:00</published><updated>2010-06-30T05:24:44.336-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SSRS'/><title type='text'>Parent - Child Hierarchy in SQL Server 2008 Reporting Service with Operational Source</title><content type='html'>&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_FZTBGB-QkZc/TB9q7NStwlI/AAAAAAAAACc/ZEAOza17968/s1600/Report.bmp" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" ru="true" src="http://3.bp.blogspot.com/_FZTBGB-QkZc/TB9q7NStwlI/AAAAAAAAACc/ZEAOza17968/s320/Report.bmp" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="color: #a64d79; font-family: Verdana, sans-serif;"&gt;Parent &amp;gt;&amp;gt; Child Hierarchy in SQL Server 2008 Reporting Service with Operational Source&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I followed the below articles and i could&amp;nbsp;build the Parent child Hierarchy in SSRS 2008 using Relational Database Source. &lt;br /&gt;&lt;br /&gt;If you are ok with this look and feel then you can follow this.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mssqltips.com/tip.asp?tip=1939"&gt;http://www.mssqltips.com/tip.asp?tip=1939&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/b/robertbruckner/archive/2008/10/14/using-analysis-services-parent-child-hierarchies-in-reports.aspx"&gt;http://blogs.msdn.com/b/robertbruckner/archive/2008/10/14/using-analysis-services-parent-child-hierarchies-in-reports.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #e06666;"&gt;There are 4 Steps need to be done to do the SSRS 2008 Parent Child Hierarcchy report with ODS Source&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #e06666;"&gt;Step 1: Create Datasource Connection &amp;nbsp;and Dataset&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: black;"&gt;Datasource: [AdventureWorksDW]&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;SELECT DimEmployee.EmployeeKey &lt;br /&gt;&lt;br /&gt;,DimEmployee.ParentEmployeeKey&lt;br /&gt;&lt;br /&gt;,DimEmployee.FirstName&lt;br /&gt;&lt;br /&gt;,ISNULL(SUM(SalesAmountQuota),0) AS SalesAmount&lt;br /&gt;&lt;br /&gt;FROM DimEmployee&lt;br /&gt;&lt;br /&gt;LEFT JOIN FactSalesQuota ON FactSalesQuota.EmployeeKey = DimEmployee.EmployeeKey&lt;br /&gt;&lt;br /&gt;GROUP BY DimEmployee.EmployeeKey&lt;br /&gt;&lt;br /&gt;,DimEmployee.ParentEmployeeKey&lt;br /&gt;&lt;br /&gt;,FirstName&lt;br /&gt;&lt;br /&gt;ORDER BY 4 DESC&lt;/blockquote&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="color: #6fa8dc;"&gt;&lt;strong&gt;&lt;span style="color: #e06666;"&gt;Step 2: Configure Recursive Parent&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;a href="http://4.bp.blogspot.com/_FZTBGB-QkZc/TB9sz1hLDpI/AAAAAAAAACk/KXhifxD5Ud0/s1600/Group+Property.bmp" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" ru="true" src="http://4.bp.blogspot.com/_FZTBGB-QkZc/TB9sz1hLDpI/AAAAAAAAACk/KXhifxD5Ud0/s320/Group+Property.bmp" /&gt;&lt;/a&gt; &lt;/div&gt;&amp;nbsp; &lt;br /&gt;1. &lt;span style="color: purple;"&gt;General Tab&lt;/span&gt;&amp;nbsp; Configure the Prroperties&lt;br /&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;Name : ParentChildGroup&lt;/span&gt;&lt;br /&gt;Then Add Group Expression and Specify the &lt;br /&gt;&lt;span style="color: red;"&gt;[Group On] : EmployeeKey&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: purple;"&gt;2. Advance Tab&lt;/span&gt; &lt;br /&gt;&lt;span style="color: red;"&gt;Recursive Parent : ParentEmployeeKey&lt;/span&gt; &lt;br /&gt;&lt;span style="color: red;"&gt;Document Map : Leave it &lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;&lt;/span&gt;&amp;nbsp; &lt;br /&gt;&lt;span style="color: purple;"&gt;3: Visiblity Tab&lt;/span&gt; &lt;br /&gt;&lt;span style="color: red;"&gt;3.a)Check the Hide Check Box&lt;/span&gt; &lt;br /&gt;&lt;span style="color: red;"&gt;3.b) Enable Display can be Toggle by this Item and&lt;/span&gt; &lt;br /&gt;&lt;span style="color: red;"&gt;Select EmploeeName (Name of the First column in our report)&lt;/span&gt; &lt;br /&gt;&lt;span style="color: red;"&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;strong&gt;&lt;span style="color: #e06666;"&gt;Step 3:&lt;/span&gt;&lt;/strong&gt; &lt;span style="color: #e06666;"&gt;Configure Indent&lt;/span&gt;&lt;br /&gt;Right click EmployeeName Test Box and Select "Text Box Property" &lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&amp;nbsp; &lt;br /&gt;&lt;strong&gt;&lt;span style="color: purple;"&gt;1. Alignement Tab&lt;/span&gt;&lt;/strong&gt; &lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&amp;nbsp; &lt;br /&gt;Padding Option : Left (Expression) &lt;br /&gt;&lt;span style="background-color: white; color: #444444;"&gt;= 20 * level() + 5 &amp;amp; "pt"&lt;/span&gt; &lt;br /&gt;&lt;strong&gt;&lt;span style="color: #444444;"&gt;&lt;/span&gt;&lt;/strong&gt;&amp;nbsp; &lt;br /&gt;&lt;strong&gt;&lt;span style="color: purple;"&gt;2. Font Tab&lt;/span&gt;&lt;/strong&gt; &lt;br /&gt;&lt;strong&gt;&lt;span style="color: #444444;"&gt;&lt;/span&gt;&lt;/strong&gt;&amp;nbsp; &lt;br /&gt;&lt;span style="color: #444444;"&gt;Style : Bold (Expression)&lt;/span&gt; &lt;br /&gt;&lt;span style="color: #444444;"&gt;=iif(Count(Fields!FirstName.Value , "ParentChildGroup", Recursive) &amp;gt; 1, "Bold", "Normal")&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&lt;span style="color: #e06666;"&gt;Step 4:&lt;/span&gt; &lt;span style="color: #e06666;"&gt;Set Roll up(Drill Down and Dril Up)&amp;nbsp;for the SalesAmount&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;Set Recursive Sum in the "Sales Amount" Column &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&lt;span style="color: purple;"&gt;1. Select Sales Amount column Text Box Property&lt;/span&gt; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&lt;span style="color: purple;"&gt;2. General Tab &lt;/span&gt;&lt;br /&gt;Value : Expression &lt;br /&gt;&amp;nbsp; &lt;br /&gt;=sum(Fields!SalesAmount.Value,"ParentChildGroup",Recursive) &lt;br /&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;Thats it Enjoy SQl 2008 Parent Child Hierarchy Reporting :)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2964626951147142569-5972354398335629146?l=liyasker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liyasker.blogspot.com/feeds/5972354398335629146/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2964626951147142569&amp;postID=5972354398335629146' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/5972354398335629146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/5972354398335629146'/><link rel='alternate' type='text/html' href='http://liyasker.blogspot.com/2010/06/parent-child-hierarchy-in-sql-server.html' title='Parent - Child Hierarchy in SQL Server 2008 Reporting Service with Operational Source'/><author><name>Liyasker</name><uri>http://www.blogger.com/profile/03437087723799995061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_FZTBGB-QkZc/SXRK-2Cw7LI/AAAAAAAAAAw/gbRBGnammVQ/S220/Sam_id+photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_FZTBGB-QkZc/TB9q7NStwlI/AAAAAAAAACc/ZEAOza17968/s72-c/Report.bmp' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2964626951147142569.post-6516647131036719642</id><published>2010-05-19T05:23:00.000-07:00</published><updated>2010-05-20T03:03:24.371-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SSIS'/><title type='text'>How to debug SSIS Script task breakpoints in 64bit Environment ?</title><content type='html'>Please look at the &lt;strong&gt;Faruk Celik&lt;/strong&gt; Blog.This will hep you.&lt;br /&gt;&lt;br /&gt;I had the same proplem in SSIS 2008 64 bit Environment. Scrript task does not get in to Break Point. I over come this issue by following the bellow article. Thanks Faruk Celik&lt;strong&gt;.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/farukcelik/archive/2010/03/17/why-the-breakpoints-that-i-set-in-my-script-task-not-script-component-in-the-data-flow-never-hits.aspx"&gt;http://blogs.msdn.com/farukcelik/archive/2010/03/17/why-the-breakpoints-that-i-set-in-my-script-task-not-script-component-in-the-data-flow-never-hits.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;Thanks&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2964626951147142569-6516647131036719642?l=liyasker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liyasker.blogspot.com/feeds/6516647131036719642/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2964626951147142569&amp;postID=6516647131036719642' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/6516647131036719642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/6516647131036719642'/><link rel='alternate' type='text/html' href='http://liyasker.blogspot.com/2010/05/how-to-debug-ssis-script-task.html' title='How to debug SSIS Script task breakpoints in 64bit Environment ?'/><author><name>Liyasker</name><uri>http://www.blogger.com/profile/03437087723799995061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_FZTBGB-QkZc/SXRK-2Cw7LI/AAAAAAAAAAw/gbRBGnammVQ/S220/Sam_id+photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2964626951147142569.post-7815275548341323128</id><published>2010-04-15T05:48:00.000-07:00</published><updated>2010-04-15T06:11:59.087-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Script'/><title type='text'>Export Table Row in to CSV File</title><content type='html'>Step1: Create Procedure with Select Statement&lt;br /&gt;&lt;br /&gt;Create Procedure pcget_ETLErrorlog&lt;br /&gt;AS&lt;br /&gt;BEGIN&lt;br /&gt;&amp;nbsp;&amp;nbsp; SELECT * FROM ETLErrorlog&lt;br /&gt;END &lt;br /&gt;&lt;br /&gt;Step 2: &lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;DECLARE @SQL VARCHAR(2000)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;DECLARE @ExportResult INT&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;SET @SQL = 'bcp "EXEC [MyDatabase].[dbo].pcget_ETLErrorlog" queryout "C:\Configuration V1\Global Alert\ETLAlert.CSV" -c -t, -T -S ServerName' &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;EXEC master..xp_cmdshell @SQL&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Note: Procedure can be replaced directly by Select Statment "SELECT * FROM ETLErrorlog"&lt;br /&gt;This will return the list of Output rows. If we dont want the out put rows then we can run the above query like this... &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;EXEC @ExportResult = master..xp_cmdshell @SQL,NO_OUTPUT &lt;br /&gt;SELECT @ExportResult &lt;br /&gt;&lt;br /&gt;Note:&amp;nbsp; &lt;br /&gt;If the OutPut Result is 0 then It means no&amp;nbsp;error. This will help you to validate and proceed the next step.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2964626951147142569-7815275548341323128?l=liyasker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liyasker.blogspot.com/feeds/7815275548341323128/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2964626951147142569&amp;postID=7815275548341323128' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/7815275548341323128'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/7815275548341323128'/><link rel='alternate' type='text/html' href='http://liyasker.blogspot.com/2010/04/export-table-row-in-to-csv-file.html' title='Export Table Row in to CSV File'/><author><name>Liyasker</name><uri>http://www.blogger.com/profile/03437087723799995061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_FZTBGB-QkZc/SXRK-2Cw7LI/AAAAAAAAAAw/gbRBGnammVQ/S220/Sam_id+photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2964626951147142569.post-4745572516217049331</id><published>2010-03-31T07:01:00.000-07:00</published><updated>2010-03-31T07:03:15.396-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Script'/><title type='text'>Log on through windows authentication to the Different Domain SQL Server</title><content type='html'>&lt;strong&gt;1. Connect SQL Server Management Studio from Remote&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Run the following script from PowerShell &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;runas /netonly /user:&lt;strong&gt;CIT&lt;/strong&gt;\&lt;strong&gt;Sam&lt;/strong&gt; “C:\Program Files\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\Ssms.exe"&lt;br /&gt;Then type the domain account Password.(Password will not be visible while enter)&amp;nbsp;Now you can able to login to the DatabaseServer&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2. Connect Microsoft Visual&amp;nbsp;Studio from Remote:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;runas /netonly /user:&lt;strong&gt;CIT\Sam&lt;/strong&gt; "C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2964626951147142569-4745572516217049331?l=liyasker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liyasker.blogspot.com/feeds/4745572516217049331/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2964626951147142569&amp;postID=4745572516217049331' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/4745572516217049331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/4745572516217049331'/><link rel='alternate' type='text/html' href='http://liyasker.blogspot.com/2010/03/log-on-through-windows-authentication.html' title='Log on through windows authentication to the Different Domain SQL Server'/><author><name>Liyasker</name><uri>http://www.blogger.com/profile/03437087723799995061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_FZTBGB-QkZc/SXRK-2Cw7LI/AAAAAAAAAAw/gbRBGnammVQ/S220/Sam_id+photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2964626951147142569.post-3000540168964365089</id><published>2010-03-03T02:21:00.000-08:00</published><updated>2010-03-24T03:48:49.251-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SSIS'/><title type='text'>SSIS Expression</title><content type='html'>Please go through this. This will help to write expression in SSIS Package.&lt;br /&gt;&lt;a href="http://www.pragmaticworks.com/cheatsheet/"&gt;http://www.pragmaticworks.com/cheatsheet/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2964626951147142569-3000540168964365089?l=liyasker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liyasker.blogspot.com/feeds/3000540168964365089/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2964626951147142569&amp;postID=3000540168964365089' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/3000540168964365089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/3000540168964365089'/><link rel='alternate' type='text/html' href='http://liyasker.blogspot.com/2010/03/ssis-expression.html' title='SSIS Expression'/><author><name>Liyasker</name><uri>http://www.blogger.com/profile/03437087723799995061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_FZTBGB-QkZc/SXRK-2Cw7LI/AAAAAAAAAAw/gbRBGnammVQ/S220/Sam_id+photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2964626951147142569.post-7444275832723933563</id><published>2010-02-10T04:16:00.001-08:00</published><updated>2010-03-24T03:49:17.990-07:00</updated><title type='text'></title><content type='html'>&lt;span xmlns=''&gt;&lt;p&gt;&lt;br /&gt; &lt;/p&gt;&lt;p&gt;&lt;br /&gt; &lt;/p&gt;&lt;p&gt;&lt;br /&gt; &lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;div&gt;&lt;strong&gt;A)&lt;/strong&gt; Create String Variable "&lt;strong&gt;SourcePath"&lt;/strong&gt; for the Source Folder and Assign Value C:\DatFiles\Pending&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;B)&lt;/strong&gt; Select Script Component from Transformation Control and choose the "Source Option" and &lt;br /&gt;&lt;/p&gt;&lt;p&gt;Edit Script component and set Read Only Variable like here.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;					&lt;/p&gt;&lt;p&gt;&lt;br /&gt; &lt;/p&gt;&lt;p&gt;&lt;br /&gt; &lt;/p&gt;&lt;/li&gt;&lt;li&gt;Create OutPut Columns and set the datatype to hold the Out put rows&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;br /&gt;			&lt;/p&gt;&lt;p&gt;3    a) Read File Names from Folder using VB.Net or C#.NET &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;&lt;span style='color:blue'&gt;public&lt;/span&gt;&lt;br /&gt;					&lt;span style='color:blue'&gt;override&lt;/span&gt;&lt;br /&gt;					&lt;span style='color:blue'&gt;void&lt;/span&gt; CreateNewOutputRows()&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;        {&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;br /&gt; &lt;/p&gt;&lt;p&gt;                &lt;br /&gt; &lt;/p&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;&lt;br /&gt;					&lt;span style='color:blue'&gt;string&lt;/span&gt; folderPath = &lt;span style='color:#a31515'&gt;""&lt;/span&gt;;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;&lt;br /&gt;					&lt;span style='color:green'&gt;// Asign Package Variable Path to local Variable&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;        folderPath = Variables.SourcePath;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;&lt;br /&gt;					&lt;span style='color:#2b91af'&gt;DirectoryInfo&lt;/span&gt; dir = &lt;span style='color:blue'&gt;new&lt;/span&gt;&lt;br /&gt;					&lt;span style='color:#2b91af'&gt;DirectoryInfo&lt;/span&gt;(folderPath);&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;&lt;br /&gt;					&lt;span style='color:blue'&gt;if&lt;/span&gt;(dir.Exists)&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;        {&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;&lt;br /&gt;					&lt;span style='color:blue'&gt;if&lt;/span&gt; (dir.GetFiles().Length &amp;gt; 0)&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;            {&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;&lt;br /&gt;					&lt;span style='color:#2b91af'&gt;FileInfo&lt;/span&gt;[] dirFiles = dir.GetFiles();&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;&lt;br /&gt;					&lt;span style='color:blue'&gt;foreach&lt;/span&gt; (&lt;span style='color:#2b91af'&gt;FileInfo&lt;/span&gt; fiInfo &lt;span style='color:blue'&gt;in&lt;/span&gt; dirFiles)&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;                {&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;                    SourceFilesBuffer.AddRow();&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;                    SourceFilesBuffer.FileName = fiInfo.Name;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;                    SourceFilesBuffer.CreatedDate = fiInfo.CreationTime;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;                }&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;            }            &lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family:Courier New; font-size:10pt'&gt;        }     &lt;/span&gt;&lt;br /&gt;			&lt;/p&gt;&lt;p&gt;&lt;br /&gt; &lt;/p&gt;&lt;p&gt;b) Write OutPut in to OLEDB Table like step 1. B)&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt; &lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;div&gt;A) Create &lt;strong&gt;Source File&lt;/strong&gt; and &lt;strong&gt;Pending Files&lt;/strong&gt; Variables for Load Current Filename  and Hold All Filenames Respectively&lt;br /&gt;&lt;/div&gt;&lt;p&gt;b) Select Source Filenames from OLEDB Table and Assign Rows into PendingFiles Object Variable &lt;br /&gt;&lt;/p&gt;&lt;p&gt;Using &lt;strong&gt;Execute SQL Task Editor&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Please refer the URL….&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt; &lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;br /&gt;			&lt;/p&gt;&lt;p&gt;&lt;br /&gt; &lt;/p&gt;&lt;p&gt;&lt;br /&gt; &lt;/p&gt;&lt;ol&gt;&lt;li&gt;Read Pending Files from collection Object and Assign Current File Name in to SourceFile Variable&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;br /&gt;			&lt;/p&gt;&lt;p&gt;&lt;br /&gt; &lt;/p&gt;&lt;p&gt;&lt;br /&gt; &lt;/p&gt;&lt;p&gt;&lt;br /&gt;			&lt;/p&gt;&lt;p&gt;&lt;br /&gt; &lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;div&gt;Assign Variable Name in to Source File Connection&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Note: &lt;/strong&gt;If you assign only the Variable Name in the Connection String then it will work in Development Environment. It won't work in Production. So specify the File Path With \\ &lt;br /&gt;&lt;/p&gt;&lt;p style='margin-left: 18pt'&gt;&lt;br /&gt;					&lt;/p&gt;&lt;p style='margin-left: 18pt'&gt;&lt;br /&gt; &lt;/p&gt;&lt;p style='margin-left: 18pt'&gt;&lt;br /&gt; &lt;/p&gt;&lt;p style='margin-left: 18pt'&gt;&lt;br /&gt; &lt;/p&gt;&lt;p style='margin-left: 18pt'&gt;I Hope this will Help you to Read Files from folder Using Script component Source and do the looping over the files using For Each Loop.&lt;br /&gt;&lt;/p&gt;&lt;p style='margin-left: 18pt'&gt;&lt;br /&gt; &lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2964626951147142569-7444275832723933563?l=liyasker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liyasker.blogspot.com/feeds/7444275832723933563/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2964626951147142569&amp;postID=7444275832723933563' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/7444275832723933563'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/7444275832723933563'/><link rel='alternate' type='text/html' href='http://liyasker.blogspot.com/2010/02/create-string-variable-sourcepath-for_10.html' title=''/><author><name>Liyasker</name><uri>http://www.blogger.com/profile/03437087723799995061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_FZTBGB-QkZc/SXRK-2Cw7LI/AAAAAAAAAAw/gbRBGnammVQ/S220/Sam_id+photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2964626951147142569.post-911002236929280863</id><published>2010-02-10T03:55:00.000-08:00</published><updated>2010-06-30T05:57:45.682-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SSIS'/><title type='text'>Read Files From Folder</title><content type='html'>&lt;div class="Section1"&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: #1f497d;"&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;A)&lt;/b&gt; Create String Variable “&lt;b&gt;SourcePath”&lt;/b&gt; for the Source Folder and Assign Value C:\DatFiles\Pending&lt;/div&gt;&lt;div class="MsoListParagraph"&gt;&lt;b&gt;B)&lt;/b&gt; Select Script Component from Transformation Control and choose the “Source Option” and &lt;/div&gt;&lt;div class="MsoListParagraph"&gt;Edit Script component and set Read Only Variable like here.&lt;/div&gt;&lt;div class="MsoListParagraph"&gt;&lt;/div&gt;&lt;div class="MsoListParagraph"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoListParagraph"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoListParagraph" style="mso-list: l0 level1 lfo2; text-indent: -0.25in;"&gt;&lt;span style="mso-list: Ignore;"&gt;1.&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Create OutPut Columns and set the datatype to hold the Out put rows&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;img height="590" id="Picture_x0020_6" src="cid:image002.png@01CAAA6A.73E01100" width="624" /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;3&amp;nbsp;&amp;nbsp;&amp;nbsp; a) Read File Names from Folder using VB.Net or C#.NET &lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0pt; text-indent: 0.5in;"&gt;&lt;span style="color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;public&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; &lt;span style="color: blue;"&gt;override&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; CreateNewOutputRows()&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0pt;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&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;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;string&lt;/span&gt; folderPath = &lt;span style="color: #a31515;"&gt;""&lt;/span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: green;"&gt;// Asign Package Variable Path to local Variable&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; folderPath = Variables.SourcePath;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af;"&gt;DirectoryInfo&lt;/span&gt; dir = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;DirectoryInfo&lt;/span&gt;(folderPath);&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;if&lt;/span&gt;(dir.Exists)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&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 style="color: blue;"&gt;if&lt;/span&gt; (dir.GetFiles().Length &amp;gt; 0)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&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;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&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 style="color: #2b91af;"&gt;FileInfo&lt;/span&gt;[] dirFiles = dir.GetFiles();&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&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 style="color: blue;"&gt;foreach&lt;/span&gt; (&lt;span style="color: #2b91af;"&gt;FileInfo&lt;/span&gt; fiInfo &lt;span style="color: blue;"&gt;in&lt;/span&gt; dirFiles)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&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;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&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; SourceFilesBuffer.AddRow();&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&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; SourceFilesBuffer.FileName = fiInfo.Name;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&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; SourceFilesBuffer.CreatedDate = fiInfo.CreationTime;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&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;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&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; &lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; line-height: 115%;"&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;/div&gt;&lt;div class="MsoNormal"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;b) Write OutPut in to OLEDB Table like step 1. B)&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b&gt;&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoListParagraph" style="mso-list: l1 level1 lfo4; text-indent: -0.25in;"&gt;&lt;span style="mso-list: Ignore;"&gt;4.&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;A) Create &lt;b&gt;Source File&lt;/b&gt; and &lt;b&gt;Pending Files&lt;/b&gt; Variables for Load Current Filename&amp;nbsp; and Hold All Filenames Respectively&lt;/div&gt;&lt;div class="MsoListParagraph"&gt;b) Select Source Filenames from OLEDB Table and Assign Rows into PendingFiles Object Variable &lt;/div&gt;&lt;div class="MsoListParagraph"&gt;Using &lt;b&gt;Execute SQL Task Editor&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoListParagraph"&gt;Please refer the URL….&lt;/div&gt;&lt;div class="MsoListParagraph"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;img height="111" id="Picture_x0020_2" src="cid:image003.png@01CAAA6A.73E01100" width="498" /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoListParagraph" style="mso-list: l1 level1 lfo4; text-indent: -0.25in;"&gt;&lt;span style="mso-list: Ignore;"&gt;5.&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Read Pending Files from collection Object and Assign Current File Name in to SourceFile Variable&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;img height="539" id="Picture_x0020_3" src="cid:image004.png@01CAAA6A.73E01100" width="561" /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;img height="537" id="Picture_x0020_4" src="cid:image005.png@01CAAA6A.73E01100" width="561" /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoListParagraph" style="margin-left: 0.25in; mso-list: l1 level1 lfo4; text-indent: -0.25in;"&gt;&lt;span style="mso-list: Ignore;"&gt;6.&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Assign Variable Name in to Source File Connection&lt;/div&gt;&lt;div class="MsoListParagraph" style="margin-left: 0.25in;"&gt;&lt;b&gt;Note: &lt;/b&gt;If you assign only the Variable Name in the Connection String then it will work in Development Environment. It won’t work in Production. So specify the File Path With \\ &lt;/div&gt;&lt;div class="MsoListParagraph"&gt;&lt;img height="390" id="Picture_x0020_5" src="cid:image006.jpg@01CAAA6A.73E01100" width="623" /&gt;&lt;/div&gt;&lt;div class="MsoListParagraph"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoListParagraph"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoListParagraph"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoListParagraph"&gt;I Hope this will Help you to Read Files from folder Using Script component Source and do the looping over the files using For Each Loop.&lt;/div&gt;&lt;div class="MsoListParagraph"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoListParagraph"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;hr /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2964626951147142569-911002236929280863?l=liyasker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liyasker.blogspot.com/feeds/911002236929280863/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2964626951147142569&amp;postID=911002236929280863' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/911002236929280863'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/911002236929280863'/><link rel='alternate' type='text/html' href='http://liyasker.blogspot.com/2010/02/read-files-from-folder_10.html' title='Read Files From Folder'/><author><name>Liyasker</name><uri>http://www.blogger.com/profile/03437087723799995061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_FZTBGB-QkZc/SXRK-2Cw7LI/AAAAAAAAAAw/gbRBGnammVQ/S220/Sam_id+photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2964626951147142569.post-1669241701302615769</id><published>2010-02-01T01:59:00.000-08:00</published><updated>2010-03-24T04:08:38.641-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MDX Script'/><title type='text'>MDX - Top 10 and Others</title><content type='html'>&lt;div&gt;&lt;span style="color: blue;"&gt;&lt;span style="color: blue;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;WITH&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: blue;"&gt;&lt;span style="color: blue;"&gt;SET&lt;/span&gt;&lt;/span&gt; [top 10] &lt;span style="color: blue;"&gt;&lt;span style="color: blue;"&gt;AS&lt;/span&gt;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: maroon;"&gt;&lt;span style="color: maroon;"&gt;&lt;span style="font-size: x-small;"&gt;TopCount&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;(&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;[Product].[Product Name].[Product Name].&lt;span style="color: blue;"&gt;&lt;span style="color: blue;"&gt;MEMBERS&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;,10&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;,[Measures].[Spend]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;) &lt;/span&gt;&lt;br /&gt;&lt;span style="color: green;"&gt;&lt;span style="color: green;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;// MEMBER [Product].[Product Name].[Others] AS &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;// Aggregate([Product].[Product Name].[Product Name].MEMBERS - [top 10])&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;// OR&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: blue;"&gt;&lt;span style="color: blue;"&gt;MEMBER&lt;/span&gt;&lt;/span&gt; [Product].[Product Name].[Others] &lt;span style="color: blue;"&gt;&lt;span style="color: blue;"&gt;AS&lt;/span&gt;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: maroon;"&gt;&lt;span style="color: maroon;"&gt;Aggregate&lt;/span&gt;&lt;/span&gt;(&lt;span style="color: maroon;"&gt;&lt;span style="color: maroon;"&gt;EXCEPT&lt;/span&gt;&lt;/span&gt;([Product].[Product Name].[Product Name].&lt;span style="color: blue;"&gt;&lt;span style="color: blue;"&gt;MEMBERS&lt;/span&gt;&lt;/span&gt;,[top 10]))&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: blue;"&gt;&lt;span style="color: blue;"&gt;SET&lt;/span&gt;&lt;/span&gt; [Top 10 AND rollup] &lt;span style="color: blue;"&gt;&lt;span style="color: blue;"&gt;AS&lt;/span&gt;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;[top 10]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;,[Product].[Product Name].[Others]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;} &lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;&lt;span style="color: blue;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;SELECT&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;{[Measures].[Spend]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;,[Measures].[Spend Ratio Over Product] &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;} &lt;span style="color: blue;"&gt;&lt;span style="color: blue;"&gt;ON&lt;/span&gt;&lt;/span&gt; &lt;span style="color: blue;"&gt;&lt;span style="color: blue;"&gt;COLUMNS&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;,{[Top 10 AND rollup]} &lt;span style="color: blue;"&gt;&lt;span style="color: blue;"&gt;ON&lt;/span&gt;&lt;/span&gt; &lt;/span&gt;&lt;span style="color: blue;"&gt;&lt;span style="color: blue;"&gt;&lt;span style="font-size: x-small;"&gt;ROWS&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; [FactPurchase] &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;FROM&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2964626951147142569-1669241701302615769?l=liyasker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liyasker.blogspot.com/feeds/1669241701302615769/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2964626951147142569&amp;postID=1669241701302615769' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/1669241701302615769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/1669241701302615769'/><link rel='alternate' type='text/html' href='http://liyasker.blogspot.com/2010/02/with-set-top-10-as-topcount-product.html' title='MDX - Top 10 and Others'/><author><name>Liyasker</name><uri>http://www.blogger.com/profile/03437087723799995061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_FZTBGB-QkZc/SXRK-2Cw7LI/AAAAAAAAAAw/gbRBGnammVQ/S220/Sam_id+photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2964626951147142569.post-7312726201268191028</id><published>2010-01-13T04:57:00.000-08:00</published><updated>2010-03-16T06:04:21.490-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Script'/><title type='text'>SQL OVER() - Perform SQl Aggregate With out Group by</title><content type='html'>&lt;p&gt;&lt;strong&gt;Use Aggregate Function With out Group by:&lt;/strong&gt;&lt;br /&gt; SQL Over()  Function:&lt;br /&gt;&lt;br /&gt;The real use of this function is&lt;br /&gt;1.       Find Sales ratio of each month sales out of the current year&lt;br /&gt;2.       Find Sales ratio of each product sales out of all product&lt;br /&gt;3.       Find Sales ratio of each division sales out of all division&lt;br /&gt;Example&lt;br /&gt;1.  (SUM(Sales) OVER (PARTITION BY Year,Month) / SUM(Sales) OVER (PARTITION BY Year)) *100&lt;br /&gt;2.  (SUM(Sales) OVER (PARTITION BY product) /  SUM(Sales) OVER ()) *100&lt;br /&gt;3.  (SUM(Sales) OVER (PARTITION BY division) / SUM(Sales) OVER ()) *100&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;--Example1:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;DECLARE @FactSale TABLE(ID INT IDENTITY(1,1),ProductName VARCHAR(50),Amount INT)&lt;br /&gt;INSERT INTO @FactSale(ProductName,Amount)&lt;br /&gt;SELECT 'Samsung',40&lt;br /&gt;UNION&lt;br /&gt;SELECT 'LG',60&lt;br /&gt;UNION&lt;br /&gt;SELECT 'Sony',100&lt;br /&gt;&lt;br /&gt;SELECT ProductName&lt;br /&gt;,Amount&lt;br /&gt;,SUM(Amount) OVER () TotalSales&lt;br /&gt;,(CAST(SUM(Amount) OVER (PARTITION BY ProductName) AS NUMERIC(10,2)) / CAST(SUM(Amount) OVER () AS NUMERIC(10,2))) * 100 AS SalesRatiobyProduct&lt;br /&gt;FROM @FactSale&lt;br /&gt; --Example2:&lt;br /&gt;DECLARE @FactSale1 TABLE(ID INT IDENTITY(1,1),Year INT,Month VARCHAR(10),Amount INT)&lt;br /&gt;INSERT INTO @FactSale1(Year,Month,Amount)&lt;br /&gt;SELECT 2008,'Jan',600&lt;br /&gt;UNION&lt;br /&gt;SELECT 2008,'Feb',700&lt;br /&gt;UNION&lt;br /&gt;SELECT 2008,'Mar',200&lt;br /&gt;UNION&lt;br /&gt;SELECT 2008,'Apr',500&lt;br /&gt;UNION&lt;br /&gt;SELECT 2009,'Jan',40&lt;br /&gt;UNION&lt;br /&gt;SELECT 2009,'Feb',60&lt;br /&gt;union&lt;br /&gt;SELECT 2009,'Mar',70&lt;br /&gt;UNION&lt;br /&gt;SELECT 2009,'Apr',30&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SELECT Year&lt;br /&gt;,Month&lt;br /&gt;,Amount&lt;br /&gt;,SUM(Amount) OVER () AS TotalSales&lt;br /&gt;,SUM(Amount) OVER (PARTITION BY Year) AS TotalSalesbyYear&lt;br /&gt;,(CAST(SUM(Amount) OVER (PARTITION BY Year,Month) AS NUMERIC(10,2)) / CAST(SUM(Amount) OVER (PARTITION BY Year) AS NUMERIC(10,2))) * 100 AS SalesRatiobyMonth&lt;br /&gt;FROM @FactSale1&lt;/p&gt;&lt;p&gt;Please go through this for more information&lt;/p&gt;&lt;p&gt;ms-help://MS.SQLCC.v10/MS.SQLSVR.v10.en/s10de_6tsql/html/ddcef3a6-0341-43e0-ae73-630484b7b398.htm&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2964626951147142569-7312726201268191028?l=liyasker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liyasker.blogspot.com/feeds/7312726201268191028/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2964626951147142569&amp;postID=7312726201268191028' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/7312726201268191028'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/7312726201268191028'/><link rel='alternate' type='text/html' href='http://liyasker.blogspot.com/2010/01/sql-over-perform-sql-aggregate-with-out.html' title='SQL OVER() - Perform SQl Aggregate With out Group by'/><author><name>Liyasker</name><uri>http://www.blogger.com/profile/03437087723799995061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_FZTBGB-QkZc/SXRK-2Cw7LI/AAAAAAAAAAw/gbRBGnammVQ/S220/Sam_id+photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2964626951147142569.post-7458628746877380485</id><published>2009-11-03T06:51:00.000-08:00</published><updated>2010-03-31T07:34:33.907-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MDX Script'/><title type='text'>SSAS NamedSet for FiscalTime and CalendarTime</title><content type='html'>&lt;strong&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;Here i have described some the useful Fiscal and Calendar NamedSet&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;strong&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;Last Years&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;Last Quartes&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;Last Months&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;Current Month&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;LastDays&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;Current Fiscal Months&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;Fiscal Months&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;Last Calendar Month&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;&lt;/ol&gt;&lt;strong&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;Calendar Time Namedset&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;1. Last Years:&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;ORDER(&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;LASTPERIODS(3, StrToMember("&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;[Date].[Time].[Year].&amp;amp;["&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+ Format(Now(),"yyyy")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+"]"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;,[Date].[Time].CURRENTMEMBER.PROPERTIES("ID", TYPED), BDESC)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;2. Last Quarters&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;ORDER(&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;LASTPERIODS(4, StrToMember("[Date].[Time].[Year].&amp;amp;["&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+ Format(Now(), "yyyy")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+ "].&amp;amp;["&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+ Format(Now(), "yyyy")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+ "]&amp;amp;["&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+ cstr(datepart( "q", Now()))&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+ "]"))&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;,[Date].[Time].CURRENTMEMBER.PROPERTIES("ID", TYPED), BDESC)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&lt;strong&gt;3.LastMonths&lt;/strong&gt;ORDER(&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;LASTPERIODS(6, StrToMember("&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;[Date].[Time].[Year].&amp;amp;["&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+ Format(Now(),"yyyy")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+"].&amp;amp;["&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+ Format(Now(), "yyyy")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+"]&amp;amp;["&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+ cstr(datepart("q", Now()))&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+"].&amp;amp;["&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+ Format(Now(), "yyyy")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+"]&amp;amp;["&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+ Format(Now(),"MM")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+"]"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;,[Date].[Time].CURRENTMEMBER.PROPERTIES("ID", TYPED), BDESC)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;4.Current Month:&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;StrToMember("&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;[Date].[Time].[Year].&amp;amp;["&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+ Format(Now(),"yyyy")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+"].&amp;amp;["&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+ Format(Now(), "yyyy")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+"]&amp;amp;["&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+ cstr(datepart("q", Now()))&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+"].&amp;amp;["&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+ Format(Now(), "yyyy")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+"]&amp;amp;["&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+ Format(Now(),"MM")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+"]"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;5. LastDays&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;ORDER(&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;LASTPERIODS(30, StrToMember("&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;[Date].[Time].[Year].&amp;amp;["&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+ Format(Now(), "yyyy")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+ "].&amp;amp;["&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+ Format(Now(), "yyyy")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+ "]&amp;amp;["&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+ cstr(datepart( "q", Now()))&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+ "].&amp;amp;["&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+ Format(Now(), "yyyy")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+ "]&amp;amp;["&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+ Format(Now(), "MM")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+ "].&amp;amp;["&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+ Format(Now(), "dd")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+ "]"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;,[Date].[Time].CURRENTMEMBER.PROPERTIES("ID", TYPED), BDESC)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;6.Current Fiscal Months&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;ORDER(&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;StrToMember("[Date].[Fiscal Time].[Fiscal Year].&amp;amp;[" +&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;CASE WHEN CINT(Format(Now(),"MM")) &amp;gt;= 4 THEN Format(Now(), "yyyy")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;ELSE CSTR(CINT(Format(Now(), "yyyy")) - 1) END + "].&amp;amp;[" +&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;CASE WHEN CINT(Format(Now(),"MM")) &amp;gt;= 4 THEN Format(Now(), "yyyy")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;ELSE CSTR(CINT(Format(Now(), "yyyy")) - 1) END + "]&amp;amp;[1].&amp;amp;[" +&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;CASE WHEN CINT(Format(Now(),"MM")) &amp;gt;= 4 THEN Format(Now(), "yyyy")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;ELSE CSTR(CINT(Format(Now(), "yyyy")) - 1) END + "]&amp;amp;[1]")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;StrToMember("[Date].[Fiscal Time].[Fiscal Year].&amp;amp;[" +&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;CASE WHEN CINT(Format(Now(),"MM")) &amp;gt;= 4 THEN Format(Now(), "yyyy")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;ELSE CSTR(CINT(Format(Now(), "yyyy")) - 1) END + "].&amp;amp;[" +&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;CASE WHEN CINT(Format(Now(),"MM")) &amp;gt;= 4 THEN Format(Now(), "yyyy")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;ELSE CSTR(CINT(Format(Now(), "yyyy")) - 1) END + "]&amp;amp;[" +&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;CASE WHEN CINT(Format(Now(),"MM")) &amp;gt;= 4 THEN CSTR(CINT(DATEPART("q", Now())) - 1)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;ELSE CSTR(CINT(DATEPART("q", Now())) + 3) END + "].&amp;amp;[" +&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;CASE WHEN CINT(Format(Now(),"MM")) &amp;gt;= 4 THEN Format(Now(), "yyyy")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;ELSE CSTR(CINT(Format(Now(), "yyyy")) - 1) END + "]&amp;amp;[" +&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;CASE WHEN Format(Now(),"MM") &amp;gt;= 4 THEN CSTR(CINT(Format(Now(),"MM")) - 3)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;ELSE CSTR(CINT(Format(Now(),"MM")) + 9) END + "]"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;,[Date].[Fiscal Time].CURRENTMEMBER.PROPERTIES("ID", TYPED), DESC)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;7. Fiscal Months&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;ORDER(&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;LASTPERIODS(3, StrToMember("[Date].[Fiscal Time].[Fiscal Year].&amp;amp;[" +&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;CASE WHEN CINT(Format(Now(),"MM")) &amp;gt;= 4 THEN Format(Now(), "yyyy")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;ELSE CSTR(CINT(Format(Now(), "yyyy")) - 1) END + "].&amp;amp;[" +&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;CASE WHEN CINT(Format(Now(),"MM")) &amp;gt;= 4 THEN Format(Now(), "yyyy")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;ELSE CSTR(CINT(Format(Now(), "yyyy")) - 1) END + "]&amp;amp;[" +&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;CASE WHEN CINT(Format(Now(),"MM")) &amp;gt;= 4 THEN CSTR(CINT(DATEPART("q", Now())) - 1)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;ELSE CSTR(CINT(DATEPART("q", Now())) + 3) END + "].&amp;amp;[" +&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;CASE WHEN CINT(Format(Now(),"MM")) &amp;gt;= 4 THEN Format(Now(), "yyyy")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;ELSE CSTR(CINT(Format(Now(), "yyyy")) - 1) END + "]&amp;amp;[" +&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;CASE WHEN Format(Now(),"MM") &amp;gt;= 4 THEN CSTR(CINT(Format(Now(),"MM")) - 3)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;ELSE CSTR(CINT(Format(Now(),"MM")) + 9) END + "]"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;)),[Date].[Fiscal Time].CURRENTMEMBER.PROPERTIES("ID", TYPED), DESC)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;8. Last&amp;nbsp;Calendar Month&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;STRTOMEMBER("&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;[Date].[Time].[Year].&amp;amp;["&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+ Format(Now(),"yyyy") &lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+"].&amp;amp;["&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+ Format(Now(), "yyyy") &lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+"]&amp;amp;[" &lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+ cstr(datepart("q", Now())) &lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+"].&amp;amp;[" &lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+ Format(Now(), "yyyy") &lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+"]&amp;amp;[" &lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+ Format(Now(),"MM") &lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+"].PREVMEMBER"&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2964626951147142569-7458628746877380485?l=liyasker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liyasker.blogspot.com/feeds/7458628746877380485/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2964626951147142569&amp;postID=7458628746877380485' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/7458628746877380485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/7458628746877380485'/><link rel='alternate' type='text/html' href='http://liyasker.blogspot.com/2009/11/ssas-namedset-for-fiscaltime-and.html' title='SSAS NamedSet for FiscalTime and CalendarTime'/><author><name>Liyasker</name><uri>http://www.blogger.com/profile/03437087723799995061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_FZTBGB-QkZc/SXRK-2Cw7LI/AAAAAAAAAAw/gbRBGnammVQ/S220/Sam_id+photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2964626951147142569.post-8204921538276429110</id><published>2009-10-09T00:55:00.000-07:00</published><updated>2010-03-16T06:02:29.032-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Performancepoint Server'/><title type='text'>PPS Error Msg : Unable to connect to Remote server</title><content type='html'>I got the follwing err Message after i did the PPS Instalation.&lt;br /&gt;"&lt;br /&gt;PPS - Error Code - 3008 Message : A configuration error has occurred( Unable to connect to Remote server)&lt;br /&gt;"&lt;br /&gt;&lt;strong&gt;Detail Error Msg&lt;/strong&gt;&lt;br /&gt;Event code: 3008 Event message: A configuration error has occurred. Event time: 10/8/2009 12:09:23 PM Event time (UTC): 10/8/2009 7:09:23 PM Event ID: 6a954f77e2cf4aa1a756c50f9cfeb8ef Event sequence: 1 Event occurrence: 1 Event detail code: 0  Application information:     Application domain: /LM/W3SVC/774163112/Root/WebService-9-128995025636718750     Trust level: Full     Application Virtual Path: /WebService     Application Path: C:\Program Files\Microsoft Office PerformancePoint Server\3.0\Monitoring\PPSMonitoring_1\WebService\     Machine name: 25070_2_165763  Process information:     Process ID: 4200     Process name: w3wp.exe     Account name: NT AUTHORITY\NETWORK SERVICE  Exception information:     Exception type: HttpException     Exception message: Could not load file or assembly 'System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified. (C:\Program Files\Microsoft Office PerformancePoint Server\3.0\Monitoring\PPSMonitoring_1\WebService\web.config line 25)  Request information:     Request URL: &lt;a href="http://74.3.234.9:40000/WebService/PmService.asmx"&gt;http://74.3.234.9:40000/WebService/PmService.asmx&lt;/a&gt;     Request path: /WebService/PmService.asmx     User host address: 74.3.234.9     User:      Is authenticated: False     Authentication Type:      Thread account name: NT AUTHORITY\NETWORK SERVICE  Thread information:     Thread ID: 1     Thread account name: NT AUTHORITY\NETWORK SERVICE     Is impersonating: False     Stack trace:    at System.Web.Compilation.BuildManager.ReportTopLevelCompilationException()   at System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled()   at System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters)  Custom event details:&lt;br /&gt;For more information, see Help and Support Center at &lt;a href="http://go.microsoft.com/fwlink/events.asp"&gt;http://go.microsoft.com/fwlink/events.asp&lt;/a&gt;.&lt;br /&gt;"&lt;br /&gt;&lt;br /&gt;I refered the following link it solve my issue.&lt;br /&gt;&lt;br /&gt;Block Question:&lt;br /&gt;&lt;a href="http://74.125.153.132/search?q=cache:onAi3XCJ0ocJ:social.technet.microsoft.com/forums/en-US/ppsmonitoringandanalytics/thread/c83614c0-547f-4243-b6c5-1c04629c9b14/+PPS+%2B+Event+code+3008+%2B+Event+message:+A+configuration+error+has+occurred.&amp;amp;cd=2&amp;amp;hl=en&amp;amp;ct=clnk&amp;amp;gl=in"&gt;http://74.125.153.132/search?q=cache:onAi3XCJ0ocJ:social.technet.microsoft.com/forums/en-US/ppsmonitoringandanalytics/thread/c83614c0-547f-4243-b6c5-1c04629c9b14/+PPS+%2B+Event+code+3008+%2B+Event+message:+A+configuration+error+has+occurred.&amp;amp;cd=2&amp;amp;hl=en&amp;amp;ct=clnk&amp;amp;gl=in&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Answer:&lt;br /&gt;&lt;a href="http://blogs.msdn.com/fooshen/archive/2008/10/18/performance-point-server-2007-and-ajax-on-sharepoint.aspx"&gt;http://blogs.msdn.com/fooshen/archive/2008/10/18/performance-point-server-2007-and-ajax-on-sharepoint.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2964626951147142569-8204921538276429110?l=liyasker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liyasker.blogspot.com/feeds/8204921538276429110/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2964626951147142569&amp;postID=8204921538276429110' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/8204921538276429110'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/8204921538276429110'/><link rel='alternate' type='text/html' href='http://liyasker.blogspot.com/2009/10/pps-error-msg-unable-to-connect-to.html' title='PPS Error Msg : Unable to connect to Remote server'/><author><name>Liyasker</name><uri>http://www.blogger.com/profile/03437087723799995061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_FZTBGB-QkZc/SXRK-2Cw7LI/AAAAAAAAAAw/gbRBGnammVQ/S220/Sam_id+photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2964626951147142569.post-6753371944047646088</id><published>2009-10-09T00:45:00.000-07:00</published><updated>2010-03-16T06:02:29.032-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Performancepoint Server'/><title type='text'>Unable to connect to SQL Server 2005 Analysis Services from Dashboard Designer</title><content type='html'>&lt;strong&gt;I got the folowing error Msg in Dashboard Designer after i did the PPS Instalalation.&lt;/strong&gt;&lt;br /&gt;"&lt;br /&gt;The PerformancePoint Server could not connect to the specified data source. Verify that either the current user or application pool user has Read permissions to the data source, depending on your security configuration. Also verify that all required connection information is provided and correct."&lt;br /&gt;Please refer this link for more detail. It solve my issue.&lt;br /&gt;&lt;a href="http://74.125.153.132/search?q=cache:thQqD6WhI7AJ:social.technet.microsoft.com/Forums/en-US/ppsmonitoringandanalytics/thread/a1633bfb-6dad-49de-9a8e-0d130e586f10+PPS+could+not+connect+to+Sql+server+Analysis+Server+Database&amp;amp;cd=1&amp;amp;hl=en&amp;amp;ct=clnk&amp;amp;gl=in"&gt;http://74.125.153.132/search?q=cache:thQqD6WhI7AJ:social.technet.microsoft.com/Forums/en-US/ppsmonitoringandanalytics/thread/a1633bfb-6dad-49de-9a8e-0d130e586f10+PPS+could+not+connect+to+Sql+server+Analysis+Server+Database&amp;amp;cd=1&amp;amp;hl=en&amp;amp;ct=clnk&amp;amp;gl=in&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Answer:&lt;/strong&gt;&lt;br /&gt;If everything is installed on the same server then you could setup these local accounts that you have running the Application Pools to have the proper read permissions to the SSAS database by adding them into a Role with Read Definition and Read-only access to the cube(s).  If you want to pass your credentials then you need to go into the &lt;span style="color:#ff0000;"&gt;&lt;strong&gt;web.config files in the Web Service, Preview, and SharePoint directories&lt;/strong&gt; and modify the&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;&lt;strong&gt;Bpm.ServerConnectionPerUser&lt;/strong&gt; value in the AppSettings to &lt;strong&gt;True&lt;/strong&gt; so that the credentials of the current logged in user will be passed to the&lt;/span&gt; database.If you are in a distributed environment then you will have to look at configuring Kerberos, &lt;a href="http://www.microsoft.com/downloadS/details.aspx?FamilyID=86f0952b-2357-411f-8810-a9b7c7be7d9f"&gt;Configuring Kerberos Delegation with PerformancePoint Monitoring Server&lt;/a&gt;, or using the CustomData option outilined here - &lt;a href="http://nickbarclay.blogspot.com/2008/01/pps-data-connection-security-with.html"&gt;PPS Data Connection Security with CustomData&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2964626951147142569-6753371944047646088?l=liyasker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liyasker.blogspot.com/feeds/6753371944047646088/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2964626951147142569&amp;postID=6753371944047646088' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/6753371944047646088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/6753371944047646088'/><link rel='alternate' type='text/html' href='http://liyasker.blogspot.com/2009/10/unable-to-connect-to-sql-server-2005.html' title='Unable to connect to SQL Server 2005 Analysis Services from Dashboard Designer'/><author><name>Liyasker</name><uri>http://www.blogger.com/profile/03437087723799995061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_FZTBGB-QkZc/SXRK-2Cw7LI/AAAAAAAAAAw/gbRBGnammVQ/S220/Sam_id+photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2964626951147142569.post-7805020144017057299</id><published>2009-05-20T08:32:00.000-07:00</published><updated>2010-03-16T06:04:47.176-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MDX Script'/><title type='text'>MDX CrossJoin Rows and Columns</title><content type='html'>This Sample will help you to understand How to applay Cross Join for Dimension meber( Rows and Columns)&lt;br /&gt;&lt;br /&gt;Measures:&lt;br /&gt;Payment Amt, Curr Payment&lt;br /&gt;&lt;br /&gt;Rows : Vendor Name, Vendor Group are Rows&lt;br /&gt;Columns :  Month Name.&lt;br /&gt;&lt;br /&gt;To Find Grand Total for Each Group :&lt;br /&gt;&lt;br /&gt;[Vw Payment Details].[Vend Details].[Vend Details] .Members&lt;br /&gt;[Vw Payment Details].[VENDGROUP].[VENDGROUP].Members&lt;br /&gt;This Will give the value for each VendorName ,Vendor Group and Grand Total of Each Vendor Group.&lt;br /&gt;Note ** But It will not give the [Grand Total] All the Vendor Groups&lt;br /&gt;&lt;br /&gt;To Find Grand Total for ALL Group&lt;br /&gt;&lt;br /&gt;1. Create Named Members&lt;br /&gt;MEMBER [Vw Payment Details].[Vend Details].[Grand Total]ASAGGREGATE([Vw Payment Details].[Vend Details].[Vend Details] )MEMBER [Vw Payment Details].[VENDGROUP].[Grand Total]ASAGGREGATE([Vw Payment Details].[VENDGROUP].[VENDGROUP] )&lt;br /&gt;&lt;br /&gt;2. Call the Member Inside the Query&lt;br /&gt;&lt;br /&gt;({[Vw Payment Details].[Vend Details].[Grand Total]}&lt;br /&gt; ,{[Vw Payment Details].[VENDGROUP].[Grand Total]})&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;WITH&lt;br /&gt;MEMBER [Vw Payment Details].[Vend Details].[Grand Total]&lt;br /&gt;AS&lt;br /&gt;AGGREGATE([Vw Payment Details].[Vend Details].[Vend Details] )&lt;br /&gt;MEMBER [Vw Payment Details].[VENDGROUP].[Grand Total]&lt;br /&gt;AS&lt;br /&gt;AGGREGATE([Vw Payment Details].[VENDGROUP].[VENDGROUP] )&lt;br /&gt;SELECT&lt;br /&gt;CROSSJOIN(&lt;br /&gt;{ [Time].[Fiscal Period].[Year].&amp;amp;[2009]&amp;amp;[2009 - 2010].&amp;amp;[2]&amp;amp;[May]&lt;br /&gt;, [Time].[Fiscal Period].[Year].&amp;amp;[2009]&amp;amp;[2009 - 2010].&amp;amp;[1]&amp;amp;[April] }&lt;br /&gt;, { [Measures].[Payment Amt], [Measures].[Cur Payment Amount] }&lt;br /&gt;)&lt;br /&gt;ON COLUMNS&lt;br /&gt;,&lt;br /&gt;{&lt;br /&gt;CROSSJOIN({[Vw Payment Details].[Vend Details].[Vend Details]  AS [Vendor Name] }&lt;br /&gt;,{[Vw Payment Details].[VENDGROUP].[VENDGROUP]  AS [Vendor Group]}&lt;br /&gt;)&lt;br /&gt;,(&lt;br /&gt;{[Vw Payment Details].[Vend Details].[Grand Total]}&lt;br /&gt;,{[Vw Payment Details].[VENDGROUP].[Grand Total]}&lt;br /&gt;)&lt;br /&gt;}&lt;br /&gt;ON ROWS&lt;br /&gt;FROM [Axapta Payment Details]&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2964626951147142569-7805020144017057299?l=liyasker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liyasker.blogspot.com/feeds/7805020144017057299/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2964626951147142569&amp;postID=7805020144017057299' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/7805020144017057299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/7805020144017057299'/><link rel='alternate' type='text/html' href='http://liyasker.blogspot.com/2009/05/mdx-crossjoin-rows-and-columns.html' title='MDX CrossJoin Rows and Columns'/><author><name>Liyasker</name><uri>http://www.blogger.com/profile/03437087723799995061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_FZTBGB-QkZc/SXRK-2Cw7LI/AAAAAAAAAAw/gbRBGnammVQ/S220/Sam_id+photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2964626951147142569.post-7796022522298576666</id><published>2009-05-15T05:45:00.000-07:00</published><updated>2010-03-24T03:45:48.663-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MDX Script'/><title type='text'>SSAS MDX Query Last Transaction Date , Count Payment Due</title><content type='html'>&lt;span style="font-family:georgia;"&gt;This Post will help you to Find the Payment Due of Vendors.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;Here the Idea is Find the Last Transaction date and Last Date of Seleted Period Then subtract between this.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;This is done using -[Measure].[Day Count] Row Count of DimDate.Date column&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;And i explained some different behaviour of this.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;u&gt;&lt;span style="font-family:georgia;"&gt;1. Find LastDate Over Period(Selected Time Period)&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;This Measure is Derived from Date Dimension Table.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;strong&gt;Ex. S&lt;/strong&gt;elect Year 2009 in filter and select some Months in column then&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;Result is :&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;January : February :March&lt;br /&gt;31/1/2009 ;28/2/2009 ;31/3/2009&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:georgia;"&gt;TAIL(EXISTING [Date].[Date].[Date].MEMBERS).ITEM(0).Name&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;u&gt;&lt;span style="font-family:georgia;"&gt;2. Last Transaction Date Over Period&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:georgia;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:georgia;"&gt;Ex: Selected Month is Jan then&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:georgia;"&gt;(Date &gt;= Jan - 1 - 09 and Date &lt;= Jan - 31 -09)&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;TAIL(NonEmpty(EXISTING [Date].[Date].MEMBERS, [Measures].[Amount])).ITEM(0).NAME&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;u&gt;&lt;span style="font-family:georgia;"&gt;3. Last Transaction Date From Current Period to Previous Periods&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:georgia;"&gt;Ex: Selected Month is Jan then (Date &lt;= Jan - 31 -09)&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;Find the Transaction Date Between &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;1. All the Previous Periods : NULL &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;2. Tail Member : TAIL(EXISTING [Date].[Date].[Date].MEMBERS).ITEM(0)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;3. Look up Measure Between this Date and get the Tail Member&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:georgia;color:#000066;"&gt;TAIL(&lt;br /&gt;FILTER(&lt;br /&gt;(NULL : TAIL(EXISTING [Date].[Date].[Date].MEMBERS).ITEM(0))&lt;br /&gt;, NOT ISEMPTY([Measures].[Amount])&lt;br /&gt;)&lt;br /&gt;).ITEM(0).Name&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:georgia;"&gt;4. Count Payment Due&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;Count Date Between Last day of Each Period to Last Transaction Date of Previous Period to the Current Period&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:georgia;"&gt;Step 1: &lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;First Find the [Measures].[DayCount]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;[Measures].[DayCount] :- Count Rowl Measure from DimDate.Date Column &lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:georgia;"&gt;Step2:&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:georgia;"&gt;I).From : Last Date of Period (Jan - 31 -09)&lt;br /&gt;II). To: LastTransactionDate(NULL : (all previous Member) and Date &lt;= Jan - 31 -09) &lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:georgia;"&gt;III). Sum of DayCount Between the Period&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;font-size:85%;color:#330099;"&gt;SUM(&lt;br /&gt;{ TAIL(EXISTING [Date].[Date].[Date].MEMBERS).ITEM(0)&lt;br /&gt;:&lt;br /&gt;TAIL(&lt;br /&gt;FILTER(&lt;br /&gt;(NULL : TAIL(EXISTING [Date].[Date].[Date].MEMBERS).ITEM(0))&lt;br /&gt;, NOT ISEMPTY([Measures].[Amount])&lt;br /&gt;)&lt;br /&gt;).ITEM(0)&lt;br /&gt;}&lt;br /&gt;,[Measures].[DayCount]&lt;br /&gt;)&lt;/span&gt;&lt;/p&gt;&lt;strong&gt;&lt;span style="font-family:georgia;"&gt;5. Count Payment Due from Last Transaction Date To Last Date of current Period&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:georgia;"&gt;Ex: &lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:georgia;"&gt;1.From : Last Date of Period (Jan - 31 -09)&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:georgia;"&gt;2. To: LastTransactionDate(Date &gt;= Jan - 1 - 09 and Date &lt;= Jan - 31 -09)&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:georgia;"&gt;3. Sum of DayCount Between the Period&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#330099;"&gt;&lt;span style="font-family:courier new;"&gt;SUM(&lt;br /&gt;{ TAIL(EXISTING [Date].[Date].[Date].MEMBERS).ITEM(0)&lt;br /&gt;:&lt;br /&gt;TAIL(NonEmpty(EXISTING [Date].[Date].MEMBERS&lt;br /&gt;, [Measures].[Amount])).ITEM(0)&lt;br /&gt;}&lt;br /&gt;,[Measures].[DayCount]&lt;br /&gt;)&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;****************&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Sample Query&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;****************&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;color:#330099;"&gt;WITH&lt;br /&gt;MEMBER [Measures].[PaymentDue Previous Period] AS&lt;br /&gt;SUM(&lt;br /&gt;{ TAIL(EXISTING [Date].[Date].[Date].MEMBERS).ITEM(0)&lt;br /&gt;:&lt;br /&gt;TAIL(&lt;br /&gt;FILTER(&lt;br /&gt;(NULL : TAIL(EXISTING [Date].[Date].[Date].MEMBERS).ITEM(0))&lt;br /&gt;, NOT ISEMPTY([Measures].[Amount])&lt;br /&gt;)&lt;br /&gt;).ITEM(0)&lt;br /&gt;}&lt;br /&gt;,[Measures].[DayCount]&lt;br /&gt;)&lt;br /&gt;MEMBER [Measures].[PaymentDue Over Period] AS&lt;br /&gt;SUM(&lt;br /&gt;{ TAIL(EXISTING [Date].[Date].[Date].MEMBERS).ITEM(0)&lt;br /&gt;:&lt;br /&gt;TAIL(NonEmpty(EXISTING [Date].[Date].MEMBERS&lt;br /&gt;, [Measures].[Amount])).ITEM(0)&lt;br /&gt;}&lt;br /&gt;,[Measures].[DayCount]&lt;br /&gt;)&lt;br /&gt;&lt;br /&gt;SELECT {[Measures].[PaymentDue Previous Period]&lt;br /&gt;,[Measures].[PaymentDue Over Period]&lt;br /&gt;}&lt;br /&gt;ON ROWS,&lt;br /&gt;[Date].[Month Name].MEMBERS&lt;br /&gt;ON COLUMNS&lt;br /&gt;FROM [Vendor Ledger]&lt;br /&gt;WHERE ([Date].[Year].&amp;amp;[2008],[Vendor].[Vendor].&amp;amp;[10006])&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;In this example &lt;span style="color:#ff0000;"&gt;[Measures].[PaymentDue Over Period]&lt;/span&gt; will fit in to real time &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:courier new;"&gt;** Any Feeback about this Post are welcome **&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2964626951147142569-7796022522298576666?l=liyasker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liyasker.blogspot.com/feeds/7796022522298576666/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2964626951147142569&amp;postID=7796022522298576666' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/7796022522298576666'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/7796022522298576666'/><link rel='alternate' type='text/html' href='http://liyasker.blogspot.com/2009/05/ssas-mdx-query-lasttransaction-date.html' title='SSAS MDX Query Last Transaction Date , Count Payment Due'/><author><name>Liyasker</name><uri>http://www.blogger.com/profile/03437087723799995061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_FZTBGB-QkZc/SXRK-2Cw7LI/AAAAAAAAAAw/gbRBGnammVQ/S220/Sam_id+photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2964626951147142569.post-600970889307402219</id><published>2009-05-15T04:14:00.000-07:00</published><updated>2010-03-16T06:03:06.320-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SSAS'/><title type='text'>Create Dynamic Time Dimension Named Set in SSAS</title><content type='html'>This post will explain that How to create the Time Dimension Dynamic named set using CurrentDate .&lt;br /&gt;&lt;br /&gt;Most of the people might have know about this. This post is for self reference and sharing the knowledge.&lt;br /&gt;&lt;br /&gt;In My cube I have Calandar Time Hierarchy&lt;br /&gt;My Hierarchy is&lt;br /&gt;[Year] -&gt; [Quarter] -&gt; [Month] -&gt; [Day]&lt;br /&gt;Here i explained some Named Set.&lt;br /&gt;&lt;br /&gt;1. [Last years]&lt;br /&gt;2. [Last Quarter]&lt;br /&gt;3. [Last Months]&lt;br /&gt;4. [Last Days]&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;u&gt;Step1:&lt;/u&gt;&lt;/strong&gt; First Find the Time Dimension Hierarchy Member from your cube, and select the Hierarchy member inside your Query Window.&lt;br /&gt;&lt;strong&gt;MemberName of Year,Quarter,Month,Day :&lt;/strong&gt;&lt;br /&gt;[Date].[Time].[Year].&amp;amp;[2009]&lt;br /&gt;[Date].[Time].[Year].&amp;amp;[2009].&amp;amp;[2]&lt;br /&gt;[Date].[Time].[Year].&amp;amp;[2009].&amp;amp;[2].&amp;amp;[5]&lt;br /&gt;[Date].[Time].[Year].&amp;amp;[2009].&amp;amp;[2].&amp;amp;[5].&amp;amp;[15]&lt;br /&gt;&lt;br /&gt;Now you will get this query.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;u&gt;Step2:&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;Frame the string member as it is in the step1. then create the Name set by using [New Named Set] in the cube Calculation Tab.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000066;"&gt;The following link will help you to derive DateParts from Current Date.&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.ssas-info.com/analysis-services-faq/27-mdx/78-how-write-mdx-query-that-uses-execution-datetime-now-as-parameter"&gt;http://www.ssas-info.com/analysis-services-faq/27-mdx/78-how-write-mdx-query-that-uses-execution-datetime-now-as-parameter&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;strong&gt;1. [Last Years]&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;LASTPERIODS(3, StrToMember("[Date].[Time].[Year].&amp;amp;["&lt;br /&gt;+ Format(Now(), "yyyy")&lt;br /&gt;+ "]"))&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2.[Last Quarter]&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;LASTPERIODS(4, StrToMember("[Date].[Time].[Year].&amp;amp;["&lt;br /&gt;+ Format(Now(), "yyyy")&lt;br /&gt;+ "].&amp;amp;["&lt;br /&gt;+ cstr(datepart( "q", Now()))&lt;br /&gt;+ "]"))&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3. [Last Month]&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;LASTPERIODS(6, StrToMember("[Date].[Time].[Year].&amp;amp;["&lt;br /&gt;+ Format(Now(), "yyyy")&lt;br /&gt;+ "].&amp;amp;["&lt;br /&gt;+ cstr(datepart( "q", Now()))&lt;br /&gt;+ "].&amp;amp;["&lt;br /&gt;+ Format(Now(), "MM")&lt;br /&gt;+ "]"))&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;4.[Last Day]&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;LASTPERIODS(30, StrToMember("[Date].[Time].[Year].&amp;amp;["&lt;br /&gt;+ Format(Now(), "yyyy")&lt;br /&gt;+ "].&amp;amp;["&lt;br /&gt;+ cstr(datepart( "q", Now()))&lt;br /&gt;+ "].&amp;amp;["&lt;br /&gt;+ Format(Now(), "MM")&lt;br /&gt;+ "].&amp;amp;["&lt;br /&gt;+ Format(Now(), "dd")&lt;br /&gt;+ "]"))&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;here you can define the lastperiod as your wish.&lt;br /&gt;&lt;br /&gt;** Any feedback about this Article are Welcome **&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2964626951147142569-600970889307402219?l=liyasker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liyasker.blogspot.com/feeds/600970889307402219/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2964626951147142569&amp;postID=600970889307402219' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/600970889307402219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/600970889307402219'/><link rel='alternate' type='text/html' href='http://liyasker.blogspot.com/2009/05/create-named-set-in-ssas.html' title='Create Dynamic Time Dimension Named Set in SSAS'/><author><name>Liyasker</name><uri>http://www.blogger.com/profile/03437087723799995061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_FZTBGB-QkZc/SXRK-2Cw7LI/AAAAAAAAAAw/gbRBGnammVQ/S220/Sam_id+photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2964626951147142569.post-5969627040159604544</id><published>2009-04-21T21:39:00.000-07:00</published><updated>2010-03-24T03:46:14.794-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SSIS'/><title type='text'>Parsing different type of Column Delimited in SSIS FlatFile Data Source.</title><content type='html'>I followed this Article to achive my requirement. Very nice and Interesting.&lt;br /&gt;Parsing the diferent type of Column Delimited(Comma, tab,Colon, SemiColon) in SSIS for the Flat File Source.&lt;br /&gt;&lt;a href="http://www.sql-server-performance.com/articles/dba/import_text_files_ssis_p1.aspx"&gt;http://www.sql-server-performance.com/articles/dba/import_text_files_ssis_p1.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2964626951147142569-5969627040159604544?l=liyasker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liyasker.blogspot.com/feeds/5969627040159604544/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2964626951147142569&amp;postID=5969627040159604544' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/5969627040159604544'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/5969627040159604544'/><link rel='alternate' type='text/html' href='http://liyasker.blogspot.com/2009/04/parsing-different-type-of-column.html' title='Parsing different type of Column Delimited in SSIS FlatFile Data Source.'/><author><name>Liyasker</name><uri>http://www.blogger.com/profile/03437087723799995061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_FZTBGB-QkZc/SXRK-2Cw7LI/AAAAAAAAAAw/gbRBGnammVQ/S220/Sam_id+photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2964626951147142569.post-3415858196267299771</id><published>2009-02-12T03:07:00.000-08:00</published><updated>2010-03-24T03:47:36.303-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MDX Script'/><title type='text'>Create Named Set for Dimension Member in MDX.</title><content type='html'>WITH&lt;br /&gt;MEMBER [Dim Project].[Project Type].[T&amp;amp;M &amp;amp; FixedBid] AS '[Dim Project].[Project Type].&amp;amp;[FIXED BID] + [Dim Project].[Project Type].&amp;amp;[T &amp;amp; M PROJECTS]'&lt;br /&gt;MEMBER [Measures].[NonBillable Hours] AS&lt;br /&gt;([Measures].[Duration In Hours] ,([Dim BillableType].[Billable Type].&amp;amp;[BILL]&lt;br /&gt;,[DimBillable].[Billable].&amp;amp;[0],[T&amp;amp;M &amp;amp; FixedBid]))&lt;br /&gt;SELECT {&lt;br /&gt;[Measures].[NonBillable Hours]&lt;br /&gt;}&lt;br /&gt;ON ROWS,&lt;br /&gt;[Dim Employee].[Employee Name] ON COLUMNS&lt;br /&gt;FROM [Resource Utilization]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2964626951147142569-3415858196267299771?l=liyasker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liyasker.blogspot.com/feeds/3415858196267299771/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2964626951147142569&amp;postID=3415858196267299771' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/3415858196267299771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/3415858196267299771'/><link rel='alternate' type='text/html' href='http://liyasker.blogspot.com/2009/02/create-named-set-for-dimension-member.html' title='Create Named Set for Dimension Member in MDX.'/><author><name>Liyasker</name><uri>http://www.blogger.com/profile/03437087723799995061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_FZTBGB-QkZc/SXRK-2Cw7LI/AAAAAAAAAAw/gbRBGnammVQ/S220/Sam_id+photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2964626951147142569.post-2942165840526420193</id><published>2009-01-18T22:57:00.000-08:00</published><updated>2010-03-16T06:03:35.708-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SSAS'/><title type='text'>SSAS Cube Processing Using .Net CLR StoredProcedure</title><content type='html'>&lt;span style="font-size:85%;"&gt;There are 3 ways to Process the SSAS 2005 Cube:&lt;br /&gt;1. AMO(Analysis Management Objects) with .Net CLR Procedure&lt;br /&gt;2. Power Shell Script&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;3. SSIS ETL Package.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Here i explained my Experience with &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;strong&gt;[1.] AMO(Analysis Management Objects) with .Net CLR Procedure this is More flexible and easy to handle Cube Objects.&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;strong&gt;Step 1.&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Enable CLR in SqlDataBase &lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;SP_CONFIGURE 'CLR ENABLED',1 GO RECONFIGURE&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;Step2. Create New .Net DataBase SqlServerProject(CLR Project) with your Required DataBase connection &lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_FZTBGB-QkZc/SXQoxxvTDlI/AAAAAAAAAAU/OreyxtOUIxU/s1600-h/New+CLRProject.bmp"&gt;&lt;span style="font-size:85%;"&gt;&lt;img id="BLOGGER_PHOTO_ID_5292900297697594962" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 320px; CURSOR: hand; HEIGHT: 230px" alt="" src="http://1.bp.blogspot.com/_FZTBGB-QkZc/SXQoxxvTDlI/AAAAAAAAAAU/OreyxtOUIxU/s320/New+CLRProject.bmp" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Step3: Create Microsoft.AnalysisServices.DLL" Reference in [Cube Processing] Project &lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;1. Find "Microsoft.AnalysisServices.DLL" in C:\Program Files\Microsoft SQL Server\90\SDK\Assemblies\ and copy paste to some Folder D:\CLR Project\&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;2. &lt;strong&gt;Register Assembly in SQLServer DataBase&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;CREATE ASSEMBLY [AnalysisServices]&lt;br /&gt;FROM D:\CLR Project\Microsoft.AnalysisServices.DLL'&lt;br /&gt;WITH PERMISSION_SET = UNSAFE&lt;/span&gt; &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;3. &lt;strong&gt;Refer [AnalysisServices] Assembly &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;Right click [Cube Processing] Project and click Add Reference &lt;/span&gt;&lt;span style="font-size:85%;"&gt;and Select "Sql Server Tab" select &lt;/span&gt;&lt;/p&gt;&lt;br /&gt;[AnalysisServices] Assebly.&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_FZTBGB-QkZc/SXQ29uViurI/AAAAAAAAAAk/cSln3NZ26ow/s1600-h/Add+Reference.bmp"&gt;&lt;img id="BLOGGER_PHOTO_ID_5292915896105482930" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 359px; CURSOR: hand; HEIGHT: 218px" alt="" src="http://3.bp.blogspot.com/_FZTBGB-QkZc/SXQ29uViurI/AAAAAAAAAAk/cSln3NZ26ow/s200/Add+Reference.bmp" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Note1. Assembly will be avaliable in "SqlServer Tab" only after Creating Assembly in Datbase .&lt;br /&gt;as well as it can be seen in SQLManagementStudio -&gt; Database-&gt;Programmabillity -&gt; Assembly&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Step 4: Create Method ProcessPartition Using Microsoft.AnalysisServices Classs&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt;Process the Cube Partition using given Input Parameter Values. If ProcessDimensions is True then&lt;br /&gt;process all MeasureGroup Related Dimension&lt;br /&gt;-- Simple Code and Commented Briefly&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1. Copy Paste the code&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:100%;"&gt;using System;&lt;br /&gt;using System.Data;&lt;br /&gt;using System.Data.SqlClient;&lt;br /&gt;using System.Data.SqlTypes;&lt;br /&gt;using Microsoft.SqlServer.Server;&lt;br /&gt;using Microsoft.AnalysisServices;&lt;br /&gt;public partial class &lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;StoredProcedures&lt;br /&gt;&lt;/strong&gt;{&lt;br /&gt;[Microsoft.SqlServer.Server.SqlProcedure]&lt;br /&gt;public static void &lt;strong&gt;ProcessPartition&lt;/strong&gt;(SqlString ServerName, SqlString CatalogName, SqlString CubeName, SqlString MeasureGroupName, SqlString PartitionName, SqlBoolean ProcessDimensions)&lt;br /&gt;{&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;// Create Instance for AnalysisServer&lt;br /&gt;Microsoft.AnalysisServices.Server svr = new Microsoft.AnalysisServices.Server();&lt;br /&gt;// Create Instance for MeasureGroup&lt;br /&gt;MeasureGroup measureGroup = new MeasureGroup();&lt;br /&gt;// Connect Analysis Server Instance&lt;br /&gt;svr.Connect(ServerName.ToString());&lt;br /&gt;if ((svr != null) &amp;amp;&amp;amp; (svr.Connected))&lt;br /&gt;{&lt;br /&gt;// Connect the Analysis Server DataBase&lt;br /&gt;Microsoft.AnalysisServices.Database db = svr.Databases.FindByName(CatalogName.ToString());&lt;br /&gt;Cube cub;&lt;br /&gt;// Find the Analysis Server DataBase Cube&lt;br /&gt;cub = db.Cubes.FindByName(CubeName.ToString());&lt;br /&gt;// Find the Analysis Server DataBase Cube MeasureGroup&lt;br /&gt;measureGroup = cub.MeasureGroups.FindByName(MeasureGroupName.ToString());&lt;br /&gt;// Check ProcessDimensions Flag If its True Process All MeasureGroup Related Dimesnion&lt;br /&gt;if (ProcessDimensions == true)&lt;br /&gt;{&lt;br /&gt;foreach (MeasureGroupDimension Dim in measureGroup.Dimensions)&lt;br /&gt;{&lt;br /&gt;// Proces Dimension&lt;br /&gt;Dim.Dimension.Process();&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;// Find the Analysis Server DataBase Cube MeasureGroup Partttion&lt;br /&gt;Partition par = measureGroup.Partitions.FindByName(PartitionName.ToString());&lt;br /&gt;// Process Partition&lt;br /&gt;par.Process();&lt;br /&gt;}&lt;br /&gt;// DisConnect Server Connection&lt;br /&gt;svr.Disconnect();&lt;br /&gt;}&lt;br /&gt;catch (Exception Ex)&lt;br /&gt;{&lt;br /&gt;// To Send Error Message to Database&lt;br /&gt;SqlContext.Pipe.Send(Ex.Message);&lt;br /&gt;throw new ApplicationException(Ex.Message);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;};&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;span style="font-size:100%;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:0;"&gt;&lt;/span&gt;&lt;br /&gt;/*&lt;br /&gt;This code will process the Cube up to low Level object. If you wish to Process only the DataBase,Cube,MeasureGroup then&lt;br /&gt;use DataBase.Process(),Cube.Process(),MeasureGroup.Process() .&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2. Build the Project&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;3. Copy the [Cube Processing] DLL from Solution \bin\Debug folder and Paste to D:\CLR Project\&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;4. Create Assembly in SqlServer DataBase:&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;CREATE ASSEMBLY [Cube Processing]&lt;br /&gt;FROM 'D:\CLR Project\Cube Processing.dll'&lt;br /&gt;WITH PERMISSION_SET = UNSAFE&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;5. View the Assembly&lt;/strong&gt;&lt;br /&gt;Now the Registered [Cube Processing] Assembly wl be abaliable in SQLManagementStudio -&gt; Database-&gt;Programmabillity -&gt; Assembly&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Step5: Create Extented StoreProcedure Using Registed Assembly (Cube Processing])&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;CREATE PROCEDURE [dbo].[ProcessPartition]&lt;br /&gt;(@ServerName NVARCHAR(50)&lt;br /&gt;, @CatalogName NVARCHAR(50)&lt;br /&gt;, @CubeName NVARCHAR(50)&lt;br /&gt;, @MeasureGroupName NVARCHAR(50)&lt;br /&gt;, @PartitionName NVARCHAR(50)&lt;br /&gt;, @ProcessDimensions BIT&lt;br /&gt;)&lt;br /&gt;AS&lt;br /&gt;EXTERNAL NAME [Cube Processing].[StoredProcedures].[ProcessPartition]&lt;br /&gt;&lt;br /&gt;[Cube Processing] --&gt;Registered Assembly Name&lt;br /&gt;[StoredProcedures] --&gt; Class Name of the above Code&lt;br /&gt;[ProcessPartition] --&gt; Method Name of he Class&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Step6: Execute Procedure [dbo].[ProcessPartition]&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;EXEC [ProcessPartition] @ServerName = 'MyServer\Instance1'&lt;br /&gt;, @CatalogName = 'MyDatabase'&lt;br /&gt;, @CubeName = 'MyCube'&lt;br /&gt;, @MeasureGroupName = 'MyCube'&lt;br /&gt;, @PartitionName = 'MyCube_2008_08'&lt;br /&gt;, @ProcessDimensions = 1&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;!! Any help and sugestion about this article are welcome !!!&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2964626951147142569-2942165840526420193?l=liyasker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liyasker.blogspot.com/feeds/2942165840526420193/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2964626951147142569&amp;postID=2942165840526420193' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/2942165840526420193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/2942165840526420193'/><link rel='alternate' type='text/html' href='http://liyasker.blogspot.com/2009/01/ssas-cube-processing-using-net-clr.html' title='SSAS Cube Processing Using .Net CLR StoredProcedure'/><author><name>Liyasker</name><uri>http://www.blogger.com/profile/03437087723799995061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_FZTBGB-QkZc/SXRK-2Cw7LI/AAAAAAAAAAw/gbRBGnammVQ/S220/Sam_id+photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_FZTBGB-QkZc/SXQoxxvTDlI/AAAAAAAAAAU/OreyxtOUIxU/s72-c/New+CLRProject.bmp' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2964626951147142569.post-1091827150753580394</id><published>2009-01-18T22:35:00.000-08:00</published><updated>2010-03-24T03:47:53.853-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SSAS'/><title type='text'>Unexpected error occurred while Open CalculationTab in SSAS Cube</title><content type='html'>&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;strong&gt;In Business Intelligence Development Studio (BIDS), when i am in Analysis Services Project and when i open a cube and select the calculations tab, the design surface displays a message that reads:&lt;br /&gt;Unexpected error occurred: 'Error in the application' and then it closes Visual Studio.&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;strong&gt;Found Mary Potapova's answer in the Microsoft Forum very useful as it fixed my problems. I quote here fix:&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;this might be caused by version mismatch between some binaries. i'd suggest checking the versions of msmdlocal.dll and msmgdsrv.dll and making sure that the ones installed into %ProgramFiles%\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies\ are the same as those in %ProgramFiles%\Common Files\System\Ole DB\ (if they are not then try updating the ones in the PrivateAssemblies with the ones from ole db; you might want to save the original ones as to be able to get back to original state just in case.. It helped me to fix this issue.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2964626951147142569-1091827150753580394?l=liyasker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liyasker.blogspot.com/feeds/1091827150753580394/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2964626951147142569&amp;postID=1091827150753580394' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/1091827150753580394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/1091827150753580394'/><link rel='alternate' type='text/html' href='http://liyasker.blogspot.com/2009/01/unexpected-error-occurred-while-open.html' title='Unexpected error occurred while Open CalculationTab in SSAS Cube'/><author><name>Liyasker</name><uri>http://www.blogger.com/profile/03437087723799995061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_FZTBGB-QkZc/SXRK-2Cw7LI/AAAAAAAAAAw/gbRBGnammVQ/S220/Sam_id+photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2964626951147142569.post-7031650893065421729</id><published>2009-01-11T20:57:00.000-08:00</published><updated>2010-03-24T03:48:07.621-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SSAS'/><title type='text'>SSAS Time Dimension Design</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_FZTBGB-QkZc/SWrOHwnJQDI/AAAAAAAAAAM/_oCJRkAd7Fg/s1600-h/Time+Dimension.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5290267345003561010" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 320px; CURSOR: hand; HEIGHT: 234px" alt="" src="http://1.bp.blogspot.com/_FZTBGB-QkZc/SWrOHwnJQDI/AAAAAAAAAAM/_oCJRkAd7Fg/s320/Time+Dimension.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2964626951147142569-7031650893065421729?l=liyasker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liyasker.blogspot.com/feeds/7031650893065421729/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2964626951147142569&amp;postID=7031650893065421729' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/7031650893065421729'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/7031650893065421729'/><link rel='alternate' type='text/html' href='http://liyasker.blogspot.com/2009/01/ssas-time-dimension-design.html' title='SSAS Time Dimension Design'/><author><name>Liyasker</name><uri>http://www.blogger.com/profile/03437087723799995061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_FZTBGB-QkZc/SXRK-2Cw7LI/AAAAAAAAAAw/gbRBGnammVQ/S220/Sam_id+photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_FZTBGB-QkZc/SWrOHwnJQDI/AAAAAAAAAAM/_oCJRkAd7Fg/s72-c/Time+Dimension.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2964626951147142569.post-1262764018880779820</id><published>2008-11-27T04:08:00.000-08:00</published><updated>2010-03-16T06:03:21.320-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SSIS'/><title type='text'>Read Data from RecordSet using Sequence Container</title><content type='html'>&lt;a href="http://www.sqlis.com/post/Shredding-a-Recordset.aspx"&gt;http://www.sqlis.com/post/Shredding-a-Recordset.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2964626951147142569-1262764018880779820?l=liyasker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liyasker.blogspot.com/feeds/1262764018880779820/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2964626951147142569&amp;postID=1262764018880779820' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/1262764018880779820'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2964626951147142569/posts/default/1262764018880779820'/><link rel='alternate' type='text/html' href='http://liyasker.blogspot.com/2008/11/read-data-from-recordset-using-sequence.html' title='Read Data from RecordSet using Sequence Container'/><author><name>Liyasker</name><uri>http://www.blogger.com/profile/03437087723799995061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_FZTBGB-QkZc/SXRK-2Cw7LI/AAAAAAAAAAw/gbRBGnammVQ/S220/Sam_id+photo.jpg'/></author><thr:total>0</thr:total></entry></feed>
