<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>PerformancePoint Blog &#187; SQL Analysis Services</title>
	<atom:link href="http://performancepointblog.com/category/sqlanalysisservices/feed/" rel="self" type="application/rss+xml" />
	<link>http://performancepointblog.com</link>
	<description>A Blog about PerformancePoint, SQL Reporting Services and all the nummy BI technologies that interact with them</description>
	<lastBuildDate>Fri, 16 Jul 2010 01:02:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Creating Pivot collections via Reporting Services &amp; SQL Analysis Services: Challenges and Solutions!</title>
		<link>http://performancepointblog.com/2010/06/creating-pivot-collections-via-reporting-services-sql-analysis-services-challenges-and-solutions/</link>
		<comments>http://performancepointblog.com/2010/06/creating-pivot-collections-via-reporting-services-sql-analysis-services-challenges-and-solutions/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 12:35:32 +0000</pubDate>
		<dc:creator>Russell</dc:creator>
				<category><![CDATA[Pivot]]></category>
		<category><![CDATA[SQL Analysis Services]]></category>
		<category><![CDATA[SQL Reporting Services]]></category>

		<guid isPermaLink="false">http://performancepointblog.com/?p=178</guid>
		<description><![CDATA[While watching the keynote from the recent BI Conference, I saw a demo of the Pivotviewer Extensions for Reporting Services. This is an interesting tool that will help automate creating Pivot collections. Unfortunately, even as an Microsoft FTE I can’t get my hands on a preview copy until after the end of the month…and I [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; width: 42px; padding-right: 10px; margin: 0 0 0 10px;">
		<script type="text/javascript">
		<!--
		digg_url = "http://performancepointblog.com/2010/06/creating-pivot-collections-via-reporting-services-sql-analysis-services-challenges-and-solutions/";
		digg_bgcolor = "";
		digg_skin = "";
		digg_window = "";
		digg_title = "Creating+Pivot+collections+via+Reporting+Services+%26%23038%3B+SQL+Analysis+Services%3A+Challenges+and+Solutions%21";
		digg_media = "";
		digg_topic = "";
		digg_bodytext = "";
		//-->
		</script>
		<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script></div><p>While watching the keynote from the recent BI Conference, I saw a demo of the <em>Pivotviewer Extensions for Reporting Services</em>. This is an interesting tool that will help automate creating Pivot collections. Unfortunately, even as an Microsoft FTE I can’t get my hands on a preview copy until after the end of the month…and I have a project due before then.</p>
<p>So, what the hell, let’s re-create the wheel! You can download some samples <strong><span style="color: #000000;"><a href="http://performancepointblog.com/wp-content/uploads/2010/06/Samples.zip" target="_blank">here</a></span></strong>. The samples aren’t a complete solution, but demonstrate the uglier/trickier bits of the process.  The code is ugly and not commented…you get what you pay for.</p>
<h2 style="text-align: left;"><span style="color: #000000;">Goal:</span></h2>
<p>Create a collection which surfaces <em>online advertising</em> metrics (impressions, clicks, click through rates, etc.) for 10 ad agency clients. Each client has multiple campaigns and placements with a number of different packages, ads, and creative items which are served by multiple vendor websites.  </p>
<p>Create a Pivot “card” for each combination of Client-Campaign-Placement-Ad-Site . Each “card” should also display interesting metrics on a day-by-day basis.</p>
<p>All data is to be sourced from an SSAS cube.</p>
<h2><span style="color: #000000;">Approach:</span></h2>
<p>Short and sweet: Create an SSRS report and code to repeatedly export a JPEG in order to generate the images used in the Pivot collection. Once complete, use the Pivot command-line tools to create the cxml document. Simple, right? Here’s how I did it:</p>
<p><strong>Pull information from SSAS</strong></p>
<p>First, I &#8220;wrote some MDX&#8221; to pull dimension attributes (like client, campaign, etc.) and metrics (impressions, clicks, click through rate)  from the cube.  I had to add additional fields to this query to return the actual UNIQUENAME of the dimension members I was returning. Why? You’ll see in the next section…</p>
<p>WITH          <br />
MEMBER [Measures].[ClientNameUNIQUE] AS [Clients].[Client Name].CURRENTMEMBER.UNIQUENAME          <br />
MEMBER [Measures].[CampaignNameUNIQUE] AS [Campaigns].[Campaign Name].CURRENTMEMBER.UNIQUENAME<br />
MEMBER [Measures].[AdNameUNIQUE] AS [Ads].[Ad Name].CURRENTMEMBER.UNIQUENAME<br />
MEMBER [Measures].[SiteNameUNIQUE] AS [Ads].[DFA Site Name].CURRENTMEMBER.UNIQUENAME          <br />
        <br />
SELECT {[Measures].[ClientNameUNIQUE], [Measures].[CampaignNameUNIQUE] , [Measures].[AdNameUNIQUE], [Measures].[SiteNameUNIQUE],<br />
 [Measures].[Impressions],[Measures].[Clicks],[Measures].[CTR],[Measures].[Calculated Cost],[Measures].[Direct Sales], [Measures].[Indirect Sales]} ON COLUMNS,<br />
NONEMPTY(         <br />
{ { { [Date].[Year].[All].CHILDREN } *<br />
{ [Clients].[Client Name].[All].CHILDREN}  *<br />
{ [Campaigns].[Campaign Name].[Campaign Name].ALLMEMBERS} *<br />
{ [Placements].[Target Market].[Target Market].ALLMEMBERS} *<br />
{ [Placements].[Package Name].[Package Name].ALLMEMBERS} *<br />
{ [Ads].[Ad Name].[Ad Name].ALLMEMBERS} *<br />
{ [Ads].[DFA Site Name].[DFA Site Name].ALLMEMBERS} *<br />
{ [Creative].[Technology Type Name].[Technology Type Name].ALLMEMBERS}</p>
<p> }}</p>
<p>, [Measures].[Impressions]) ON ROWS           <br />
FROM [WWReach]</p>
<p>I wrote a simple SSIS package (<a title="http://performancepointblog.com/wp-content/uploads/2010/06/Samples.zip" href="http://performancepointblog.com/wp-content/uploads/2010/06/Samples.zip">PopulatePivotSupport.dtsx</a>) to take the resultset from this query and drop it into SQL for staging purposes.</p>
<p><strong>Create SSRS report</strong></p>
<p>Next, I created a parameterized SSRS report which contains a fictional client logo, as well as multiple SSRS charts which are used to plot daily online metrics for the client/campaign in question.</p>
<p>The report is parameterized so that I can feed in arbitrary values used to filter data in the charts.  My report uses 5  parameters to filter by  client, campaign, ad, (vendor) site, ad serving technology, etc.</p>
<p>Here’s an example :</p>
<p><img class="alignnone size-full wp-image-180" title="SampleReport" src="http://performancepointblog.com/wp-content/uploads/2010/06/wwReach1497.jpg" alt="" width="500" height="717" /></p>
<p>A <a href="http://performancepointblog.com/wp-content/uploads/2010/06/Samples.zip">sample RDL</a> can be found in the files I mentioned at the top of the article.</p>
<p>Challenge #1</p>
<p>Things normally don’t go 100% smoothly for me when I need to do heavy parameterization on a report which uses SSAS as a data source. I normally have issues with StrToSet-related errors, trying to plug in values which SSRS doesn’t see as valid (due to CONSTRAINED flags in my MDX), etc.  To try and avoid as many of these problems as possible, I did the following for each parameter in my report:</p>
<ul>
<li>Deselected <strong>Allow multiple values</strong></li>
<li>Under <strong>Available Values</strong>, I chose <strong>None</strong> instead of <strong>Query</strong></li>
<li>Double-checked that I only had one default value per parameter (see bullet #1)</li>
<li>Removed the CONSTRAINED sections of MDX from my queries</li>
</ul>
<p>Challenge #2</p>
<p>I need to provide parameter values to SSRS/SSAS in the [dimension].[attribute].&amp;[attributekey] format.  That’s why I created several MEMBERs in my MDX. I used those to return not only a dimension attribute value like “Us Rail” (a client’s name), but the client’s Unique Name: [Clients].[Client Name].&amp;1001. This was the critical step. Life was good once I had all the “friendly” values (like Client Name = “Us Rail”) as well as the “not so friendly ones” that I needed to feed back to SSAS for filtering purposes ([Clients].[Client Name].&amp;1001) in a staging table.</p>
<p><strong>Write code to render (repeatedly) reports to JPEG files</strong></p>
<p>I decided to create another <a href="http://performancepointblog.com/wp-content/uploads/2010/06/Samples.zip">SSIS package</a> named  PrintSSRS.dtsx to do this work. Essentially, the package does the following:</p>
<ul>
<li>Grabs rows from the staging table. Each row runs my SSRS report once.  I used an <strong>Execute SQL</strong> task for this and stuffed the results into an Object Variable</li>
<li>Uses a <strong>For..Each</strong> task to iterate through the rows in the Object variable, grabbing values from each row like the Client ID, Campaign Key, Site ID, etc.</li>
<li>Executes a <strong>Script </strong>task inside the For…Each loop. The script task populates the SSRS report’s parameter collection and calls .Render() against SSRS to create the JPEG report which is saved to disk.</li>
</ul>
<p>..I ended up with about 5,500 JPEG “reports” on my hard drive&#8230;each one was about 50K. It took about 2 hours in total for this code to generate all the reports I needed.</p>
<p><strong>Generate the Pivot Collection</strong></p>
<p>Since I hadn’t used the (new) Pivot Command-line tools yet , I thought I would give those a try instead of the Excel-Add in. You can download them from <a href="http://www.getpivot.com/">http://www.getpivot.com</a></p>
<p>I still used Excel heavily though:</p>
<ul>
<li>First I imported that staging table from SQL into a worksheet.</li>
<li>I deleted the Excel columns I didn’t care about (the &#8220;MEMBER&#8221; columns)</li>
<li>I used the Pivot documentation to create 3 worksheets in Excel which defined my collection</li>
<li>I ran the Command-line tool to create a deepzoom output and went to dinner.</li>
</ul>
<p>I’ve dropped the workbook I created into the <a href="http://performancepointblog.com/wp-content/uploads/2010/06/Samples.zip">samples</a>, too.</p>
<p><strong>Other Stuff</strong></p>
<p>I learned the hard way that I should have spent a bit more time with the Pivot developer documents. My first collection actually consisted of over 72K distinct Pivot tiles because I decided to also break down my clients/campaigns/ads/sites/technologies by <strong>week. </strong>Bad idea &#8211; I actually couldn&#8217;t get the command-line tools to finish the job of creating the CXML file&#8230;they would run out of memory on my 16 GB box before they were through <img src='http://performancepointblog.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I next tried breaking things down by month instead of week&#8230;I was able to get a working collection of about 15K tiles at that point, but it looked terrible in viewer. So, I threw our the idea of filtering by time altogether, and here is the result (FYI, &#8220;City of New York&#8221; is purely fictional &#8211; I&#8217;m a native, so just used them as a make-believe ad agency client):</p>
<p style="text-align: center;"> <a href="http://performancepointblog.com/wp-content/uploads/2010/06/ScreenHunter_01-Jun.-30-08.49.gif"><img class="size-full wp-image-226 aligncenter" title="ScreenHunter_01 Jun. 30 08.49" src="http://performancepointblog.com/wp-content/uploads/2010/06/ScreenHunter_01-Jun.-30-08.49.gif" alt="" width="475" height="343" /></a></p>
<p>As I said, I should have RTFM, because it said my collections should try and stick to around 5,000 items.</p>
<p>So there you go. If you&#8217;re impatient and don&#8217;t want to wait for the &#8220;official&#8221; PivotViewer Extensions, just roll one yourself. Microsoft&#8217;s version is going to be much better than this hack, btw: faster, able to handle more rows, etc.</p>
]]></content:encoded>
			<wfw:commentRss>http://performancepointblog.com/2010/06/creating-pivot-collections-via-reporting-services-sql-analysis-services-challenges-and-solutions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PowerPivot, DAX and Semi-additive measures</title>
		<link>http://performancepointblog.com/2010/01/powerpivot-dax-and-semi-additive-measures/</link>
		<comments>http://performancepointblog.com/2010/01/powerpivot-dax-and-semi-additive-measures/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 16:45:29 +0000</pubDate>
		<dc:creator>Russell</dc:creator>
				<category><![CDATA[PowerPivot]]></category>
		<category><![CDATA[Project Gemini]]></category>
		<category><![CDATA[SQL Analysis Services]]></category>

		<guid isPermaLink="false">http://performancepointblog.com/?p=149</guid>
		<description><![CDATA[Over the week-end I was doing some analysis on SQL Server disk usage, and wanted to be able to display current disk usage by database. Up to this point, I&#8217;d mainly been doing a SUM over  my measures. Well, that would make no sense in this scenario &#8211; I&#8217;d end up with a meaningless number [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; width: 42px; padding-right: 10px; margin: 0 0 0 10px;">
		<script type="text/javascript">
		<!--
		digg_url = "http://performancepointblog.com/2010/01/powerpivot-dax-and-semi-additive-measures/";
		digg_bgcolor = "";
		digg_skin = "";
		digg_window = "";
		digg_title = "PowerPivot%2C+DAX+and+Semi-additive+measures";
		digg_media = "";
		digg_topic = "";
		digg_bodytext = "";
		//-->
		</script>
		<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script></div><p>Over the week-end I was doing some analysis on SQL Server disk usage, and wanted to be able to display <em>current</em> disk usage by database. Up to this point, I&#8217;d mainly been doing a SUM over  my measures. Well, that would make no sense in this scenario &#8211; I&#8217;d end up with a meaningless number just like I would if I took a SUM of an Inventory value.</p>
<p>I found myself dealing with a classic semi-additive measure. These are easy to deal with using SQL Server Analysis Services, but a tiny bit trickier in PowerPivot.</p>
<p>I tried various DAX-related ideas, and some actually <em>kind of</em> worked, but Marius Dumitru, a co-worker at Microsoft, suggested the best solution.</p>
<p>I happen to have a date dimension which we could lean on for this challenge &#8211; I just needed to find the last &#8220;Disk Use&#8221; value that had been recorded. Since all of my readings are associated with a date, slam dunk!</p>
<p>Here&#8217;s what I did:</p>
<p>Created a calculated measure which SUMs the measure in my table (I named it &#8220;Sum Disk Size&#8221;):</p>
<p>     = SUM(&#8216;Fact_DatabaseMetrics&#8217;[Disk Size])</p>
<p>Created a second calculated measure which <em>filters</em> the first, looking for the value related to the last associated date in my date dimension (via DAX&#8217;s LastNonBlank function) . I didn&#8217;t know you could filter a measure so easily!</p>
<p>        = &#8216;Fact_DatabaseMetrics&#8217;[Sum Disk Size](LastNonBlank(&#8216;Dim_Date&#8217;[DatePK], &#8216;Fact_Database&#8217;[Sum Disk Size])</p>
<p>The second measure is what I added to my PivotTable.</p>
]]></content:encoded>
			<wfw:commentRss>http://performancepointblog.com/2010/01/powerpivot-dax-and-semi-additive-measures/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Creating useful PowerPivot data models for public consumption via Reporting Services</title>
		<link>http://performancepointblog.com/2009/11/creating-useful-powerpivot-data-models-for-public-consumption-via-reporting-services/</link>
		<comments>http://performancepointblog.com/2009/11/creating-useful-powerpivot-data-models-for-public-consumption-via-reporting-services/#comments</comments>
		<pubDate>Wed, 25 Nov 2009 20:13:29 +0000</pubDate>
		<dc:creator>Russell</dc:creator>
				<category><![CDATA[Project Gemini]]></category>
		<category><![CDATA[SQL Analysis Services]]></category>

		<guid isPermaLink="false">http://performancepointblog.com/?p=124</guid>
		<description><![CDATA[If you&#8217;ve played with PowerPivot at all, it&#8217;s pretty obvious how flexible the tool is in terms of creating data models. After you initially create a model, you may want to spend some additional time with it to make sure users can easily leverage what you&#8217;ve created in other tools. If you don&#8217;t, the PowerPivot [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; width: 42px; padding-right: 10px; margin: 0 0 0 10px;">
		<script type="text/javascript">
		<!--
		digg_url = "http://performancepointblog.com/2009/11/creating-useful-powerpivot-data-models-for-public-consumption-via-reporting-services/";
		digg_bgcolor = "";
		digg_skin = "";
		digg_window = "";
		digg_title = "Creating+useful+PowerPivot+data+models+for+public+consumption+via+Reporting+Services";
		digg_media = "";
		digg_topic = "";
		digg_bodytext = "";
		//-->
		</script>
		<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script></div><p><a href="http://performancepointblog.com/wp-content/uploads/2009/11/5-Add-Implcit-Measure.gif"></a>If you&#8217;ve played with PowerPivot at all, it&#8217;s pretty obvious how flexible the tool is in terms of creating data models. After you initially create a model, you may want to spend some additional time with it to make sure users can <em>easily</em> leverage what you&#8217;ve created in other tools. If you don&#8217;t, the PowerPivot model you publish probably won&#8217;t see lots of re-use outside of the PowerPivot gallery and Excel because users won&#8217;t be able to get at the values they want to.</p>
<p>What am I talking about? Here&#8217;s an example:</p>
<p>I pointed PowerPivot at the Adventure Works DW sample database, and brought all its tables and rows into my workbook. I then published the workbook directly into a SharePoint 2010 PowerPivot Gallery. I didn&#8217;t bother to add any UI to the sheets in the workbook (no PivotTables, PivotCharts, Slicers).</p>
<p><a href="http://performancepointblog.com/wp-content/uploads/2009/11/1-AWDW1.gif"><img class="alignnone size-large wp-image-125" title="1-AWDW" src="http://performancepointblog.com/wp-content/uploads/2009/11/1-AWDW1-1024x311.gif" alt="1-AWDW" width="1024" height="311" /></a></p>
<p>Next, I launched Report Builder 3.0, created a new Analysis Services data source and typed in the location of the *.xlsx I published. I chose the single &#8220;sandbox&#8221; in the workbook as the database name. Here&#8217;s a screenshot of my new RB data source being created (embedded image truncated, click below to view complete screenshot) :</p>
<p><a href="http://performancepointblog.com/wp-content/uploads/2009/11/2-Creating-Data-Source.gif"><img class="alignnone size-full wp-image-113" title="2-Creating Data Source" src="http://performancepointblog.com/wp-content/uploads/2009/11/2-Creating-Data-Source.gif" alt="2-Creating Data Source" width="821" height="704" /></a></p>
<p>Then, add a DataSet to this Data Source and launch the Query Designer. Notice anything wrong with this picture?</p>
<p><a href="http://performancepointblog.com/wp-content/uploads/2009/11/3-Dimension-Attack.gif"><img class="alignnone size-full wp-image-114" title="3-Dimension Attack" src="http://performancepointblog.com/wp-content/uploads/2009/11/3-Dimension-Attack.gif" alt="3-Dimension Attack" width="305" height="783" /></a></p>
<p>That&#8217;s right &#8212; our dimensions are showing up as measure groups AND dimensions! And if you scroll down the dimension list, you&#8217;ll see that the the fact tables not only show up in the measure group list, but as dimensions, too!</p>
<p>Finally, crack open one of the measure groups &#8211; It contains NONE of the measures that are defined in the PowerPivot model &#8211; only  &#8220;_Count FactSalesQuota&#8221; in the screenshot below.</p>
<p><a href="http://performancepointblog.com/wp-content/uploads/2009/11/4-Fact-Drll-Down.gif"><img class="alignnone size-full wp-image-115" title="4-Fact Drll Down" src="http://performancepointblog.com/wp-content/uploads/2009/11/4-Fact-Drll-Down.gif" alt="4-Fact Drll Down" width="310" height="512" /></a></p>
<p>What the hell is going on? What you&#8217;re seeing is a function of how PowerPivot &#8220;thinks&#8221;. To PowerPivot, everything is a dimension unless proven otherwise, and therefore all of the facts in your measure groups are considered dimension attributes until PowerPivot understands that the attribute in question should really be considered a measure.</p>
<p>So let&#8217;s fix all this stuff up so we have a usable model, shall we?</p>
<p>To begin with, we&#8217;re going to need to help PowerPivot figure out which of our fields represent measures. In PowerPivot there are <em>implicit </em>and <em>explicit</em> measures. Any field you drag into the <strong>Values</strong> list of a PivotTable/Chart is regarded as an implicit measure by PowerPivot.</p>
<p>I&#8217;ve opened up that empty AWDW workbook again, and added a PivotTable.  Next, I&#8217;ll add the <strong>SalesAmountQuota</strong> measure from the <strong>FactSalesQuota</strong> table to the <strong>Values</strong> area of the Field List (embedded image truncated, click below to view complete screenshot).</p>
<p> <a href="http://performancepointblog.com/wp-content/uploads/2009/11/5-Add-Implcit-Measure.gif"><img class="alignnone size-full wp-image-116" title="5-Add Implcit Measure" src="http://performancepointblog.com/wp-content/uploads/2009/11/5-Add-Implcit-Measure.gif" alt="5-Add Implcit Measure" width="963" height="720" /></a></p>
<p>After publishing the updated workbook to MOSS, let&#8217;s look at Report Builder again.</p>
<p><a href="http://performancepointblog.com/wp-content/uploads/2009/11/6-Report-Builder-Implcit-Measure.gif"><img class="alignnone size-full wp-image-117" title="6-Report Builder Implcit Measure" src="http://performancepointblog.com/wp-content/uploads/2009/11/6-Report-Builder-Implcit-Measure.gif" alt="6-Report Builder Implcit Measure" width="257" height="802" /></a></p>
<p>There you go &#8211; an implicit measure. By adding a field to the <strong>Values</strong> list of the Gemini Task pane, we&#8217;ve tipped PowerPivot off to the fact that SalesAmountQuota is indeed a fact.</p>
<p>However, if you look at the dimension list, you&#8217;re still going to see FactSalesQuota as a dimension, and <strong>SalesAmountQuota </strong>(along with 4-5 other fields) as a possible dimension attribute. Well, that ain&#8217;t right.</p>
<p><a href="http://performancepointblog.com/wp-content/uploads/2009/11/7-StillaDimension.gif"><img class="alignnone size-full wp-image-118" title="7-StillaDimension" src="http://performancepointblog.com/wp-content/uploads/2009/11/7-StillaDimension.gif" alt="7-StillaDimension" width="264" height="772" /></a></p>
<p>How to fix? Make that measure an <em>explict<strong> </strong>measure. </em>Here&#8217;s what to do.</p>
<p>Remove the SalesAmountQuota from the Values List in your PivotTable.</p>
<p>Switch back into the PowerPivot window, find the FactSalesQuota table, and select all the columns. Finally, right-click the selected columns and choose to <strong>Hide Columns | From Gemini and PivotTable</strong></p>
<p><strong><a href="http://performancepointblog.com/wp-content/uploads/2009/11/8-HideColumns.gif"><img class="alignnone size-large wp-image-119" title="8-HideColumns" src="http://performancepointblog.com/wp-content/uploads/2009/11/8-HideColumns-1024x873.gif" alt="8-HideColumns" width="1024" height="873" /></a></strong></p>
<p>Back in the worksheet, click <strong>Refresh All</strong> on the <strong>Data</strong> ribbon, and your field list should look something like this (note how our measure group name is &#8220;dimmed&#8221;  &#8211; embedded image truncated, click below to view complete screenshot):</p>
<p><a href="http://performancepointblog.com/wp-content/uploads/2009/11/9-HiddenDimension.gif"><img class="alignnone size-full wp-image-120" title="9-HiddenDimension" src="http://performancepointblog.com/wp-content/uploads/2009/11/9-HiddenDimension.gif" alt="9-HiddenDimension" width="958" height="724" /></a></p>
<p>Right-click <strong>FactSalesQuota</strong>, and select <strong>Add New Measure</strong>. Create a formula which points to the <strong>SalesAmountQuota</strong> field you hid just a second ago (embedded image truncated, click below to view complete screenshot):</p>
<p><a href="http://performancepointblog.com/wp-content/uploads/2009/11/10-AddCalcuatedMeasure.gif"><img class="alignnone size-full wp-image-121" title="10-AddCalcuatedMeasure" src="http://performancepointblog.com/wp-content/uploads/2009/11/10-AddCalcuatedMeasure.gif" alt="10-AddCalcuatedMeasure" width="600" height="236" /></a></p>
<p>When you&#8217;re done, you should have something that looks like this (embedded image truncated, click below to view complete screenshot):</p>
<p><a href="http://performancepointblog.com/wp-content/uploads/2009/11/11-AlmostDone.gif"><img class="alignnone size-full wp-image-122" title="11-AlmostDone" src="http://performancepointblog.com/wp-content/uploads/2009/11/11-AlmostDone.gif" alt="11-AlmostDone" width="964" height="717" /></a></p>
<p>That&#8217;s just about it. Publish your workbook again, and fire up Report Builder. Note that the explicit measure you added now shows as part of the measure group <strong>FactSalesQuota</strong> and that FactSalesQuota doesn&#8217;t appear at all under dimensions.</p>
<p><a href="http://performancepointblog.com/wp-content/uploads/2009/11/12-FiinalResult.gif"><img class="alignnone size-full wp-image-123" title="12-FiinalResult" src="http://performancepointblog.com/wp-content/uploads/2009/11/12-FiinalResult.gif" alt="12-FiinalResult" width="251" height="765" /></a></p>
<p> </p>
<p>And some notes:</p>
<p>In order to get the data model to refresh in Report Builder as I made changes in Excel and re-published, I found I had to sometimes <em>delete</em> the published workbook and/or IISReset. Using the Reconnect/Refresh button in Report Builder&#8217;s SSAS query designer didn&#8217;t refresh my schema for some reason.</p>
<p><strong>Many thanks to Oliver Matrat</strong>, a senior PM on the Analysis Services team for helping me out when I was confused about how to make this stuff work &#8211; most of what I&#8217;ve related here comes directly from him.</p>
]]></content:encoded>
			<wfw:commentRss>http://performancepointblog.com/2009/11/creating-useful-powerpivot-data-models-for-public-consumption-via-reporting-services/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>CTP3 Setup Error: Could not load file or assembly &#8216;Microsoft.AnalysisServices.SharePoint.Integration&#8217;</title>
		<link>http://performancepointblog.com/2009/11/ctp3-setup-error-could-not-load-file-or-assembly-microsoft-analysisservices-sharepoint-integration/</link>
		<comments>http://performancepointblog.com/2009/11/ctp3-setup-error-could-not-load-file-or-assembly-microsoft-analysisservices-sharepoint-integration/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 21:38:17 +0000</pubDate>
		<dc:creator>Russell</dc:creator>
				<category><![CDATA[ProClarity]]></category>
		<category><![CDATA[SQL Analysis Services]]></category>
		<category><![CDATA[PowerPivot]]></category>

		<guid isPermaLink="false">http://performancepointblog.com/?p=98</guid>
		<description><![CDATA[I had a bear of a time getting SQL Server 2008 R2 November CTP&#8217;s Integrated PowerPivot feature installed.  It looks like several other people in the Twitter/Blogosphere are running into the same issue, but for potentially different reasons. For me, ProClarity Analytics Server (PAS) 6.3 was the culprit: If it was already installed on my [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; width: 42px; padding-right: 10px; margin: 0 0 0 10px;">
		<script type="text/javascript">
		<!--
		digg_url = "http://performancepointblog.com/2009/11/ctp3-setup-error-could-not-load-file-or-assembly-microsoft-analysisservices-sharepoint-integration/";
		digg_bgcolor = "";
		digg_skin = "";
		digg_window = "";
		digg_title = "CTP3+Setup+Error%3A+Could+not+load+file+or+assembly+%26%238216%3BMicrosoft.AnalysisServices.SharePoint.Integration%26%238217%3B";
		digg_media = "";
		digg_topic = "";
		digg_bodytext = "";
		//-->
		</script>
		<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script></div><p>I had a bear of a time getting SQL Server 2008 R2 November CTP&#8217;s Integrated PowerPivot feature installed.  It looks like several other people in the Twitter/Blogosphere are running into the same issue, but for potentially different reasons.</p>
<p>For me, ProClarity Analytics Server (PAS) 6.3 was the culprit: If it was already installed on my machine, I could NOT get Integrated PowerPivot installed. As a result, I was forced to install Gemini first, then PAS. In order for everything to play nicely, I then needed to manually move the PAS install from port 80 into a new website which listened on a different port. How did I do it? Here&#8217;s how:</p>
<p>WARNING: Before you install PAS, I suggest you read the couple of sentences &amp; 3 bullets towards the end of this entry &#8211; you are about to inadvertently (but temporarily)  BREAK MOSS by changing all of MOSS&#8217;s x64 app pools to x86/x64. I suggest you record a list of all your applications pools as they exist right now and note whether they <strong>Enable 32-bit Applications</strong> or not so you can make sure they have the correct values when you&#8217;re all done.</p>
<p> </p>
<ul>
<li>I set the identity of IIS&#8217;s DefaultAppPool to my domain admin account to make life simple. You might not want to.</li>
<li>Install PAS as you normally would, including all the extra goodies that come with PAS like ProClarity Web Pro, etc.</li>
<li>Install PAS 6.3 Service Pack 3 <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=E6B784A8-E7C2-4E27-9D98-41E2F2FD7467&amp;displaylang=en">http://www.microsoft.com/downloads/details.aspx?FamilyID=E6B784A8-E7C2-4E27-9D98-41E2F2FD7467&amp;displaylang=en</a></li>
<li>Install WebDAV. Here&#8217;s a link which gets more specific (see section &#8220;Installing and configuring WebDAV&#8221;): <a href="http://office.microsoft.com/download/afile.aspx?AssetID=AM103875331033">http://office.microsoft.com/download/afile.aspx?AssetID=AM103875331033</a></li>
<li>Open IIS Manager via Start  | Run | inetmgr</li>
<li>Create a new website named ProClarity. Bind it to port 81. Along with it, you&#8217;ll be creating a new AppPool named <strong>ProClarity</strong>, as well.</li>
<li>Modify the AppPool named &#8220;<strong>ProClarity</strong>&#8220;, set it&#8217;s Framework Version to v2.0.50727, Pipeline Mode = Integrated. Set the Identity of this pool to your domain admin account or something more secure.</li>
<li>Copy the <strong>PAS</strong> and <strong>PASUploads</strong> applications plus the <strong>ChartFXInt62</strong> VDIR currently under <strong>Default Web Site</strong> to the <strong>ProClarity </strong>website
<ul>
<li>Under <strong>Default Web Site</strong>, right-click the <strong>PAS </strong>application, choose <strong>Manage Application</strong>, then <strong>Advanced Settings.</strong> Copy the <strong>Physical Path</strong> string to your clipboard</li>
<li>Right-click the <strong>ProClarity</strong> web site, choose <strong>Add Application</strong>, and create a new application with the same name/alias (PAS). Paste in the <strong>Physical Path</strong> string.</li>
<li>Repeat for <strong>PASUploads</strong></li>
<li>Repeat for the <strong>ChartFXInt62</strong> Virtual Directory, but create a VDIR under the <strong>ProClarity</strong> web site instead of an application</li>
</ul>
</li>
<li>Browse to C:\Windows\System32\inetsrv\config and back up ApplicationHost.config somewhere safe</li>
<li>Open ApplicationHost.config and scroll all the way to the bottom of the file until you hit the closing &lt;/configuration&gt; element.</li>
<li>Paste the following stuff right before the closing &lt;/confiiguration&gt; tag. I&#8217;m assuming you named your website ProClarity, btw:</li>
</ul>
<p style="TEXT-ALIGN: left">     &lt;location path=&#8221;ProClarity&#8221;&gt;<br />
             &lt;system.webServer&gt;<br />
                &lt;isapiFilters&gt;<br />
                     &lt;clear /&gt;<br />
                     &lt;filter name=&#8221;PHttpFilter&#8221; path=&#8221;C:\Program Files (x86)\Common Files\ProClarity\Server\PHTTPFilter.dll&#8221; enabled=&#8221;true&#8221; /&gt;<br />
                 &lt;/isapiFilters&gt;<br />
             &lt;/system.webServer&gt;<br />
         &lt;/location&gt;<br />
         &lt;location path=&#8221;ProClarity/PAS&#8221;&gt;<br />
                  &lt;system.webServer&gt;<br />
                 &lt;directoryBrowse enabled=&#8221;false&#8221; showFlags=&#8221;Date, Time, Size, Extension&#8221; /&gt;<br />
                 &lt;handlers accessPolicy=&#8221;Read, Script&#8221; /&gt;<br />
                 &lt;security&gt;<br />
                     &lt;authentication&gt;<br />
                         &lt;windowsAuthentication enabled=&#8221;true&#8221; /&gt;<br />
                         &lt;anonymousAuthentication enabled=&#8221;false&#8221; /&gt;<br />
                         &lt;digestAuthentication enabled=&#8221;false&#8221; /&gt;<br />
                         &lt;basicAuthentication enabled=&#8221;true&#8221; /&gt;<br />
                     &lt;/authentication&gt;<br />
                 &lt;/security&gt;<br />
                 &lt;defaultDocument enabled=&#8221;true&#8221;&gt;<br />
                     &lt;files&gt;<br />
                         &lt;clear /&gt;<br />
                         &lt;add value=&#8221;ProClarity.asp&#8221; /&gt;<br />
                     &lt;/files&gt;<br />
                 &lt;/defaultDocument&gt;<br />
                 &lt;asp enableParentPaths=&#8221;false&#8221; bufferingOn=&#8221;true&#8221;&gt;<br />
                     &lt;session allowSessionState=&#8221;true&#8221; /&gt;<br />
                     &lt;limits scriptTimeout=&#8221;00:03:00&#8243; /&gt;<br />
                 &lt;/asp&gt;<br />
             &lt;/system.webServer&gt;<br />
         &lt;/location&gt;<br />
         &lt;location path=&#8221;ProClarity/PASUploads&#8221;&gt;<br />
             &lt;system.webServer&gt;<br />
                 &lt;directoryBrowse enabled=&#8221;false&#8221; showFlags=&#8221;Date, Time, Size, Extension&#8221; /&gt;<br />
                 &lt;handlers accessPolicy=&#8221;Read, Write, Script&#8221; /&gt;<br />
                 &lt;security&gt;<br />
                     &lt;authentication&gt;<br />
                         &lt;windowsAuthentication enabled=&#8221;true&#8221; /&gt;<br />
                         &lt;anonymousAuthentication enabled=&#8221;false&#8221; /&gt;<br />
                         &lt;digestAuthentication enabled=&#8221;false&#8221; /&gt;<br />
                         &lt;basicAuthentication enabled=&#8221;true&#8221; /&gt;<br />
                      &lt;/authentication&gt;<br />
                 &lt;/security&gt;<br />
                 &lt;defaultDocument enabled=&#8221;false&#8221;&gt;<br />
                     &lt;files&gt;<br />
                         &lt;clear /&gt;<br />
                         &lt;add value=&#8221;ProClarity.asp&#8221; /&gt;<br />
                     &lt;/files&gt;<br />
                 &lt;/defaultDocument&gt;<br />
                 &lt;asp bufferingOn=&#8221;true&#8221;&gt;<br />
                     &lt;session allowSessionState=&#8221;true&#8221; /&gt;<br />
                     &lt;limits scriptTimeout=&#8221;00:03:00&#8243; /&gt;<br />
                 &lt;/asp&gt;<br />
             &lt;/system.webServer&gt;<br />
         &lt;/location&gt;<br />
         &lt;location path=&#8221;ProClarity/ChartFXInt62&#8243;&gt;<br />
             &lt;system.webServer&gt;<br />
                 &lt;directoryBrowse enabled=&#8221;false&#8221; showFlags=&#8221;Date, Time, Size, Extension&#8221; /&gt;<br />
                 &lt;handlers accessPolicy=&#8221;Read, Script&#8221; /&gt;<br />
                 &lt;security&gt;<br />
                     &lt;authentication&gt;<br />
                         &lt;windowsAuthentication enabled=&#8221;true&#8221; /&gt;<br />
                         &lt;anonymousAuthentication enabled=&#8221;false&#8221; /&gt;<br />
                         &lt;digestAuthentication enabled=&#8221;false&#8221; /&gt;<br />
                         &lt;basicAuthentication enabled=&#8221;true&#8221; /&gt;<br />
                     &lt;/authentication&gt;<br />
                 &lt;/security&gt;<br />
                 &lt;defaultDocument enabled=&#8221;true&#8221; /&gt;<br />
                 &lt;asp&gt;<br />
                     &lt;limits scriptTimeout=&#8221;00:03:00&#8243; /&gt;<br />
                 &lt;/asp&gt;<br />
             &lt;/system.webServer&gt;<br />
         &lt;/location&gt;</p>
<p>        What is this? It&#8217;s the basic configration of your Default Web Site with PAS installed (only PAS, nothing else) . I just snipped it out of my config file, and renamed &#8220;Default Web Site&#8221; to &#8220;ProClarity&#8221; in the appropriate places).</p>
<ul>
<li>Save, and do an IISReset</li>
<li>Browse to http://machinename:81/PAS, and ProClarity should be happy.</li>
<li>Assuming all is well, remove the PAS, PASUploads and ChartFXInt62 applications/VDIRS from under <strong>Default Web Site</strong>.</li>
<li>Next, select the <strong>Default Web Site </strong>and click <strong>ISAPI Filters </strong>in the <strong>Features View</strong> pane.</li>
<li>Delete <strong>PhttpFilter</strong>, which is most likely the only thing there.</li>
</ul>
<p>If you&#8217;re trying to install the Integrated PowerPivot engine for SharePoint, then I know you&#8217;re on a 64-bit machine, which leaves you with another problem. Since you just put PAS (32-bit) on your box, IIS has switched all of your Application Pools  around so that they allow 32-bit apps. Your x64 MOSS install won&#8217;t like this at all. It is broken. SO, fix it:</p>
<p> </p>
<ul>
<li>In Internet Information Manager, click <strong>Application Pools</strong>. You&#8217;ll see a bunch of stuff from MOSS including multiple app pools with a GUID for a name, Classic .NET AppPool, DefaultAppPoolk, Sharepoint &#8211; 80, SharePoint Central Administration v4, SharePoint Web Services Root.</li>
<li>Right-click each one, choose <strong>Advanced Features</strong>, and then set the <strong>Enable 32-bit Applications</strong> property back to <strong>False</strong>. (You must leave the ProClarity app pool set to <strong>True</strong>).</li>
<li>IISRESET</li>
</ul>
<p> That&#8217;s it, you should be good. BTW, if you chose not to set the identity of the ProClarity and/or DefaultAppPool to a set of domain admin \ admin credentials, you still might have a bit of work to do to make sure that ProClarity can read everything it needs to. Read this link for more information <a href="http://blogs.technet.com/proclarity/attachment/3171346.ashx">http://blogs.technet.com/proclarity/attachment/3171346.ashx</a>. You&#8217;ll be interested in steps 5 and 6 of section 1.</p>
]]></content:encoded>
			<wfw:commentRss>http://performancepointblog.com/2009/11/ctp3-setup-error-could-not-load-file-or-assembly-microsoft-analysisservices-sharepoint-integration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL Server Analysis Services 2000 style drill through actions in SSAS 2005 and 2008</title>
		<link>http://performancepointblog.com/2009/09/sql-server-analysis-services-2000-style-drill-through-actions-in-ssas-2005-and-2008/</link>
		<comments>http://performancepointblog.com/2009/09/sql-server-analysis-services-2000-style-drill-through-actions-in-ssas-2005-and-2008/#comments</comments>
		<pubDate>Fri, 18 Sep 2009 12:24:34 +0000</pubDate>
		<dc:creator>Russell</dc:creator>
				<category><![CDATA[SQL Analysis Services]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[SQL Server Analysis Services]]></category>

		<guid isPermaLink="false">http://performancepointblog.com/?p=64</guid>
		<description><![CDATA[On a fairly regular basis, customers I work with wonder out loud (read: gripe) why SSAS 2005 and 2008 don’t allow them to easily drill-down to the relational tables that back a cube using an action. SSAS 2000 did this nicely, but SQL Analysis Services 2005 and 2008 want to return rows from the cube [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; width: 42px; padding-right: 10px; margin: 0 0 0 10px;">
		<script type="text/javascript">
		<!--
		digg_url = "http://performancepointblog.com/2009/09/sql-server-analysis-services-2000-style-drill-through-actions-in-ssas-2005-and-2008/";
		digg_bgcolor = "";
		digg_skin = "";
		digg_window = "";
		digg_title = "SQL+Server+Analysis+Services+2000+style+drill+through+actions+in+SSAS+2005+and+2008";
		digg_media = "";
		digg_topic = "";
		digg_bodytext = "";
		//-->
		</script>
		<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script></div><p>On a fairly regular basis, customers I work with wonder out loud (read: gripe) why SSAS 2005 and 2008 don’t allow them to easily drill-down to the relational tables that back a cube using an action.  SSAS 2000 did this nicely, but SQL Analysis Services 2005 and 2008 want to return rows from the cube vs. directly from the tables.</p>
<p>There is a sort-of-but-not-too-painful workaround available which encompasses using ROLAP partitions which point to the drill targets in question, but it’s still kind of inconvenience to deal with because you may end up setting up quite a few ROLAP partitions to support everything you need to do.</p>
<p><a href="http://blogs.pragmaticworks.com/brian_knight/">Brian Knight</a> has come up with a really nice, clean solution which leverages a helper assembly to do the same thing. I like this approach much more because once you’ve installed the assembly, creating drill-through actions is quite easy. Thanks, Brian!</p>
<p><a href="http://blogs.pragmaticworks.com/brian_knight/2009/09/creating-a-ssas-rowset-action.html">http://blogs.pragmaticworks.com/brian_knight/2009/09/creating-a-ssas-rowset-action.html</a></p>
<p><a href="http://blogs.pragmaticworks.com/brian_knight/2009/09/calling-an-external-query-from-mdx.html">http://blogs.pragmaticworks.com/brian_knight/2009/09/calling-an-external-query-from-mdx.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://performancepointblog.com/2009/09/sql-server-analysis-services-2000-style-drill-through-actions-in-ssas-2005-and-2008/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>OMG! SQL Server 2008 R2 CTP2 hits the streets!</title>
		<link>http://performancepointblog.com/2009/08/omg-sql-server-2008-r2-ctp2-hits-the-streets/</link>
		<comments>http://performancepointblog.com/2009/08/omg-sql-server-2008-r2-ctp2-hits-the-streets/#comments</comments>
		<pubDate>Tue, 11 Aug 2009 11:55:57 +0000</pubDate>
		<dc:creator>Russell</dc:creator>
				<category><![CDATA[SQL Analysis Services]]></category>
		<category><![CDATA[Project Gemini]]></category>

		<guid isPermaLink="false">http://performancepointblog.com/?p=58</guid>
		<description><![CDATA[I’m giggling like a little girl because today (well, last night) CTP2 (also known as the “August CTP”) hits the streets. I jumped out to MSDN and TechNet and see subscribers will be able to download it today – I’m actually looking at the bits out on TechNet right now.  A general release will be [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; width: 42px; padding-right: 10px; margin: 0 0 0 10px;">
		<script type="text/javascript">
		<!--
		digg_url = "http://performancepointblog.com/2009/08/omg-sql-server-2008-r2-ctp2-hits-the-streets/";
		digg_bgcolor = "";
		digg_skin = "";
		digg_window = "";
		digg_title = "OMG%21+SQL+Server+2008+R2+CTP2+hits+the+streets%21";
		digg_media = "";
		digg_topic = "";
		digg_bodytext = "";
		//-->
		</script>
		<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script></div><p>I’m giggling like a little girl because today (well, last night) CTP2 (also known as the “August CTP”) hits the streets.</p>
<p>I jumped out to MSDN and TechNet and see subscribers will be able to download it today – I’m actually looking at the bits out on TechNet right now.  A general release will be available two <em>very</em> long days from now, on Wednesday the 12th.  You can go for <a href="http://blogs.technet.com/dataplatforminsider/default.aspx">here</a> for more information. The download link is <a href="http://technet.microsoft.com/en-us/evalcenter/ee315247.aspx">here</a>.</p>
<p>So what’s <em>in</em> CTP2? That’s sort of a good news / bad news proposition, actually.  As you know, R2 is hitting on the self-service BI theme with all cylinders. The main focus of this effort will be Project Gemini, but don’t forget about SQL Reporting Services which has much new coolness, too.</p>
<p><strong>Project Gemini</strong></p>
<p>I’m sure you all know about Project Gemini, and if you don’t, you should read about it <a href="http://www.microsoft.com/officebusiness/office2010/gemini/">here</a>. Gemini is part of the next wave of innovation represented in the R2 / MOSS 2010 and Office 2010 releases. It is generally discussed in relation to the SQL 2008 R2 release. However, the CTP2 release of SQL doesn’t actually include the Gemini add-in for Excel 2010 – and most folks don’t have access to Excel 2010 yet, anyway.</p>
<p>The next community tech preview, CTP3 will contain Gemini bits. And, no, I don’t know when it will be released. I’m also unclear if this will be a public CTP or if you have to be invited.  In any case, if you want to sign up for notifications about CTP3, go here:   <a href="https://profile.microsoft.com/RegSysProfileCenter/wizard.aspx?wizid=27d33a54-f9f5-4357-b652-6f03ba8a4d23&amp;lcid=1033">https://profile.microsoft.com/RegSysProfileCenter/wizard.aspx?wizid=27d33a54-f9f5-4357-b652-6f03ba8a4d23&amp;lcid=1033</a>.</p>
<p>For those of you lucky enough to be part of the Office 2010 Tech Preview, you can get your hands on a CTP2 synced version of the add-in right now. <a href="http://www.microsoft.com/officebusiness/office2010/gemini">More information</a>. You’ll see links at the very bottom of  the page that allow you to <a href="http://connect.microsoft.com/InvitationUse.aspx?ProgramID=3577&amp;SiteID=68&amp;InvitationID=CLI-DC63-HV33">register</a> and then <a href="http://connect.microsoft.com/InvitationUse.aspx?ProgramID=3577&amp;SiteID=68&amp;InvitationID=CLI-DC63-HV33">download</a>.</p>
<p><strong>SQL Reporting Services</strong></p>
<p>In terms of SSRS, you’re going to be able to play with Report Builder 3.0. It includes the new mapping functionality, which is still a work in progress in CTP2. It’s quite cool, however.</p>
<p>For all you recovering Microsoft Access junkies: Remember the love-hate relationship you had with DLoopkup? The function everyone maligns and then uses anyway? Well, SSRS has got it! Ours will be called Lookup(), and I won’t spoil the fun&#8230;check out Lookupset() and MultiLookup(), too.</p>
<p>Some really compelling functionality isn’t in the CTP yet, and I’m not sure whether the SSRS team has talked about it yet, so I’m not going to name/whine about its absence and inadvertently let the cat out of the bag.  Additional good stuff is coming, though!</p>
<p><strong>Books Online</strong></p>
<p>Don’t forget to RTFM! Download it <a href="http://tinyurl.com/l7yrpc">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://performancepointblog.com/2009/08/omg-sql-server-2008-r2-ctp2-hits-the-streets/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SQLCat strikes again! Hardcore SQL Analysis Services tuning aids</title>
		<link>http://performancepointblog.com/2009/02/sqlcat-strikes-again-hardcore-sql-analysis-services-tuning-aids/</link>
		<comments>http://performancepointblog.com/2009/02/sqlcat-strikes-again-hardcore-sql-analysis-services-tuning-aids/#comments</comments>
		<pubDate>Fri, 06 Feb 2009 18:42:11 +0000</pubDate>
		<dc:creator>Russell</dc:creator>
				<category><![CDATA[SQL Analysis Services]]></category>
		<category><![CDATA[SQL Server Analysis Services]]></category>

		<guid isPermaLink="false">http://performancepointblog.com/?p=33</guid>
		<description><![CDATA[Carl Rabeler of the Microsoft SQLCat team has just released a really nice set of tools targeted at helping you analyze SSAS performance. You can read about it here: http://sqlcat.com/toolbox/archive/2009/02/05/a-solution-for-collecting-analysis-services-performance-data-from-many-sources-for-performance-analysis.aspx Then download it from codeplex, here:  http://www.codeplex.com/SQLSrvAnalysisSrvcs]]></description>
			<content:encoded><![CDATA[<div style="float: right; width: 42px; padding-right: 10px; margin: 0 0 0 10px;">
		<script type="text/javascript">
		<!--
		digg_url = "http://performancepointblog.com/2009/02/sqlcat-strikes-again-hardcore-sql-analysis-services-tuning-aids/";
		digg_bgcolor = "";
		digg_skin = "";
		digg_window = "";
		digg_title = "SQLCat+strikes+again%21+Hardcore+SQL+Analysis+Services+tuning+aids";
		digg_media = "";
		digg_topic = "";
		digg_bodytext = "";
		//-->
		</script>
		<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script></div><p>Carl Rabeler of the Microsoft SQLCat team has just released a really nice set of tools targeted at helping you analyze SSAS performance.</p>
<p>You can read about it here:</p>
<p><a href="http://sqlcat.com/toolbox/archive/2009/02/05/a-solution-for-collecting-analysis-services-performance-data-from-many-sources-for-performance-analysis.aspx">http://sqlcat.com/toolbox/archive/2009/02/05/a-solution-for-collecting-analysis-services-performance-data-from-many-sources-for-performance-analysis.aspx</a></p>
<p>Then download it from codeplex, here:</p>
<p> <a href="http://www.codeplex.com/SQLSrvAnalysisSrvcs">http://www.codeplex.com/SQLSrvAnalysisSrvcs</a></p>
]]></content:encoded>
			<wfw:commentRss>http://performancepointblog.com/2009/02/sqlcat-strikes-again-hardcore-sql-analysis-services-tuning-aids/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Speeding up SQL Analysis Services DSV table selection against Teradata</title>
		<link>http://performancepointblog.com/2008/05/speeding-up-sql-analysis-services-dsv-table-selection-against-teradata/</link>
		<comments>http://performancepointblog.com/2008/05/speeding-up-sql-analysis-services-dsv-table-selection-against-teradata/#comments</comments>
		<pubDate>Tue, 20 May 2008 20:02:24 +0000</pubDate>
		<dc:creator>Russell</dc:creator>
				<category><![CDATA[SQL Analysis Services]]></category>
		<category><![CDATA[SQL Server Analysis Services]]></category>
		<category><![CDATA[Teradata]]></category>

		<guid isPermaLink="false">http://performancepointblog.com/?p=5</guid>
		<description><![CDATA[A couple of days ago I needed to create a new DSV against a Teradata source. I found that the &#8220;lag&#8221; in the normally light-on-its feet DSV wizard was pretty bad - it took in the neighborhood of 1.5 minutes for the Add Related Tables function to return when I tried it against FactResellerSales (I have AdventureWorks DW [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; width: 42px; padding-right: 10px; margin: 0 0 0 10px;">
		<script type="text/javascript">
		<!--
		digg_url = "http://performancepointblog.com/2008/05/speeding-up-sql-analysis-services-dsv-table-selection-against-teradata/";
		digg_bgcolor = "";
		digg_skin = "";
		digg_window = "";
		digg_title = "Speeding+up+SQL+Analysis+Services+DSV+table+selection+against+Teradata";
		digg_media = "";
		digg_topic = "";
		digg_bodytext = "";
		//-->
		</script>
		<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script></div><p>A couple of days ago I needed to create a new DSV against a Teradata source. I found that the &#8220;lag&#8221; in the normally light-on-its feet DSV wizard was pretty bad - it took in the neighborhood of 1.5 minutes for the <strong>Add Related Tables</strong> function to return when I tried it against FactResellerSales (I have AdventureWorks DW loaded up in Teradata).</p>
<p>I was lucky to be in a LiveMeeting with some guys from Teradata who watched me struggle through this process, and they gave me some hints to make my life better &#8211; well, my data-related life, anyway:</p>
<ul>
<li>Use the .NET provider for Teradata version 12  (I was using the latest 8.1 Provider)</li>
<li>In the data source for the project, make sure to set the database name you are connecting to in the <strong>Database</strong> property found in the <strong>All</strong> properties dialog</li>
<li>In the same <strong>All</strong> properties list for the provider, set <strong>Use X Views</strong> to false</li>
</ul>
<p>These three changes dropped my &#8220;wait time&#8221; from 1.5 minutes to 11 seconds. Can&#8217;t wait to see if queries against my ROLAP partitions come back more quickly.</p>
<p>Thanks Teradata guys!</p>
]]></content:encoded>
			<wfw:commentRss>http://performancepointblog.com/2008/05/speeding-up-sql-analysis-services-dsv-table-selection-against-teradata/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
