<?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>PerformancePointy: Wade Dorrell's MSDN Blog</title><link>http://blogs.msdn.com/wadedor/default.aspx</link><description /><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Thanks for a great SharePoint Conference!</title><link>http://blogs.msdn.com/wadedor/archive/2009/10/23/thanks-for-a-great-sharepoint-conference.aspx</link><pubDate>Fri, 23 Oct 2009 22:25:32 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9912287</guid><dc:creator>Wade Dorrell</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/wadedor/comments/9912287.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wadedor/commentrss.aspx?PostID=9912287</wfw:commentRss><description>&lt;p&gt;Thanks for attending SharePoint Conference 2009 &amp;amp; talking with us about your scenarios, troubles, what you’d like to see us turn the ratchet on, and what you love. I talked with a slice of you about PerformancePoint Services, but also the whole insights ecosystem for SharePoint 2010… Excel Services, Reporting Services, Visio Services, and more.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Packed house at our “Creating dashboard as easy as 1, 2, 3” PerformancePoint Services session" border="0" alt="Packed house at our “Creating dashboard as easy as 1, 2, 3” PerformancePoint Services session" src="http://blogs.msdn.com/blogfiles/wadedor/WindowsLiveWriter/ThanksforagreatSharePointConference_E6F6/image_8553fde1-d15b-4173-b6b0-9b883d1460ca.png" width="632" height="416" /&gt;&amp;#160; &lt;br /&gt;&lt;strong&gt;Above:&lt;/strong&gt; &lt;em&gt;Packed house at our “Creating dashboard as easy as 1, 2, 3” PerformancePoint Services session. Sorry about the room acoustics… we got a late room upgrade… you can get the video recording &lt;/em&gt;&lt;a href="http://www.mssharepointconference.com/pages/members/sessiondetails.aspx?sid=SPC222"&gt;&lt;em&gt;here&lt;/em&gt;&lt;/a&gt;&lt;em&gt; sometime next week.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;I love conferences because they get me so fired up. Jason said I took on the attributes of a certain CEO for a few moments when talking about &lt;a href="http://www.powerpivot.com/"&gt;PowerPivot&lt;/a&gt;. Yeah, I think I might have. What fires me up is that you love it, you came to a conference to fill your brain with it, and we’re putting the bits in your hands soon (November.) I think that’s worth a dance or two.&lt;/p&gt;  &lt;p&gt;Want to know more about features of PerformancePoint Services for SharePoint 2010? Keep your eyes on the &lt;a href="http://blogs.msdn.com/performancepoint/"&gt;PerformancePoint Services product team blog&lt;/a&gt; for a series of posts about each feature.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9912287" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wadedor/archive/tags/performancepoint/default.aspx">performancepoint</category><category domain="http://blogs.msdn.com/wadedor/archive/tags/presentation/default.aspx">presentation</category><category domain="http://blogs.msdn.com/wadedor/archive/tags/sharepoint+2010/default.aspx">sharepoint 2010</category></item><item><title>More to come…</title><link>http://blogs.msdn.com/wadedor/archive/2009/09/25/more-to-come.aspx</link><pubDate>Sat, 26 Sep 2009 02:55:11 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9899758</guid><dc:creator>Wade Dorrell</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/wadedor/comments/9899758.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wadedor/commentrss.aspx?PostID=9899758</wfw:commentRss><description>&lt;p&gt;I’ve left this blog mostly untouched for the past 6 months. Here’s what I’ve been up to:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Tightening rivets on Office 2010 wave products. The ship’s looking good!&lt;/li&gt;    &lt;li&gt;Going through real world scenarios using the latest bits. You probably know Microsoft calls this ‘dogfooding’. I dogfood daily. I do PerformancePoint Services, and SharePoint of course, but also Outlook, Excel, Word, and PowerPoint. I’ve also hit InfoPath, SharePoint Designer, and Access in the last few months. By the way, Excel 2010 is looking really great. (Have you seen &lt;a href="http://blogs.msdn.com/excel/archive/2009/09/23/easy-and-even-fun-data-exploration-introducing-excel-2010-slicers.aspx"&gt;slicers&lt;/a&gt;?)&lt;/li&gt;    &lt;li&gt;We’re getting ready for Microsoft SharePoint Conference in October. Here’s a &lt;a href="http://www.mssharepointconference.com/pages/SessionSneakPeak.aspx"&gt;sneak peak of a few of the sessions; PerformancePoint Services is in the mix&lt;/a&gt;.&lt;/li&gt;    &lt;li&gt;We’re working with TAP customers on deployment of early bits.&lt;/li&gt;    &lt;li&gt;We’re getting people aligned for the next wave.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;There hasn’t been much that’s PerformancePointy I can blog about… but I’ll be back soon!&lt;/p&gt;  &lt;p&gt;In the meantime, some ideas:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Read through &lt;a href="http://blogs.msdn.com/performancepoint"&gt;http://blogs.msdn.com/performancepoint&lt;/a&gt; to make sure you miss a note about the in-market functionality&lt;/li&gt;    &lt;li&gt;Think about &lt;a href="https://spc2009.dynamiceventsreg.com/"&gt;going to the SharePoint Conference&lt;/a&gt; if you can.&lt;/li&gt;    &lt;li&gt;Get ready for PerformancePoint Services for SharePoint 2010!&lt;/li&gt; &lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9899758" width="1" height="1"&gt;</description></item><item><title>Free Software Development &amp; Tech Event in Boise</title><link>http://blogs.msdn.com/wadedor/archive/2009/02/17/free-software-development-tech-event-in-boise.aspx</link><pubDate>Tue, 17 Feb 2009 19:36:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9427824</guid><dc:creator>Wade Dorrell</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/wadedor/comments/9427824.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wadedor/commentrss.aspx?PostID=9427824</wfw:commentRss><description>&lt;p&gt;Boise Code Camp 2009 is a free, popular (400+ registrants last year) and educational conference on a Saturday (March 28) down at Boise State University. Speakers from our community, and a few respected north-westerners, cover software development, IT, business, and a few very geeky topics. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Application development in the cloud, lots of jQuery, Mindstorms &amp;amp; Wiimotes, software &amp;amp; copyright law, agile methodologies…&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Code Camp’s looking for speakers! If you’ve an idea, and an hour to present on the 28th, you’ve got a month to prepare… but first please &lt;a href="http://www.boisecodecamp.org/SessionsandSpeakers/tabid/60/Default.aspx"&gt;look at current sessions and consider submitting now&lt;/a&gt;. My SharePoint BI colleague, Greg, is going to talk about iPhone application development, “from idea to $” as I pitched it to him.&lt;/p&gt;  &lt;p&gt;For more information, head to &lt;a title="http://www.boisecodecamp.org/" href="http://www.boisecodecamp.org/"&gt;http://www.boisecodecamp.org/&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9427824" width="1" height="1"&gt;</description></item><item><title>PerformancePoint just got sharper</title><link>http://blogs.msdn.com/wadedor/archive/2009/01/23/performancepoint-just-got-sharper.aspx</link><pubDate>Sat, 24 Jan 2009 00:26:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9373198</guid><dc:creator>Wade Dorrell</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/wadedor/comments/9373198.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wadedor/commentrss.aspx?PostID=9373198</wfw:commentRss><description>&lt;p&gt;We announced an update to the Microsoft BI roadmap today.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.com/winme/0901/35195/Guy_Weismantel_BI_Announcement_MBR.asx"&gt;The video by Guy Weismantel, Director of Microsoft BI&lt;/a&gt; is the authoritative source on the change at the moment, and I expect there will be press release/FAQ at &lt;a href="http://www.microsoft.com/presspass/default.mspx"&gt;Microsoft PressPass&lt;/a&gt; (I don’t see it as of 2:20 Mountain Time). The mother load of discussion sources, if you can step carefully, are on FriendFeed:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://friendfeed.com/search?q=performancepoint&amp;amp;who=everyone" href="http://friendfeed.com/search?q=performancepoint&amp;amp;who=everyone"&gt;http://friendfeed.com/search?q=performancepoint&amp;amp;who=everyone&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Basically you’ll hear we’re moving the scorecard, dashboard, and analytics capabilities we ship today into SharePoint. If you know that product, you probably saw that one coming. You’ll also hear that the planning product is done. Maybe you saw that one coming, maybe you didn’t. There are some good investments that team’s made that I think you’ll see soon enough.&lt;/p&gt;  &lt;p&gt;Where you think there is badness, there is goodness. And little dash of that ProClarity spirit, perhaps. I have a new name for this blog, but I can’t use it yet, so it’s staying “PerformancePointy” for now.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9373198" width="1" height="1"&gt;</description></item><item><title>Dashboard Deployment Without Folders</title><link>http://blogs.msdn.com/wadedor/archive/2008/12/05/dashboard-deployment-without-folders.aspx</link><pubDate>Sat, 06 Dec 2008 03:39:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9180841</guid><dc:creator>Wade Dorrell</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/wadedor/comments/9180841.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wadedor/commentrss.aspx?PostID=9180841</wfw:commentRss><description>&lt;p&gt;When deploying a dashboard to a document library from PerformancePoint 2007 Dashboard Designer, Dashboard Designer creates each dashboard page .aspx file in a folder named the same as the dashboard:&lt;/p&gt;  &lt;p&gt;&lt;img title="Picture of document library showing folder holding pages" style="display: inline" height="261" alt="Picture of document library showing folder holding pages" src="http://blogs.msdn.com/blogfiles/wadedor/WindowsLiveWriter/DashboardDeploymentWithoutFolders_F1B3/image_cc8cabfb-c488-48f3-9ca4-31a3e1aea29a.png" width="485" border="0" /&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;But what if we don’t want folders?&lt;/p&gt;  &lt;h3&gt;The “Create View” Way&lt;/h3&gt;  &lt;p&gt;I created a view for &lt;em&gt;“Insurance Dashboards”&lt;/em&gt; with the “Show all items without folders” setting turned on, and set it as the default:    &lt;br /&gt;    &lt;br /&gt;&amp;#160;&lt;img title="image" style="display: inline" height="98" alt="image" src="http://blogs.msdn.com/blogfiles/wadedor/WindowsLiveWriter/DashboardDeploymentWithoutFolders_F1B3/image_469c6425-7aa3-4b0e-8148-0e1c1868d8ac.png" width="465" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;The folders still exist, but users visiting the document library get a flattened list of all pages by default.&lt;/p&gt;  &lt;h3&gt;The “SharePoint Workflow” Way&lt;/h3&gt;  &lt;p&gt;With SharePoint workflow we can remove folders as dashboards are deployed.&lt;/p&gt;  &lt;p&gt;First, I create a document library for the purpose of deployment. I called it “&lt;em&gt;Insurance Dashboards - Deploy&lt;/em&gt;”.&lt;/p&gt;  &lt;p&gt;Next, I create a new workflow in SharePoint Designer that copies any item created in “&lt;em&gt;Insurance Dashboards – Deploy&lt;/em&gt;” to “&lt;em&gt;Insurance Dashboards”.&lt;/em&gt; (Serendipitously, the folder structure won’t be maintained by the copy… )&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;img title="image" style="display: inline" height="516" alt="image" src="http://blogs.msdn.com/blogfiles/wadedor/WindowsLiveWriter/DashboardDeploymentWithoutFolders_F1B3/image_0ff4409c-40d3-4ae0-aac4-cee9c976b947.png" width="551" border="0" /&gt;&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;When deploying a dashboard in Dashboard Designer I target “&lt;em&gt;Insurance Dashboards – Deploy” &lt;/em&gt;instead of “&lt;em&gt;Insurance Dashboards&lt;/em&gt;”:&lt;/p&gt;  &lt;p&gt;&lt;img title="image" style="display: inline" height="201" alt="image" src="http://blogs.msdn.com/blogfiles/wadedor/WindowsLiveWriter/DashboardDeploymentWithoutFolders_F1B3/image_20fbc2e8-413d-47af-8045-254d16634a8f.png" width="570" border="0" /&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;The workflow makes a copy of each page to &lt;em&gt;“Insurance Dashboards”&lt;/em&gt;, leaving the folder structure behind.&lt;/p&gt;  &lt;h3&gt;Thoughts on The “SharePoint Workflow” Way&lt;/h3&gt;  &lt;ul&gt;   &lt;li&gt;We might add a step that deletes the deployed after the copy occurs.&lt;/li&gt;    &lt;li&gt;How might we handle page collisions? (We might rename, do a forced overwrite, or go into a holding pattern when this happens. I haven’t tried any of these things yet.)&lt;/li&gt;    &lt;li&gt;This pattern might be useful for other things, such as altering the content of some dashboard pages, particularly to add a custom web part. This is also something I haven’t tried, but if anyone has, please let me know!&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Any other thoughts? Please leave comments here on the blog.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9180841" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wadedor/archive/tags/performancepoint/default.aspx">performancepoint</category><category domain="http://blogs.msdn.com/wadedor/archive/tags/workflow/default.aspx">workflow</category></item><item><title>Treemap + Silverlight =&gt; Gasp!</title><link>http://blogs.msdn.com/wadedor/archive/2008/11/24/treemap-silverlight-gasp.aspx</link><pubDate>Tue, 25 Nov 2008 01:25:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9139241</guid><dc:creator>Wade Dorrell</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/wadedor/comments/9139241.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wadedor/commentrss.aspx?PostID=9139241</wfw:commentRss><description>&lt;p&gt;From &lt;a title="http://blogs.msdn.com/gpde/" href="http://blogs.msdn.com/gpde/"&gt;http://blogs.msdn.com/gpde/&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Microsoft’s Global Product Development team in Europe recently completed its Treemap control for visualizing hierarchical data, seen below.&amp;#160; You can read more about it here and leave your feedback. &lt;/p&gt;    &lt;p&gt;&lt;img src="http://blogs.msdn.com/photos/gpdepix/images/9074704/original.aspx" /&gt;&lt;/p&gt;    &lt;p&gt;If you are excited by what you see us doing, check us out at &lt;a href="http://www.joinmicrosofteurope.com/"&gt;www.joinmicrosofteurope.com/&lt;/a&gt;.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;You can skip a few steps straight to the demo here: &lt;a title="http://www.joinmicrosofteurope.com/TreemapDemo/" href="http://www.joinmicrosofteurope.com/TreemapDemo/"&gt;http://www.joinmicrosofteurope.com/TreemapDemo/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Wow!&lt;/p&gt;  &lt;p&gt;Putting this in the context of PerformancePoint, remember that you can get a similar visualization in PerformancePoint dashboards by using ProClarity Analytics Server’s “Performance Map” visualization.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9139241" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wadedor/archive/tags/proclarity/default.aspx">proclarity</category><category domain="http://blogs.msdn.com/wadedor/archive/tags/user+experience/default.aspx">user experience</category><category domain="http://blogs.msdn.com/wadedor/archive/tags/silverlight/default.aspx">silverlight</category><category domain="http://blogs.msdn.com/wadedor/archive/tags/heatmap/default.aspx">heatmap</category><category domain="http://blogs.msdn.com/wadedor/archive/tags/performance+map/default.aspx">performance map</category></item><item><title>PerformancePoint Monitoring + Silverlight: KPIs and Scorecards</title><link>http://blogs.msdn.com/wadedor/archive/2008/11/17/performancepoint-silverlight-interoperability-monitoring-web-service.aspx</link><pubDate>Mon, 17 Nov 2008 20:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8927163</guid><dc:creator>Wade Dorrell</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/wadedor/comments/8927163.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wadedor/commentrss.aspx?PostID=8927163</wfw:commentRss><description>&lt;P&gt;PerformancePoint Monitoring doesn't have as robust a prescription as &lt;A href="http://www.ssblueprints.net/sharepoint" mce_href="http://www.ssblueprints.net/sharepoint"&gt;Silverlight Blueprint for SharePoint&lt;/A&gt;, but yes, PerformancePoint Monitoring &amp;amp; Silverlight can be used together.&lt;/P&gt;
&lt;P&gt;PerformancePoint dashboards are SharePoint web part pages, so web parts or master pages using Silverlight for menus, visualization, charting, or any other thing, are right at home in (or surrounding) a PerformancePoint dashboard.&lt;/P&gt;
&lt;P&gt;Another integration point is the web service &lt;EM&gt;PmService.asmx&lt;/EM&gt;. You can learn more about this service through &lt;A href="http://msdn.microsoft.com/en-us/library/microsoft.performancepoint.scorecards.server.pmservice.aspx" mce_href="http://msdn.microsoft.com/en-us/library/microsoft.performancepoint.scorecards.server.pmservice.aspx"&gt;PerformancePoint SDK documentation of its client proxy&lt;/A&gt;. In this article we’ll call the &lt;EM&gt;GenerateView&lt;/EM&gt; method of this service to retrieve and work with a scorecard/KPI data set, and visualize that data in Silverlight 2. &lt;BR&gt;&lt;/P&gt;
&lt;H3&gt;The Objective&lt;/H3&gt;
&lt;P&gt;Here’s a simple scorecard containing everyone’s favorite KPI, “Freight Cost Below 29”.&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;IMG title=image style="DISPLAY: inline" height=48 alt=image src="http://blogs.msdn.com/blogfiles/wadedor/WindowsLiveWriter/PerformancePointSilverlightinteroperabil_DAC0/image_fe1a4d42-2739-4301-aeff-b178913f9560.png" width=197 border=0 mce_src="http://blogs.msdn.com/blogfiles/wadedor/WindowsLiveWriter/PerformancePointSilverlightinteroperabil_DAC0/image_fe1a4d42-2739-4301-aeff-b178913f9560.png"&gt; &lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;We’ll render this same data lovingly within a Silverlight 2 application that looks like:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;IMG title=image style="DISPLAY: inline" height=29 alt=image src="http://blogs.msdn.com/blogfiles/wadedor/WindowsLiveWriter/PerformancePointSilverlightinteroperabil_DAC0/image_a3bbe2a3-509f-44b0-bd1f-4e2be3f128ee.png" width=98 border=0 mce_src="http://blogs.msdn.com/blogfiles/wadedor/WindowsLiveWriter/PerformancePointSilverlightinteroperabil_DAC0/image_a3bbe2a3-509f-44b0-bd1f-4e2be3f128ee.png"&gt; &lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;If a scorecard contained additional cells, we could obviously do a lot more… a value trend sparkline, or multiple KPI slices in a ticker-style UI… but we’ll start with a simple &amp;lt;Button/&amp;gt;.&lt;/P&gt;
&lt;H3&gt;Step 1: PmService.asmx &amp;amp; Cross-Domain Callers&lt;/H3&gt;
&lt;P&gt;Here’s an essential development/security tip: If our Silverlight application isn’t hosted at the same host/port as &lt;EM&gt;PmService.asmx&lt;/EM&gt;, we’ll need to deal with cross-domain calling issues. Learn more at &lt;A href="http://msdn.microsoft.com/en-us/library/cc197955(VS.95).aspx" mce_href="http://msdn.microsoft.com/en-us/library/cc197955(VS.95).aspx"&gt;MSDN: Make a Service Available Across Domain Boundaries&lt;/A&gt; or &lt;A href="http://timheuer.com/blog/archive/2008/08/20/fixing-troubleshooting-debugging-silverlight-and-data-services.aspx" mce_href="http://timheuer.com/blog/archive/2008/08/20/fixing-troubleshooting-debugging-silverlight-and-data-services.aspx"&gt;Tim Heuer's excellent Silverlight blog&lt;/A&gt;.&lt;/P&gt;
&lt;H3&gt;Step 2: Creating/Configuring The Service Reference&lt;/H3&gt;
&lt;P&gt;Configuring a service reference for a Silverlight 2 project is familiar for those who've built .NET client/service applications, but perhaps not for PerformancePoint Monitoring developers… we can't use the previously mentioned client proxy because its assembly references the .NET client runtime, not the Silverlight runtime.&lt;/P&gt;
&lt;P&gt;So we generate new, Silverlight-specific, client proxy and associated classes from WSDL by using Visual Studio’s “Add Service Reference” against &lt;EM&gt;http://myperformancepointserver:40000/WebService/PmService.asmx?wsdl&lt;/EM&gt;.&lt;/P&gt;
&lt;P&gt;The generated proxies contains references to “ArrayOfXElement”, which keeps them from compiling. For the purposes of this article, you can remove any code that references ArrayOfXElement until the proxy does compile.&lt;/P&gt;
&lt;H3&gt;Step 3: Call &lt;EM&gt;GenerateView&lt;/EM&gt;&lt;/H3&gt;
&lt;P&gt;We create an instance of PmServiceSoapClient, the client proxy generated from WSDL, and call the service method GenerateView. The GUID parameters to GenerateView are Scorecard ID and ConfiguredView ID. (We find these in a.bswx file containing the scorecard.)&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;PRE class=csharpcode&gt;PmServiceSoapClient client = &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; PmServiceSoapClient();            
client.GenerateViewCompleted += &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; EventHandler&amp;lt;GenerateViewCompletedEventArgs&amp;gt;(client_GenerateViewCompleted);
client.GenerateViewAsync(&lt;BR&gt;   &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; Guid(&lt;SPAN class=str&gt;"3449fb9f-458b-44d4-8509-f75e1ad99e78"&lt;/SPAN&gt;),&lt;BR&gt;   &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; Guid(&lt;SPAN class=str&gt;"7bb670e0-2ad8-4ed9-a1e1-0e63003d4402"&lt;/SPAN&gt;),&lt;BR&gt;   &lt;SPAN class=kwrd&gt;null&lt;/SPAN&gt;,&lt;BR&gt;   &lt;SPAN class=kwrd&gt;null&lt;/SPAN&gt;);&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;
&lt;H3&gt;Step 4: Get The Scorecard Data Set&lt;/H3&gt;
&lt;P&gt;Silverlight forces the asynchronous calling pattern, and so the handler for GenerateViewCompleted’s called on a non-UI thread. It's important that changes to elements within the visual be made on the UI thread.&amp;nbsp; Our method UpdateVisualization updates the visual using data from e.Result, so we use Dispatcher.BeginInvoke to be sure it’s called on the UI thread:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;PRE class=csharpcode&gt;&lt;SPAN class=kwrd&gt;void&lt;/SPAN&gt; client_GenerateViewCompleted(&lt;SPAN class=kwrd&gt;object&lt;/SPAN&gt; sender, GenerateViewCompletedEventArgs e)&lt;BR&gt;{&lt;BR&gt;    Dispatcher.BeginInvoke(() =&amp;gt; UpdateVisualization(e.Result));&lt;BR&gt;}&lt;/PRE&gt;&lt;/BLOCKQUOTE&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;H3&gt;Step 5: Bind the GridViewData to the Visuals&lt;/H3&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;Here's UpdateVisualization, which grabs the (0,0) GridCell and binds a few values to a button through a data model class:&lt;/P&gt;&lt;PRE class=csharpcode&gt;        &lt;SPAN class=kwrd&gt;public&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;void&lt;/SPAN&gt; UpdateVisualization(GridViewData gridViewData)
        {
            &lt;SPAN class=rem&gt;// This example works off the 1-row header, 1-column header&lt;BR&gt;            // &lt;/SPAN&gt;&lt;SPAN class=rem&gt;structure of our simple example scorecard.&lt;/SPAN&gt;
            IEnumerable&amp;lt;GridHeaderItem&amp;gt; coordinates = &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt;[] { &lt;BR&gt;               gridViewData.RootRowHeader.Children[0],&lt;BR&gt;               gridViewData.RootColumnHeader.Children[0] };&lt;BR&gt;&lt;/PRE&gt;&lt;PRE class=csharpcode&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;SPAN class=rem&gt;            // GetCell is an extension method, see Appendix &lt;/SPAN&gt;
            GridCell cell = gridViewData.GetCell(coordinates);&lt;BR&gt;
            &lt;SPAN class=kwrd&gt;string&lt;/SPAN&gt; text = cell.DisplayElements[0].Description;
            GridColor gridColor = cell.FormatInfo.BackColor;
            button.DataContext = &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; DataModel {
                Description = text,
                StatusColor = &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; SolidColorBrush(Color.FromArgb(gridColor.A, gridColor.R, gridColor.G, gridColor.B))
            };
        }&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;P&gt;Here’s the data model class:&lt;/P&gt;&lt;PRE class=csharpcode&gt;        &lt;SPAN class=kwrd&gt;public&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;class&lt;/SPAN&gt; DataModel
        {
            &lt;SPAN class=kwrd&gt;public&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;string&lt;/SPAN&gt; Description { get; set; }
            &lt;SPAN class=kwrd&gt;public&lt;/SPAN&gt; SolidColorBrush StatusColor { get; set; }
        }&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;P&gt;And the relevant XAML:&lt;/P&gt;&lt;PRE class=csharpcode&gt;    &amp;lt;Button x:Name=&lt;SPAN class=str&gt;"button"&lt;/SPAN&gt; Height=&lt;SPAN class=str&gt;"21"&lt;/SPAN&gt; Width=&lt;SPAN class=str&gt;"90"&lt;/SPAN&gt;&amp;gt;
        &amp;lt;Button.Content&amp;gt;
            &amp;lt;StackPanel Orientation=&lt;SPAN class=str&gt;"Horizontal"&lt;/SPAN&gt;&amp;gt;
                &amp;lt;Ellipse Width=&lt;SPAN class=str&gt;"12"&lt;/SPAN&gt; Height=&lt;SPAN class=str&gt;"12"&lt;/SPAN&gt; Fill=&lt;SPAN class=str&gt;"{Binding StatusColor}"&lt;/SPAN&gt; VerticalAlignment=&lt;SPAN class=str&gt;"Center"&lt;/SPAN&gt;/&amp;gt;
                &amp;lt;TextBlock Text=&lt;SPAN class=str&gt;"{Binding Description}"&lt;/SPAN&gt; VerticalAlignment=&lt;SPAN class=str&gt;"Center"&lt;/SPAN&gt;/&amp;gt;                
            &amp;lt;/StackPanel&amp;gt;
        &amp;lt;/Button.Content&amp;gt;        
    &amp;lt;/Button&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;P&gt;And the result:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;IMG title=image style="DISPLAY: inline" height=29 alt=image src="http://blogs.msdn.com/blogfiles/wadedor/WindowsLiveWriter/PerformancePointSilverlightinteroperabil_DAC0/image_ae86f832-3c60-4f2c-a518-34a7a8ac43e8.png" width=98 border=0 mce_src="http://blogs.msdn.com/blogfiles/wadedor/WindowsLiveWriter/PerformancePointSilverlightinteroperabil_DAC0/image_ae86f832-3c60-4f2c-a518-34a7a8ac43e8.png"&gt; &lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;This isn’t fancy, but hopefully it gets you past the major hurdles, and on to a much more interesting dynamic visualization using Silverlight 2.&lt;/P&gt;
&lt;H3&gt;Appendix: GetCell for GridViewData&lt;/H3&gt;
&lt;P&gt;Here's an extension method for the WSDL-generated GridViewData, GetCell. This is used to look up a cell for a given combination of headers.&lt;/P&gt;
&lt;P&gt;The cell keying algorithm could change in future versions of PerformancePoint. Please let me know if you run into issues using this.&lt;/P&gt;&lt;PRE class=csharpcode&gt;        &lt;SPAN class=rem&gt;/// &amp;lt;summary&amp;gt;&lt;/SPAN&gt;
        &lt;SPAN class=rem&gt;/// Returns the GridCell for the coordinates defined by the GridHeaderItems. Returns&lt;/SPAN&gt;
        &lt;SPAN class=rem&gt;/// null if the coordinates refer to an empty/out-of-range cell.&lt;/SPAN&gt;
        &lt;SPAN class=rem&gt;/// &amp;lt;/summary&amp;gt;&lt;/SPAN&gt;
        &lt;SPAN class=kwrd&gt;public&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;static&lt;/SPAN&gt; GridCell GetCell(&lt;SPAN class=kwrd&gt;this&lt;/SPAN&gt; GridViewData t, IEnumerable&amp;lt;GridHeaderItem&amp;gt; coordinates)
        {
            &lt;SPAN class=kwrd&gt;string&lt;/SPAN&gt; key = generateKey(coordinates);

            DictionaryWrapperOfStringGridCell table = t.Cells.Table;
            &lt;SPAN class=kwrd&gt;for&lt;/SPAN&gt; (&lt;SPAN class=kwrd&gt;int&lt;/SPAN&gt; i = 0; i &amp;lt; table.Keys.Length; i++)
            {
                &lt;SPAN class=kwrd&gt;if&lt;/SPAN&gt; (table.Keys[i] == key)
                {
                    &lt;SPAN class=kwrd&gt;return&lt;/SPAN&gt; table.Values[i];
                }
            }

            &lt;SPAN class=kwrd&gt;return&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;null&lt;/SPAN&gt;;            
        }

        &lt;SPAN class=kwrd&gt;private&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;static&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;string&lt;/SPAN&gt; generateKey(IEnumerable&amp;lt;GridHeaderItem&amp;gt; coordinates)
        {
            &lt;SPAN class=kwrd&gt;return&lt;/SPAN&gt; coordinates
                .Where(coordinate =&amp;gt; &lt;SPAN class=kwrd&gt;null&lt;/SPAN&gt; != coordinate.DimensionName)
                .OrderBy(coordinate =&amp;gt; coordinate.DimensionName)
                .Select(coordinate =&amp;gt; &lt;SPAN class=kwrd&gt;string&lt;/SPAN&gt;.Format(&lt;SPAN class=str&gt;"{0}:{1}{2}_"&lt;/SPAN&gt;, coordinate.DimensionName, coordinate.DimensionValue, coordinate.Id))
                .Aggregate(&lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; StringBuilder(), (stringBuilder, keyPart) =&amp;gt; stringBuilder.Append(keyPart), sb =&amp;gt; sb.ToString());
        }&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;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;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;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;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8927163" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/wadedor/attachment/8927163.ashx" length="107600" type="application/x-zip-compressed" /><category domain="http://blogs.msdn.com/wadedor/archive/tags/silverlight/default.aspx">silverlight</category></item><item><title>Working with well-known properties and PmService</title><link>http://blogs.msdn.com/wadedor/archive/2008/07/24/working-with-pmservice-s-wsdl-generated-classes.aspx</link><pubDate>Thu, 24 Jul 2008 18:42:57 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8769467</guid><dc:creator>Wade Dorrell</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/wadedor/comments/8769467.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wadedor/commentrss.aspx?PostID=8769467</wfw:commentRss><description>&lt;p&gt;Tim Kent at Adatis did &lt;a href="http://blogs.adatis.co.uk/blogs/timkent/archive/2008/07/24/performancepoint-monitoring-web-service-part-2.aspx"&gt;a nice writeup&lt;/a&gt; on how to work with the &amp;quot;well-known properties&amp;quot; Name, Description, and Person Responsible of a PerformancePoint Monitoring first-class object (a KPI, a Scorecard, a Data Source, etc.) when calling the PmService web service.&lt;/p&gt;  &lt;p&gt;I've always wondered why they're &amp;quot;well-known&amp;quot; if you have to memorize a GUID to work with them... &amp;quot;well-known if you have a good memory&amp;quot;, perhaps. It should be easier than that, and I've entered a usability bug against this for the next version.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8769467" width="1" height="1"&gt;</description></item><item><title>Sparklines plugin for jQuery</title><link>http://blogs.msdn.com/wadedor/archive/2008/07/21/sparklines-plugin-for-jquery.aspx</link><pubDate>Mon, 21 Jul 2008 19:12:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8761886</guid><dc:creator>Wade Dorrell</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/wadedor/comments/8761886.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wadedor/commentrss.aspx?PostID=8761886</wfw:commentRss><description>&lt;p&gt;Ran into this on the tubes this morning:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;This jQuery plugin generates sparklines directly in the browser using data supplied either inline in the HTML, or via javascript. &lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a title="http://omnipotent.net/jquery.sparkline/" href="http://omnipotent.net/jquery.sparkline/"&gt;http://omnipotent.net/jquery.sparkline/&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;In theory you'd be able to use this to sparkline-ize a PerformancePoint scorecard or analytic grid that returns CSV data in a cell, using this technique:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font face="Consolas"&gt;&amp;lt;span class=&amp;quot;sparklines&amp;quot;&amp;gt;1,2,3,4,5,4,3,2,1&amp;lt;/span&amp;gt;&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font face="Consolas"&gt;$('.sparklines').sparkline('html');&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;I'm not familiar with how to follow non-jQuery DOM modifications (all PerformancePoint webpart content is dynamically injected into the DOM) with jQuery That seems like the tricky part. Thoughts?&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8761886" width="1" height="1"&gt;</description></item><item><title>Careers at Microsoft Boise</title><link>http://blogs.msdn.com/wadedor/archive/2008/07/18/careers-at-microsoft-boise.aspx</link><pubDate>Sat, 19 Jul 2008 00:36:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8751641</guid><dc:creator>Wade Dorrell</dc:creator><slash:comments>7</slash:comments><comments>http://blogs.msdn.com/wadedor/comments/8751641.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wadedor/commentrss.aspx?PostID=8751641</wfw:commentRss><description>&lt;P&gt;Every month folks at NETDUG ask if we're hiring, whether they can give resumes to me, what it's like to work for Microsoft in Boise, are we moving to a larger/nicer building in Boise, etc. &lt;/P&gt;
&lt;P&gt;You can see all currently available openings &lt;A href="http://members.microsoft.com/careers/search/results.aspx?FromCP=Y&amp;amp;JobCategoryCodeID=&amp;amp;JobLocationCodeID=128&amp;amp;JobProductCodeID=&amp;amp;JobTitleCodeID=&amp;amp;Divisions=&amp;amp;TargetLevels=&amp;amp;Keywords=&amp;amp;JobCode=&amp;amp;ManagerAlias=&amp;amp;Interval=10"&gt;on the Microsoft careers site by searching for USA, Boise, ID&lt;/A&gt;. This is also where you submit your resume. The hiring managers in Boise get a filtered list of applicants interested in the positions/location, and they'll get in touch with you. If you get an invite to interview in-person in Redmond, but were applying for a Boise position, please question it... the system isn't adapted to non-Redmond hiring yet, and one of our hires had an interview location snafu. (It turned out OK though.) We do most of the in-person interviewing here, and you'll probably talk to one or more Redmond folks on the phone.&lt;/P&gt;
&lt;P&gt;You can give resumes to me, and I can pass them along to hiring managers, although they can't really take action on them... you'll have to post it on the Microsoft careers site as well.&lt;/P&gt;
&lt;P&gt;As for what it's like: it rocks. With PerformancePoint team you're working in a consolidating, growing, market with plenty of room for differentiation. In Boise, you're working with a tight-knit, fun-loving group who's experience in the BI space (lots of ex-&lt;A href="http://www.proclarity.com/" mce_href="http://www.proclarity.com/"&gt;ProClarity&lt;/A&gt; development and test people around!)&lt;/P&gt;
&lt;P&gt;As for if, where, when, and how we are moving: if I could tell you, I would, and when I can, I will. (Update: We moved to the Idaho Independant Bank Building, we occupy a good part of the 4th floor, and the entire 5th and 6th floors.)&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;(And what's NETDUG? I facilitate the &lt;/EM&gt;&lt;A href="http://www.netdug.com/" mce_href="http://www.netdug.com/"&gt;&lt;EM&gt;.NET Developer User Group&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt;'s use of our training room here at the Microsoft Boise &lt;/EM&gt;&lt;A href="http://maps.live.com/?q=500+S+10th+Boise+ID&amp;amp;mkt=en-US" mce_href="http://maps.live.com/?q=500+S+10th+Boise+ID&amp;amp;mkt=en-US"&gt;&lt;EM&gt;office&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt; every month, 3rd Thursday, at 7PM. If you're C#-y, TDD-like, agile-ist, or interested in any way in .NET developer technologies (Microsoft's typically, but anything goes), this is a pretty sweet group, and we'd be happy to see you. It's free. There's sometimes pizza and swag. There's always plenty of geekery. And there are lots Boise employment opportunities discussed beyond Microsoft's. That's NETDUG.) &lt;/EM&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8751641" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wadedor/archive/tags/proclarity/default.aspx">proclarity</category><category domain="http://blogs.msdn.com/wadedor/archive/tags/boise/default.aspx">boise</category><category domain="http://blogs.msdn.com/wadedor/archive/tags/jobs/default.aspx">jobs</category><category domain="http://blogs.msdn.com/wadedor/archive/tags/developersdevelopersdevelopers/default.aspx">developersdevelopersdevelopers</category><category domain="http://blogs.msdn.com/wadedor/archive/tags/careers/default.aspx">careers</category></item><item><title>Changing the background color of ProClarity Performance Map (aka Heat Map)</title><link>http://blogs.msdn.com/wadedor/archive/2008/07/17/changing-the-background-color-of-proclarity-performance-map-aka-heat-map.aspx</link><pubDate>Thu, 17 Jul 2008 19:45:50 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8744433</guid><dc:creator>Wade Dorrell</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/wadedor/comments/8744433.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wadedor/commentrss.aspx?PostID=8744433</wfw:commentRss><description>&lt;p&gt;Customers often want to set the background color of analytic visualizations such as the ProClarity charts &amp;amp; grids, to match a corporate or dashboard theme. Unlike the ProClarity charts &amp;amp; grids, it's not possible to set the background color of the heat map visualization within ProClarity Professional... it's always a cream color... but it can be changed through a simple modification to the PAS server CSS files.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/wadedor/WindowsLiveWriter/ChangingthebackgroundcolorofProClarityPe_9750/image_2.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="320" alt="Cream should be on the list of banned colors, along with sea foam green and salmon." src="http://blogs.msdn.com/blogfiles/wadedor/WindowsLiveWriter/ChangingthebackgroundcolorofProClarityPe_9750/image_thumb.png" width="448" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The color is defined per-language in &lt;em&gt;&amp;lt;PAS virtual directory&amp;gt;&lt;/em&gt;&lt;virtual&gt;/&lt;em&gt;&amp;lt;PAS language&amp;gt;&lt;/em&gt;/src/treeview.css:&lt;/p&gt;  &lt;p&gt;body {   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; height: 100%;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; margin: 0px 0px 0px 0px;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; padding: 0px 0px 0px 0px;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; width: 100%;    &lt;br /&gt;&lt;strong&gt;&amp;#160;&amp;#160;&amp;#160; background-color: #ece9d8;&lt;/strong&gt;    &lt;br /&gt;}&lt;/p&gt;  &lt;p&gt;Feel free to change it for each language pack. Although it's unlikely a PAS service pack or hotfix would update this file, you may have to re-apply the changes after installing a SP or hotfix.&lt;/p&gt;  &lt;p&gt;The downside to all of this is it's a global change, affecting all heat maps rendered by the PAS server. I have visions of using URL-rewrite to make this dynamic per heat map instance, but unless someone wants to make my vision reality, that's all it is for the moment.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8744433" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wadedor/archive/tags/proclarity/default.aspx">proclarity</category><category domain="http://blogs.msdn.com/wadedor/archive/tags/visualizations/default.aspx">visualizations</category><category domain="http://blogs.msdn.com/wadedor/archive/tags/heatmap/default.aspx">heatmap</category><category domain="http://blogs.msdn.com/wadedor/archive/tags/performance+map/default.aspx">performance map</category><category domain="http://blogs.msdn.com/wadedor/archive/tags/colors/default.aspx">colors</category></item><item><title>PerformancePoint Monitoring SDK content from TechEd</title><link>http://blogs.msdn.com/wadedor/archive/2008/06/11/performancepoint-monitoring-sdk-content-from-teched.aspx</link><pubDate>Wed, 11 Jun 2008 23:19:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8592087</guid><dc:creator>Wade Dorrell</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/wadedor/comments/8592087.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wadedor/commentrss.aspx?PostID=8592087</wfw:commentRss><description>&lt;P&gt;Here's the sample code and slides I showed about the PerformancePoint SDK at TechEd.&lt;/P&gt;
&lt;P&gt;A couple notes:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;The build OutputDir and xcopy post-build steps assume default locations for PerformancePoint assemblies, the Monitoring Web Service, and SharePoint :80 web application, as discussed in the BIN08-TLC slides. Please take a look and make sure they're right for your environment.&lt;/LI&gt;
&lt;LI&gt;To get the samples working you'll need to alter the *.config files. See config-readme.txt for details. Let me know if you need help, I think this is the trickiest part.&lt;/LI&gt;
&lt;LI&gt;If you want to use the "Live Search"-based custom data source implementation, &lt;A href="http://search.live.com/developer" mce_href="http://search.live.com/developer"&gt;please apply for your own Live Search application ID&lt;/A&gt; and insert it in SearchDataSourceProvider.cs. (It'll take about 15 minutes for the application ID to become active; until then feel free to use mine.)&lt;/LI&gt;&lt;/OL&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8592087" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/wadedor/attachment/8592087.ashx" length="3318041" type="application/x-zip-compressed" /><category domain="http://blogs.msdn.com/wadedor/archive/tags/performancepoint/default.aspx">performancepoint</category><category domain="http://blogs.msdn.com/wadedor/archive/tags/developersdevelopersdevelopers/default.aspx">developersdevelopersdevelopers</category><category domain="http://blogs.msdn.com/wadedor/archive/tags/teched/default.aspx">teched</category><category domain="http://blogs.msdn.com/wadedor/archive/tags/sdk/default.aspx">sdk</category></item><item><title>Thanks!</title><link>http://blogs.msdn.com/wadedor/archive/2008/06/05/thanks.aspx</link><pubDate>Fri, 06 Jun 2008 01:47:38 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8576435</guid><dc:creator>Wade Dorrell</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/wadedor/comments/8576435.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wadedor/commentrss.aspx?PostID=8576435</wfw:commentRss><description>&lt;p&gt;To everyone who attended my sessions and whom I talked to at TechEd 08: thank you! I got some of the PerformancePoint Monitoring SDK feedback I was looking for, both during the sessions, and especially in follow-on talks. I hope they, and the other breakouts and other sessions you attended were valuable. I will personally guarantee (and in fact you win a Zune 4GB if you prove me wrong) that you now more about the PerformancePoint SDK than 98% of the attendees.&lt;/p&gt;  &lt;p&gt;I'll have the code samples for &amp;quot;KPI Detail Report&amp;quot; and &amp;quot;(Live) Search Data Source Provider&amp;quot; posted soon. I'm tweaking the path dependencies such that they work on any machine where PerformancePoint Monitoring is installed/configured, not just my VPC... with all the killer discussion, demoing, and learning going on, and the usual side conversations with Leif about Windows Media Center... I haven't gotten as far on that as I planned.&lt;/p&gt;  &lt;p&gt;Processing 74% Complete. Please wait...&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8576435" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wadedor/archive/tags/performancepoint/default.aspx">performancepoint</category><category domain="http://blogs.msdn.com/wadedor/archive/tags/developersdevelopersdevelopers/default.aspx">developersdevelopersdevelopers</category><category domain="http://blogs.msdn.com/wadedor/archive/tags/teched/default.aspx">teched</category><category domain="http://blogs.msdn.com/wadedor/archive/tags/sdk/default.aspx">sdk</category></item><item><title>PerformancePoint 2007 SDK at TechEd!</title><link>http://blogs.msdn.com/wadedor/archive/2008/05/30/performancepoint-2007-sdk-at-teched.aspx</link><pubDate>Fri, 30 May 2008 23:17:58 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8564213</guid><dc:creator>Wade Dorrell</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/wadedor/comments/8564213.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wadedor/commentrss.aspx?PostID=8564213</wfw:commentRss><description>&lt;p&gt;I'll be facilitating 2 chalk-talks/Q&amp;amp;As in the TLC Interactive Theatre (small audience) at Tech&amp;#183;Ed 2008 Developers about PerformancePoint:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;BIN03-TLC&amp;#160; &lt;em&gt;&amp;quot;Navigating the Microsoft Office PerformancePoint Server 2007 SDK&amp;quot;&lt;/em&gt;      &lt;br /&gt;June 3 3:00PM-4:15PM      &lt;br /&gt;Green Theater 2&amp;#160; &lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;BIN08-TLC&amp;#160; &lt;em&gt;&amp;quot;Microsoft Office PerformancePoint Server 2007: Custom Data Connectors and Report Types&amp;quot;&lt;/em&gt;      &lt;br /&gt;June 5 8:30AM-9:45AM      &lt;br /&gt;Green Theater 2&amp;#160; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The first is going to be very high level. We want to give you a feel for what's possible with the SDK and to give you time to get SDK-specific questions answered &amp;amp; to get your feedback. Please let us know what scenarios we should add/tune up for the next version! If time allows, I'll show you a few samples that might get you thinking, including a KPI detail report, and a search keyword data source, and a KPI syndication solution. I'd mostly like to talk with those of you who are using the SDK, so please plan attend the 2nd session instead/also if you want deeper dive demos.&lt;/p&gt;  &lt;p&gt;The second session will be a &amp;quot;show me the code&amp;quot;-type session, on the KPI detail report &amp;amp; keyword data source, tuned for those who have not already tried the SDK. It's at 8:30AM Eastern... so it'll also be a &amp;quot;show me the coffee&amp;quot;-type session.&lt;/p&gt;  &lt;p&gt;Please stop by!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8564213" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wadedor/archive/tags/performancepoint/default.aspx">performancepoint</category><category domain="http://blogs.msdn.com/wadedor/archive/tags/presentation/default.aspx">presentation</category><category domain="http://blogs.msdn.com/wadedor/archive/tags/developersdevelopersdevelopers/default.aspx">developersdevelopersdevelopers</category><category domain="http://blogs.msdn.com/wadedor/archive/tags/teched/default.aspx">teched</category></item><item><title>Google charting</title><link>http://blogs.msdn.com/wadedor/archive/2008/05/05/google-charting.aspx</link><pubDate>Mon, 05 May 2008 20:59:12 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8461050</guid><dc:creator>Wade Dorrell</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/wadedor/comments/8461050.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wadedor/commentrss.aspx?PostID=8461050</wfw:commentRss><description>&lt;p&gt;I was toying around with &lt;a href="http://www.friendfeed.com/waded"&gt;FriendFeed&lt;/a&gt; and discovered Google's charting engine. Mmm, pie:&lt;/p&gt;  &lt;p&gt;&lt;img src="http://chart.apis.google.com/chart?chs=415x200&amp;amp;chd=s:9P&amp;amp;chl=Blog|Flickr&amp;amp;cht=p&amp;amp;chco=71ab0b" /&gt;&lt;/p&gt;  &lt;p&gt;The engine can render Google Analytics-esque sparklines too. The simplicity and accessibility of this &lt;a href="http://code.google.com/apis/chart"&gt;API&lt;/a&gt; is impressive... it's all in the URL.&lt;/p&gt;  &lt;p&gt;Now, I'm a bit agitated by this discovery, as years ago at ProClarity Greg &amp;amp; I built very similar to this API for doing sparklines, bullet graphs, and other datawords. I haven't shared it with you yet, and I should have. While it was no complete charting engine, and neither is Google's, our implementation was all of 300 lines of C#... so you could probably build &amp;amp; modify the implementation for your own specific needs pretty easily. Please let me know if you want it, and I'll throw it up on &lt;a href="http://www.codeplex.com"&gt;Codeplex&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;The major downside of our &amp;amp; Google's architecture is your data is relayed in the GET URL. It's getting replicated in logs. In Google's case, it's sent naked across the Internet (invalid certificate/no HTTPS), and aggregated in Google's data centers. According to the TOS this service cannot be relied on for uptime or continued compatibility. It will break for FriendFeed someday. Of course, free isn't always free! There's definitely some reasons to figure out how to host your own implementation on LAN &amp;amp; with security if you're using this for sensitive data or critical applications, and I should have shared it long ago.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8461050" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wadedor/archive/tags/proclarity/default.aspx">proclarity</category><category domain="http://blogs.msdn.com/wadedor/archive/tags/google/default.aspx">google</category><category domain="http://blogs.msdn.com/wadedor/archive/tags/charts/default.aspx">charts</category><category domain="http://blogs.msdn.com/wadedor/archive/tags/pie/default.aspx">pie</category><category domain="http://blogs.msdn.com/wadedor/archive/tags/visualizations/default.aspx">visualizations</category><category domain="http://blogs.msdn.com/wadedor/archive/tags/sparklines/default.aspx">sparklines</category></item></channel></rss>