<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Norm's PerformancePoint Server Blog : SSIS</title><link>http://blogs.msdn.com/normbi/archive/tags/SSIS/default.aspx</link><description>Tags: SSIS</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Notes on video demo for SSIS and PPS data integration demo part I</title><link>http://blogs.msdn.com/normbi/archive/2008/04/04/notes-on-video-demo-for-ssis-and-pps-data-integration-demo-part-i.aspx</link><pubDate>Fri, 04 Apr 2008 22:15:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8358021</guid><dc:creator>normbi</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/normbi/comments/8358021.aspx</comments><wfw:commentRss>http://blogs.msdn.com/normbi/commentrss.aspx?PostID=8358021</wfw:commentRss><description>&lt;p&gt;Here are my notes for the &lt;a href="http://blogs.msdn.com/normbi/archive/2008/03/31/ssis-and-pps-data-integration-demo-part-i-continued.aspx" target="_blank"&gt;part I video demo&lt;/a&gt; that describes moving reference data from a source to the Planning app db.&amp;#160; Good news, you can also download the SSIS package from which Forrest is working. Download the SSIS package, watch the &lt;a href="http://blogs.msdn.com/normbi/archive/2008/03/31/ssis-and-pps-data-integration-demo-part-i-continued.aspx" target="_blank"&gt;video&lt;/a&gt; and try it out! &lt;/p&gt;  &lt;p&gt;Make sure you see the setup instructions from the ReadMe folder and have the AdventureWorksDW database on SQL Server. &lt;/p&gt;  &lt;p&gt;&lt;iframe style="border-right: #dde5e9 1px solid; padding-right: 0px; border-top: #dde5e9 1px solid; padding-left: 0px; padding-bottom: 0px; margin: 3px; border-left: #dde5e9 1px solid; width: 240px; padding-top: 0px; border-bottom: #dde5e9 1px solid; height: 66px; background-color: #ffffff" marginwidth="0" marginheight="0" src="http://cid-b666db96995fbf4b.skydrive.live.com/embedrowdetail.aspx/Public/SSIS%20demo/AdventureWorksDW_SSIS_PPS.zip" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;/p&gt;  &lt;p&gt;By the way, why so much effort on providing information for data integration? Here are some good reasons.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;You can't use the PPS applications without data (the right data).&lt;/li&gt;    &lt;li&gt;Integrating data can be costly. I want to make it easier by providing instruction.&lt;/li&gt;    &lt;li&gt;Using SSIS and a good process will help you create a repeatable method for loading data.&lt;/li&gt; &lt;/ul&gt;  &lt;h2&gt;Video notes&lt;/h2&gt;  &lt;p&gt;The &lt;a href="http://blogs.msdn.com/normbi/archive/2008/03/31/ssis-and-pps-data-integration-demo-part-i-continued.aspx" target="_blank"&gt;demo&lt;/a&gt; covers the following:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;How to prepare the Account dimension in PPS Planning Business Modeler before populating with data. &lt;/li&gt;    &lt;li&gt;How to synchronize the staging database in SSIS using the &lt;a href="http://technet.microsoft.com/en-us/library/bb660580.aspx" target="_blank"&gt;Business Modeler command utility, PPSCmd&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;How to Create a Data Flow Task to move data.&lt;/li&gt;    &lt;li&gt;How to load from app db to staging db with the PPSCMD.&lt;/li&gt;    &lt;li&gt;How to populate the hierarchy - using the CreateHierarchFromDim stored procedure. &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;How to prepare the Account dimension.&lt;/h3&gt;  &lt;p&gt;The &lt;a href="http://msdn2.microsoft.com/en-us/library/bb839302.aspx" target="_blank"&gt;Account dimension&lt;/a&gt; is a &lt;a href="http://msdn2.microsoft.com/en-us/library/bb839139.aspx" target="_blank"&gt;predefined dimension&lt;/a&gt; that acts as a starting chart of accounts for various financial models in the Planning application. Forrest adds the following two members to the Account dimension in Planning Business modeler. &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;ParentName - Want to create a &lt;a href="http://69.89.31.82/~ppsblogs/?p=108" target="_blank"&gt;Member View&lt;/a&gt; or just view the inventory accounts. &lt;/li&gt;    &lt;li&gt;AccountKey - Added as a source primary key to join on between the source and planning application. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;On the application database the following tables (notice the naming convention) are created. &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;d_account &lt;/li&gt;    &lt;li&gt;h_account &lt;/li&gt;    &lt;li&gt;h_account_report (a Member set Forrest creates in the &lt;a href="http://blogs.msdn.com/normbi/archive/2008/03/31/ssis-and-pps-data-integration-demo-part-i-continued.aspx" target="_blank"&gt;demo&lt;/a&gt;) You create a Member set to organize the dimensions, so that each of the items and members within can be identified and utilized for different purposes. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Review the structure of the application db. Also review the structure of the staging db in the topic &lt;a href="http://technet.microsoft.com/en-us/library/bb660526.aspx" target="_blank"&gt;About the structure of the staging database&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Create and populate a temp table called T_Account_Report, a replication of the hierarchy table. &lt;/p&gt;  &lt;h3&gt;How to synchronize the staging database in SSIS&lt;/h3&gt;  &lt;p&gt;Why? to bring the application db and staging database to the same state. For more information see &lt;a href="http://technet.microsoft.com/en-us/library/bb660552.aspx" target="_blank"&gt;synchronize the staging database&lt;/a&gt;.&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Drag and drop the Execute Process Task (Control Flow Item) onto the Control Flow area. &lt;/li&gt;    &lt;li&gt;Right click and select edit. The Execute Process Task Editor will open. &lt;/li&gt;    &lt;li&gt;Select Process in the left pane. &lt;/li&gt;    &lt;li&gt;Enter the location of the executable (one of the circled fields in the image). &lt;/li&gt;    &lt;li&gt;Enter the argument for the &lt;a href="http://technet.microsoft.com/en-us/library/bb660580.aspx" target="_blank"&gt;PPSCmd command utility&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;Click OK. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;a title="SSIS_sync_StagingDB_1" href="http://www.flickr.com/photos/22054833@N06/2296883925/"&gt;&lt;img alt="SSIS_sync_StagingDB_1" src="http://static.flickr.com/3157/2296883925_89efe2f604.jpg" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You might be safer to synchronize all dimensions. In that case, your argument would look like the following.&lt;/p&gt;  &lt;pre class="csharpcode"&gt;StagingDB /Operation SynchronizeData /Server http://localhost:46787 /Path &amp;lt;path&amp;gt; /Collection dimensions&lt;/pre&gt;

&lt;h3&gt;How to Create a Data Flow Task&lt;/h3&gt;

&lt;p&gt;OLEDB Source and Destination&lt;/p&gt;

&lt;p&gt;Right-click and edit. &lt;/p&gt;

&lt;h3&gt;How to load from app db to staging db with the PPSCMD &lt;/h3&gt;

&lt;p&gt;Review PPS data integration considerations on &lt;a href="http://technet.microsoft.com/en-us/library/bb660525.aspx" target="_blank"&gt;loading dimensions&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Also review the function &lt;a href="http://technet.microsoft.com/en-us/library/bb660612.aspx" target="_blank"&gt;BizSystemFlag&lt;/a&gt; plays while preparing data to load and troubleshooting. &lt;/p&gt;

&lt;p&gt;Really, you should just read all of the Planning data integration help. &lt;img alt="smile_nerd" src="http://spaces.live.com/rte/emoticons/smile_nerd.gif" /&gt;&lt;/p&gt;

&lt;h3&gt;How to populate the hierarchy - using the CreateHierarchFromDim stored procedure. &lt;/h3&gt;

&lt;p&gt;Review PPS data integration help on &lt;a href="http://technet.microsoft.com/en-us/library/bb660578.aspx" target="_blank"&gt;populating a property-based hierarchy&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Also the stored procedure signature &lt;a href="http://technet.microsoft.com/en-us/library/bb660542.aspx" target="_blank"&gt;bsp_DI_CreateHierarchyFromDimenstion&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;Summary&lt;/h3&gt;

&lt;p&gt;If it seems like my notes are incomplete, it is because they are incomplete. I ran out of time. But look forward to the next part (loading fact data). &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8358021" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/normbi/archive/tags/Data+Integration/default.aspx">Data Integration</category><category domain="http://blogs.msdn.com/normbi/archive/tags/SSIS/default.aspx">SSIS</category><category domain="http://blogs.msdn.com/normbi/archive/tags/PerformancePoint+Server-Planning/default.aspx">PerformancePoint Server-Planning</category><category domain="http://blogs.msdn.com/normbi/archive/tags/SQL+Server/default.aspx">SQL Server</category></item><item><title>SSIS and PerformancePoint Server data integration demo part I</title><link>http://blogs.msdn.com/normbi/archive/2008/04/04/ssis-and-performancepoint-server-data-integration-demo.aspx</link><pubDate>Fri, 04 Apr 2008 14:24:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7938155</guid><dc:creator>normbi</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/normbi/comments/7938155.aspx</comments><wfw:commentRss>http://blogs.msdn.com/normbi/commentrss.aspx?PostID=7938155</wfw:commentRss><description>&lt;p&gt;Part I includes some high level instruction on moving reference data to the stagingDB (created from the PPS Planning DB). I had to stop short, so...to be continued. &lt;/p&gt;  &lt;p&gt;[update] I have added to part I the following:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/normbi/archive/2008/03/31/ssis-and-pps-data-integration-demo-part-i-continued.aspx" target="_blank"&gt;SSIS and PPS data integration demo part I continued...&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/normbi/archive/2008/04/04/notes-on-video-demo-for-ssis-and-pps-data-integration-demo-part-i.aspx" target="_blank"&gt;Notes on video demo &amp;amp; download for SSIS and PPS data integration demo part I continued...&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The rest to follow might look something like the following:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Part II - Move fact data using SSIS &lt;/li&gt;    &lt;li&gt;Part III - Video demo of updating &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Introduction&lt;/h3&gt;  &lt;p&gt;Before data analysis and planning is available in the PPS business modeler application, you must get data from one or more combination of business data sources into the application database. PerformancePoint Server provides &lt;a href="http://technet.microsoft.com/en-us/library/bb660536.aspx" target="_blank"&gt;stored procedures and methodologies&lt;/a&gt; to help move data to its application databases. Data can be moved from any one of your data sources to a staging database. The data can then be &lt;a href="http://technet.microsoft.com/en-us/library/bb660595.aspx" target="_blank"&gt;validated&lt;/a&gt; and moved from the staging database to the application database. You could call it the data integration (DI) process.&lt;/p&gt;  &lt;p&gt;All of this can be scripted in an SSIS package using the &lt;a href="http://technet.microsoft.com/en-us/library/bb660580.aspx" target="_blank"&gt;PPSCmd command utility&lt;/a&gt; (PPSCmd.exe) and SSIS.&amp;#160; There is nothing better than making the DI process for planning modeler repeatable with the powerful tools in SQL Server 2005 and the PPS Planning Command Utility. &lt;/p&gt;  &lt;p&gt;I should note that this post will only give you an &lt;strong&gt;idea&lt;/strong&gt; of what you can do in SSIS with PPSCmd.exe and SSIS Control Flow, Data Flow &amp;amp; Maintenance tasks. My post will not discuss at length the tools in SSIS, the complete data integration process, or trouble shooting fixes for DI in SSIS (go to bottom for links to trouble shooting). &lt;/p&gt;  &lt;p&gt;Before I continue, here is a simple diagram to show the process of data integration for PPS Planning.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;a title="DI_SSIS" href="http://technet.microsoft.com/en-us/library/bb660536.aspx" target="_blank"&gt;&lt;img alt="DI_SSIS" src="http://static.flickr.com/3007/2296729499_69854a7c0d.jpg" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The examples that I will provide come from an end-to-end solution using AdventureWorks and created by one of Microsoft's senior technical solutions professionals, Forrest Dermid. The complete end-to-end scenario will probably show up in a white paper later on. &lt;/p&gt;  &lt;p&gt;Before we start, here are some more assumptions:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The Business Modeler Planning &lt;a href="http://technet.microsoft.com/en-us/library/bb660586.aspx"&gt;application structure&lt;/a&gt; is created (models, dimensions, etc...) -the holding structure for your data. &lt;/li&gt;    &lt;li&gt;The staging database has been created -although you could also create it using the SSIS Execute Process Task and embed a statement similar to the following. &lt;strong&gt;Note:&lt;/strong&gt; switches are case sensative. &lt;/li&gt; &lt;/ul&gt;  &lt;blockquote&gt;   &lt;pre class="csharpcode"&gt;PPSCmd.exe StagingDB /Operation CreateStaging /Server http://localhost:46787 /Path &amp;lt;path&amp;gt;&lt;/pre&gt;
  &lt;style type="text/css"&gt;

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;/blockquote&gt;

&lt;p&gt;&lt;style type="text/css"&gt;











.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;You have created an SSIS package before and have general familiarity. &lt;/li&gt;

  &lt;li&gt;You have read the Planning &lt;a href="http://technet.microsoft.com/en-us/library/bb660559.aspx" target="_blank"&gt;data integration documentation&lt;/a&gt; to understand the process that will be reflected in the SSIS package. &lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;How to &lt;/h3&gt;

&lt;p&gt;Let's start where we must &lt;a href="http://technet.microsoft.com/en-us/library/bb660552.aspx" target="_blank"&gt;synchronize the staging database&lt;/a&gt; using SSIS to first copy the app db structure to the staging db.&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Drag and drop the Execute Process Task (Control Flow Item) onto the Control Flow area. &lt;/li&gt;

  &lt;li&gt;Right click and select edit. The Execute Process Task Editor will open. &lt;/li&gt;

  &lt;li&gt;Select Process in the left pane. &lt;/li&gt;

  &lt;li&gt;Enter the location of the executable (one of the circled fields in the image). &lt;/li&gt;

  &lt;li&gt;Enter the argument for the PPSCmd command utility. &lt;/li&gt;

  &lt;li&gt;Click OK. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a title="SSIS_sync_StagingDB_1" href="http://www.flickr.com/photos/22054833@N06/2296883925/"&gt;&lt;img alt="SSIS_sync_StagingDB_1" src="http://static.flickr.com/3157/2296883925_89efe2f604.jpg" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You might be safer to synchronize all dimensions. In that case, your argument would look like the following.&lt;/p&gt;

&lt;pre class="csharpcode"&gt;StagingDB /Operation SynchronizeData /Server http://localhost:46787 /Path &amp;lt;path&amp;gt; /Collection dimensions&lt;/pre&gt;

&lt;pre class="csharpcode"&gt;...TO BE CONTINUED NEXT WEEK&lt;/pre&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7938155" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/normbi/archive/tags/Data+Integration/default.aspx">Data Integration</category><category domain="http://blogs.msdn.com/normbi/archive/tags/SSIS/default.aspx">SSIS</category><category domain="http://blogs.msdn.com/normbi/archive/tags/PerformancePoint+Server-Planning/default.aspx">PerformancePoint Server-Planning</category><category domain="http://blogs.msdn.com/normbi/archive/tags/SQL+Server/default.aspx">SQL Server</category></item></channel></rss>