<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://sqlblog.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>Stacia Misner : PASS, MDX</title><link>http://sqlblog.com/blogs/stacia_misner/archive/tags/PASS/MDX/default.aspx</link><description>Tags: PASS, MDX</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61129.1)</generator><item><title>Back to the Future with MDX and PASS</title><link>http://sqlblog.com/blogs/stacia_misner/archive/2011/09/09/38374.aspx</link><pubDate>Fri, 09 Sep 2011 20:22:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:38374</guid><dc:creator>smisner</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/stacia_misner/comments/38374.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/stacia_misner/commentrss.aspx?PostID=38374</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://www.packtpub.com/mdx-with-microsoft-sql-server-2008-r2-analysis-services/book?utm_source=blog.datainspirations.com&amp;amp;utm_medium=bookrev&amp;amp;utm_content=blog&amp;amp;utm_campaign=mdb_009319"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;float:left;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="1308EN_MDX with Microsoft SQL Server Analysis Services 2008 R2 Cookbook" border="0" alt="1308EN_MDX with Microsoft SQL Server Analysis Services 2008 R2 Cookbook" align="left" width="136" height="165" src="http://sqlblog.com/blogs/stacia_misner/1308EN_MDX-with-Microsoft-SQL-Server-Analysis-Services-2008-R2-Cookbook_3DD3E109.png"&gt;&lt;/a&gt;An interesting confluence of events this week takes me both back to the past as I ponder the future! What gives? Well, the recent release of Tomislav Piasevoli’s (&lt;a target="_blank" href="http://tomislav.piasevoli.com/"&gt;blog&lt;/a&gt;|&lt;a target="_blank" href="http://twitter.com/tpiasevoli"&gt;twitter&lt;/a&gt;) new book, &lt;i&gt;&lt;a target="_blank" href="http://www.packtpub.com/mdx-with-microsoft-sql-server-2008-r2-analysis-services/book?utm_source=blog.datainspirations.com&amp;amp;utm_medium=bookrev&amp;amp;utm_content=blog&amp;amp;utm_campaign=mdb_009319"&gt;MDX with Microsoft SQL Server 2008 R2 Analysis Services Cookbook,&lt;/a&gt;&lt;/i&gt; reminded me of my first meeting with him at a PASS Summit event a few years ago. Alas, I don’t remember which event because – I confess – I’m getting old and my brain just doesn’t store details like that anymore. Not when it’s full of more important tidbits more necessary to my daily work! If I had to guess, I think it was the first event that Erika attended with me, which means it would have been in 2008 but it could have been 2009, and definitely not 2010. How’s that for narrowing it down? [Edit: Tomislav reminded me that we actually met at the 2008 PASS Summit but we talked about the Axis function at the 2009 PASS Summit Birds of a Feather.]&lt;/p&gt;  &lt;p&gt;Regardless of which year it was, Tomislav was seated at table during a Birds of a Feather lunch talking to several people about MDX, and he made a comment about the Axis function which I thought was very interesting. To be honest, I don’t remember what he said specifically, but it intrigued me enough to jot it down to pursue at a later time. It turned out not to be helpful for whatever MDX problem I was faced with at the time, but I kept the note to myself in my smartphone, which transferred over to the next two smartphones I’ve owned since then. My experience with MDX is that there are a handful of MDX functions that we who are inclined to write MDX use quite often. For an interesting, but entirely unscientific, analysis of function popularity, see this 2005 post from Mosha Pasumansky, “&lt;a href="http://sqlblog.com/blogs/mosha/archive/2005/01/31/what-are-the-popular-mdx-functions.aspx"&gt;What are the popular MDX functions?&lt;/a&gt;” Although the post is a bit dated, I think it’s still valid. When I look at the top list of functions, I do indeed use many of those functions frequently (although NonEmptyCrossJoin is deprecated and I now use the NonEmpty function instead).&lt;/p&gt;  &lt;p&gt;This year, I finally found a situation where I found the &lt;a href="http://msdn.microsoft.com/en-us/library/ms145531.aspx"&gt;Axis&lt;/a&gt; function to be useful. Basically, this function gives us a way to “see” what’s currently on rows or columns. The situation facing me was&amp;nbsp; to come up with a way to create a calculation based on values found in two columns in a pivot table. More specifically, each column could be a different time period. So the calculation might be comparing Q1 and Q2 of a particular year, or it might be Q1 of one year and Q2 of another year. But we would not know in advance which two time periods would be involved. I built a calculation to count how many date members were on the columns axis and return a null if there were more than two, otherwise to do the math. I’ll provide the details for this in a separate post, but there are other scenarios in which this function is useful as Tomislav explains in this SQLBits session (recording freely accessible, slides and samples downloadable): &lt;a href="http://sqlbits.com/Sessions/Event4/Universal_calculated_measures_in_MDX_queries"&gt;Universal calculated measures in MDX queries&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;That encounter with Tomislav is just one example of many that highlights the value of attending the &lt;a href="http://www.sqlpass.org/summit/2011/"&gt;PASS Summit&lt;/a&gt;. It’s not just what you learn by attending the sessions, but also what you learn in casual conversations with experts. Opportunities abound for these conversations, whether at a &lt;a href="http://www.sqlpass.org/summit/2011/Connect/SpecialEvents.aspx#BOF_Lunch"&gt;Birds of a Feather&lt;/a&gt; table or in the hallway or at one of the &lt;a href="http://www.sqlpass.org/summit/2011/Connect/AfterHours.aspx"&gt;many evening events&lt;/a&gt;. (Hint: Asking questions during &lt;a href="http://www.sqlkaraoke.com/"&gt;SQLKaraoke&lt;/a&gt; is probably not a good time.) People who are at PASS – both speakers and non-speakers alike – are there because they’re passionate about what they do. If you plan to go and it’s your first time, the best advice I can give is Don’t Be Shy! Talk to someone, anyone, everyone! You won’t regret it. &lt;/p&gt;  &lt;p&gt;It’s only a few more short weeks until Erika and I head out to this year’s summit. I’ve got to finalize my demos for my preconference workshop on &lt;a href="http://www.sqlpass.org/summit/2011/Speakers/CallForSpeakers/SessionDetail.aspx?sid=1491"&gt;MDX, DAX, and DMX&lt;/a&gt; and for my half-day session with Denny Cherry, &lt;a href="http://www.sqlpass.org/summit/2011/Speakers/CallForSpeakers/SessionDetail.aspx?sid=1134"&gt;So How Does the BI Workload Impact the Database Engine?.&lt;/a&gt; I think all I need to do is show up for my panel session, &lt;a href="http://www.sqlpass.org/summit/2011/Speakers/CallForSpeakers/SessionDetail.aspx?sid=1509"&gt;Are You a Linchpin?&lt;/a&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;Meanwhile, I’m going to reading Tomislav’s new book to see what other gems he has to share, and I’ll post a review when I finish the book. Stay tuned!&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=38374" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/stacia_misner/archive/tags/MDX/default.aspx">MDX</category><category domain="http://sqlblog.com/blogs/stacia_misner/archive/tags/PASS/default.aspx">PASS</category></item><item><title>Creating a Linked Server for Analysis Services</title><link>http://sqlblog.com/blogs/stacia_misner/archive/2010/11/30/31193.aspx</link><pubDate>Tue, 30 Nov 2010 23:30:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:31193</guid><dc:creator>smisner</dc:creator><slash:comments>1</slash:comments><comments>http://sqlblog.com/blogs/stacia_misner/comments/31193.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/stacia_misner/commentrss.aspx?PostID=31193</wfw:commentRss><description>&lt;p&gt;I think I’ve finally recovered (in more ways than one!) from &lt;a target="_blank" href="http://www.sqlpass.org/summit/na2010/"&gt;PASS Summit 2010&lt;/a&gt; in Seattle a mere few weeks ago. I seem to be eternally plagued with computer problems at every conference I attend, but always in different ways. Accordingly, I have devised different strategies for anticipating and coping with problems. I foiled this last disaster by having my slides and demos duplicated on Erika’s laptop which I had to call into action literally seconds before the session began due to a hard drive failure, but missed one little detail which was actually a last minute bonus addition to my session on &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/ms175340(SQL.90).aspx"&gt;Analysis Services Stored Procedures&lt;/a&gt; (ASSP). So it wasn’t the end of the world, but it was a forehead slapping moment!&lt;/p&gt;  &lt;p&gt;As part of that session, I told a story of how I came to appreciate the use of ASSP for a client project in which I had to dynamically construct MDX queries on the fly using T-SQL stored procedures and pass the resulting query into an &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/ms188427.aspx"&gt;OPENQUERY&lt;/a&gt; function. The problem that I had in that situation was the limitation imposed by the OPENQUERY function – I&amp;nbsp; had to write my MDX query in 8000 characters or less! Erika and I worked out all kinds of ways to live within that constraint before we tried ASSPs, but ultimately the complexity of these queries kept pushing over the query string over the limit and thus began our adventures with ASSP. I’ll add a post on this technique to my series on Using Dynamic MDX in Reporting Services soon. (The &lt;a target="_blank" href="http://blog.datainspirations.com/2010/10/07/using-dynamic-mdx-in-reporting-services-part-1/"&gt;first post describes the use of StrToMember() and StrToSet()&lt;/a&gt; and &lt;a target="_blank" href="http://blog.datainspirations.com/2010/10/09/using-dynamic-mdx-in-reporting-services-part-2/"&gt;the second post shows how to use MDX in a dynamic OLE DB query&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;I had a few extra minutes of time in my session, so I thought I’d show the audience “the rest of the story” by demonstrating how I could use the OPENQUERY function with the ASSP that I created earlier in the session. I&amp;nbsp; had the OPENQUERY working on my laptop just a few minutes before the session started, but in preparing Erika’s laptop, I didn’t think about setting up a linked server to Analysis Services in advance. No worries – I’ll just do it live! Well, my memory failed me on how to fill out the New Linked Server dialog box in Management Studio, so I asked the audience if anyone knew what to do and the reply I got was, “It’s a mystery!” (It took me a few times to realize that’s what they said – I was suffering from the “SQL plague” and my ears were really plugged up!) &lt;/p&gt;  &lt;p&gt;Nothing a little search engine won’t resolve, right? Well, I turned up a few hits (like the Books Online entry &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/aa936675(SQL.80).aspx"&gt;Adding a Linked Server&lt;/a&gt;), but nothing was particularly helpful for interpreting which parameters are really needed and which are optional – especially when I was on the spot! So my post today is my contribution to resolving the mystery. Of course, now that I’m offstage and working on my replaced hard drive and with a much less congested head, I was able to set up a linked server quite quickly.&lt;/p&gt;  &lt;p&gt;To set up a linked server for Analysis Services, follow these steps:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Connect to the Database Engine in Management Studio. &lt;/li&gt;    &lt;li&gt;Expand Server Objects, right-click Linked Servers, and click New Linked Server. &lt;/li&gt;    &lt;li&gt;Define a name for the linked server, and set the following options as shown in the screenshot below: &lt;/li&gt; &lt;/ol&gt;  &lt;ul&gt;   &lt;li&gt;Provider: Microsoft OLE DB Provider for Analysis Services 10.0 &lt;/li&gt;    &lt;li&gt;Product name: MSOLAP.4 &lt;/li&gt;    &lt;li&gt;Data source: (the name of your server) &lt;/li&gt;    &lt;li&gt;Catalog: (the name of the Analysis Services database) &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/stacia_misner/image_279B21B2.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" width="416" height="373" src="http://sqlblog.com/blogs/stacia_misner/image_thumb_6548096E.png"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;To test the linked server, you can write a query like this:&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;select * from openquery(AdventureWorksOLAP, &lt;font color="#ff0000"&gt;'select [Measures].[Sales Amount] on columns from [Adventure Works]'&lt;/font&gt;)&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;A couple of things to note - This query is executed as a database engine query, not as an MDX query. The first argument of the OPENQUERY is the name of your linked server.&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=31193" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/stacia_misner/archive/tags/SSAS/default.aspx">SSAS</category><category domain="http://sqlblog.com/blogs/stacia_misner/archive/tags/MDX/default.aspx">MDX</category><category domain="http://sqlblog.com/blogs/stacia_misner/archive/tags/PASS/default.aspx">PASS</category></item><item><title>PASS Summit 2010: Epilogue</title><link>http://sqlblog.com/blogs/stacia_misner/archive/2010/11/15/30605.aspx</link><pubDate>Mon, 15 Nov 2010 21:16:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:30605</guid><dc:creator>smisner</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/stacia_misner/comments/30605.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/stacia_misner/commentrss.aspx?PostID=30605</wfw:commentRss><description>&lt;p style="margin:0in 0in 10pt;"&gt;Another &lt;a target="_blank" href="http://www.sqlpass.org/summit/na2010/"&gt;PASS Summit&lt;/a&gt; has come and gone, and a good time was had by all. The song at the &lt;a target="_blank" href="http://www.sqlpass.org/summit/na2010/LiveKeynotes/Tuesday.aspx"&gt;opening keynote&lt;/a&gt; sums up the experience quite nicely, "Simply the Best." My favorite quote of the week comes from Andy Leonard (&lt;a target="_blank" href="http://sqlblog.com/blogs/andy_leonard"&gt;blog&lt;/a&gt;| &lt;a target="_blank" href="http://twitter.com/AndyLeonard"&gt;twitter&lt;/a&gt;) who tweeted on November 9, "&lt;a title="#sqlpass" href="http://twitter.com/#!/search?q=#sqlpass"&gt;#sqlpass&lt;/a&gt; is a family reunion. :{&amp;gt;" Oddly enough, Andy is one of the few people that I DIDN'T get to see last week, but not for lack of trying. Sorry, Andy!&lt;/p&gt;&lt;p style="margin:0in 0in 10pt;"&gt;As an independent consultant, I don't get to interact regularly with my peers, so I love the reunion aspect of PASS. And now that I've started following people on Twitter, my universe of colleagues has expanded even more, and I was delighted to meet the people behind the avatars.&lt;/p&gt;&lt;p style="margin:0in 0in 10pt;"&gt;The joy of PASS is not limited to those of us who have attended for many years. As I was sitting in the airport last Friday, I recognized an attendee who was a first-timer and asked about his experience. He replied that it exceeded expectations. He was so anxious to get back to work to put what he learned into practice. He felt that the value of the knowledge that he is bringing back to the office from PASS was so much greater than the price of the conference. Now that's a ringing endorsement if I ever heard one.&lt;/p&gt;&lt;p style="margin:0in 0in 10pt;"&gt;There is so much more that could be said about PASS, and many in the community have already posted their thoughts on Twitter and on their blogs. There has been quite a stir in the business intelligence community this past week about the future of Analysis Services, about which I will comment in a future post. Today, however, I will focus on a few follow-up comments and links to resources related to activities in which I participated last week.&lt;/p&gt;&lt;p style="margin:0in 0in 10pt;"&gt;&lt;b&gt;Getting Started In Blogging And Technical Speaking&lt;/b&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 10pt;"&gt;Kendal Van Dyke (&lt;a target="_blank" href="http://kendalvandyke.blogspot.com/"&gt;blog&lt;/a&gt;| &lt;a target="_blank" href="http://twitter.com/SQLDBA"&gt;twitter&lt;/a&gt;) presented a session with tips for getting started in either of blogging or speaking. He invited a panel of experts to join him, including myself, Rob Farley (not pictured below) (&lt;a target="_blank" href="http://sqlblog.com/blogs/rob_farley"&gt;blog&lt;/a&gt;| &lt;a target="_blank" href="http://twitter.com/rob_farley"&gt;twitter&lt;/a&gt;), Aaron Bertrand (&lt;a target="_blank" href="http://sqlblog.com/blogs/aaron_bertrand"&gt;blog&lt;/a&gt; | &lt;a target="_blank" href="http://twitter.com/AaronBertrand"&gt;twitter&lt;/a&gt;), Buck Woody (&lt;a target="_blank" href="http://buckwoody.com/"&gt;blog&lt;/a&gt; | &lt;a target="_blank" href="http://twitter.com/buckwoody"&gt;twitter&lt;/a&gt;), Todd McDermid (&lt;a target="_blank" href="http://toddmcdermid.blogspot.com/"&gt;blog&lt;/a&gt;| &lt;a target="_blank" href="http://twitter.com/Todd_McDermid"&gt;twitter&lt;/a&gt;), Mike Walsh (&lt;a target="_blank" href="http://www.straightpathsql.com/blog"&gt;blog&lt;/a&gt; | &lt;a target="_blank" href="http://twitter.com/mike_walsh"&gt;twitter&lt;/a&gt;), Thomas LaRock (&lt;a target="_blank" href="http://thomaslarock.com/backstage/"&gt;blog&lt;/a&gt; | &lt;a target="_blank" href="http://twitter.com/SQLRockstar"&gt;twitter&lt;/a&gt;), Ted Krueger (&lt;a target="_blank" href="http://www.lessthandot.com/"&gt;blog&lt;/a&gt; | &lt;a target="_blank" href="http://twitter.com/onpnt"&gt;twitter&lt;/a&gt;), Patrick LeBlanc (&lt;a target="_blank" href="http://sqldownsouth.blogspot.com/"&gt;blog&lt;/a&gt; | &lt;a target="_blank" href="http://twitter.com/patrickdba"&gt;twitter&lt;/a&gt;), Andy Warren (&lt;a target="_blank" href="http://www.sqlservercentral.com/blogs/andy_warren/default.aspx"&gt;blog&lt;/a&gt; | &lt;a target="_blank" href="http://twitter.com/sqlandy"&gt;twitter&lt;/a&gt;), and Brent Ozar (&lt;a target="_blank" href="http://www.brentozar.com/"&gt;blog&lt;/a&gt; | &lt;a target="_blank" href="http://twitter.com/BrentO"&gt;twitter&lt;/a&gt;).&lt;/p&gt;&lt;p style="margin:0in 0in 10pt;"&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://blog.datainspirations.com/wp-content/uploads/2010/11/5168176314_fe721e07b7.jpg"&gt;&lt;img class="size-full wp-image-285" title="Kendal Van Dyk's session at PASS Summit 2010" alt="" width="500" height="375" src="http://blog.datainspirations.com/wp-content/uploads/2010/11/5168176314_fe721e07b7.jpg"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;(Photo courtesy of Brent Ozar)&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 10pt;"&gt;Who had control of this very interactive session? You'll have to &lt;a target="_blank" href="http://www.sqlpass.org/summit/na2010/Home/OnSiteFAQ/DVDs.aspx"&gt;buy the PASS Summit DVD&lt;/a&gt; to find out!&lt;/p&gt;&lt;p style="margin:0in 0in 10pt;"&gt;I waited patiently for my turn to speak. With a room full of speakers, getting your own turn can be a challenge! I heard a few attendees express concern that they didn't know what to write about, or that someone else has covered the topic. My response to this concern is that everyone has a unique take on a topic, and that's why T-SQL Tuesday is such a great way both to learn and to contribute. T-SQL Tuesday was started by Adam Mechanic (&lt;a target="_blank" href="http://sqlblog.com/blogs/adam_machanic"&gt;blog&lt;/a&gt; | &lt;a target="_blank" href="http://twitter.com/AdamMachanic"&gt;twitter&lt;/a&gt;) and gives everyone with an opinion (and who doesn't have one?) or a specific experience to add to the topic. You can &lt;a target="_blank" href="http://sqlblog.com/blogs/adam_machanic/archive/2009/11/30/invitation-to-participate-in-t-sql-tuesday-001-date-time-tricks.aspx"&gt;see the first invitation to T-SQL Tuesday here&lt;/a&gt; to see how it all started and &lt;a target="_blank" href="http://www.sqlskills.com/BLOGS/PAUL/category/T-SQL-Tuesday.aspx"&gt;the most recent T-SQL Tuesday posts&lt;/a&gt; hosted by Paul Randal (&lt;a target="_blank" href="http://sqlskills.com/blogs/paul/"&gt;blog&lt;/a&gt; | &lt;a target="_blank" href="http://twitter.com/paulrandal"&gt;twitter&lt;/a&gt;). The best way to keep tabs on who's hosting the next round is to follow the #TSQL2sDay hash tag on Twitter.&lt;/p&gt;&lt;p style="margin:0in 0in 10pt;"&gt;Unfortunately, I didn't get to hang out for the entire presentation, because I had to move on to the…&lt;/p&gt;&lt;p style="margin:0in 0in 10pt;"&gt;&lt;b&gt;Women in Technology Panel&lt;/b&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 10pt;"&gt;I was honored to participate as a panelist for this year's Women in Technology luncheon. It was well attended, and I heard so many positive comments after the event from both men and women. I drew inspiration from my fellow panelists as well as the stories shared with me by other women attending PASS this year. You can view a recording of the event &lt;a target="_blank" href="http://www.sqlpass.org/summit/na2010/LiveKeynotes/WITLuncheon.aspx"&gt;here&lt;/a&gt; if you're a registered member of PASS (which is free to join).&lt;/p&gt;&lt;p style="margin:0in 0in 10pt;"&gt;It's so difficult to say what the right answer is for increasing the numbers of women in technology. The numbers are diminishing at a deplorable rate (&lt;a target="_blank" href="http://blog.datainspirations.com/2010/07/29/maybe-its-just-me-a-perspective-from-one-woman-in-it/"&gt;as I discussed in a previous post&lt;/a&gt;). It seems to me that to foster change we need to start laying the groundwork with our children. By "our children", I mean society in general, not me specifically, although I have tried do my part! On the one hand, I don't recommend forcing children into a career path that they can't embrace enthusiastically. On the other hand, I believe that one reason that girls don't pursue technology as an option is lack of exposure to the possibilities. Lynn Langit (&lt;a target="_blank" href="http://blogs.msdn.com/SoCalDevGal"&gt;blog&lt;/a&gt; | &lt;a target="_blank" href="http://www.twitter.com/llangit"&gt;twitter&lt;/a&gt;) is a role model for showing kids (not just girls!) how to explore these possibilities through &lt;a href="http://www.teachingkidsprogramming.org/"&gt;www.teachingkidsprogramming.org&lt;/a&gt;. Check it out! &lt;/p&gt;&lt;p style="margin:0in 0in 10pt;"&gt;Along these lines, I proposed that maybe - as great a community as PASS is - we should collectively think about what we can do for our kids. Someone tweeted that I suggested we should bring our daughters to SQLSaturday, but actually I wondered aloud if we could do something &lt;i&gt;similar&lt;/i&gt; to SQLSaturday that focused on the kids (and not just girls). Maybe we could get some sponsors to help, too?&lt;/p&gt;&lt;p style="margin:0in 0in 10pt;"&gt;&lt;b&gt;Demystifying MDX in Reporting Services&lt;/b&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 10pt;"&gt;In this session, I explained some of the nuances of working with MDX in Reporting Services. I have posted my demo reports &lt;a target="_blank" href="http://blog.datainspirations.com/uploads/DemystifingMDXinSSRS.zip"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;p style="margin:0in 0in 10pt;"&gt;In addition, you might want to refer back to some of my recent posts about using dynamic MDX in Reporting Services: &lt;a target="_blank" href="http://blog.datainspirations.com/2010/10/07/using-dynamic-mdx-in-reporting-services-part-1/"&gt;Part 1&lt;/a&gt; and &lt;a target="_blank" href="http://blog.datainspirations.com/2010/10/09/using-dynamic-mdx-in-reporting-services-part-2/"&gt;Part 2&lt;/a&gt;.&lt;/p&gt;&lt;p style="margin:0in 0in 10pt;"&gt;If you're not familiar with MDX, I presented &lt;a target="_blank" href="http://www.sqlpass.org/LearningCenter/24HoursFall.aspx"&gt;Session 07: Intro to MDX&lt;/a&gt; for &lt;a target="_blank" href="http://www.sqlpass.org/24hours/fall2010/"&gt;24 Hours of Pass: Summit Preview&lt;/a&gt; which you can view if you have a free PASS membership. MDX is not going away any time soon, contrary to recent rumors, so invest some time learning it if you plan to work with real Analysis Services cubes, which will continue to have their place in the BI stack for several years to come.&lt;/p&gt;&lt;p style="margin:0in 0in 10pt;"&gt;&lt;b&gt;Real World Analysis Services Stored Procedures&lt;/b&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 10pt;"&gt;This topic drew a larger audience than I expected as it's a fairly specialized topic. For years, I never needed to use Analysis Services Stored Procedures (ASSP), avoiding it because folklore said so due to performance hits. However, some things just can't be done any other way and I ran into such things this past year. To date, I haven't found much written about ASSP other than &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/ms176113.aspx"&gt;BOL&lt;/a&gt;, but you can find some &lt;a target="_blank" href="http://www.codeplex.com/ASStoredProcedures"&gt;excellent examples to download&lt;/a&gt; at CodePlex. Plus I've uploaded the &lt;a target="_blank" href="http://blog.datainspirations.com/uploads/ASSP.zip"&gt;very simple (non-production-ready) C# example&lt;/a&gt; that I used in my session demonstration for you to peruse.&lt;/p&gt;&lt;p style="margin:0in 0in 10pt;"&gt;&lt;b&gt;What's Next?&lt;/b&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 10pt;"&gt;So now that I've completed all the training and Webcasts and conference sessions that I've been focused on the last couple of months (with one exception - &lt;a target="_blank" href="https://www2.gotomeeting.com/register/350482474"&gt;Delivering Information with Reporting Services&lt;/a&gt;, a free Webcast at 12 pm Pacific on Wednesday, November 17), I plan to get back to a more regular blogging schedule. There are certainly plenty of topics on my "to do" list!&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=30605" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/stacia_misner/archive/tags/SSRS/default.aspx">SSRS</category><category domain="http://sqlblog.com/blogs/stacia_misner/archive/tags/SSAS/default.aspx">SSAS</category><category domain="http://sqlblog.com/blogs/stacia_misner/archive/tags/WIT/default.aspx">WIT</category><category domain="http://sqlblog.com/blogs/stacia_misner/archive/tags/MDX/default.aspx">MDX</category><category domain="http://sqlblog.com/blogs/stacia_misner/archive/tags/PASS/default.aspx">PASS</category></item><item><title>24 Hours of Pass Summit Preview: Introduction to MDX</title><link>http://sqlblog.com/blogs/stacia_misner/archive/2010/09/15/28801.aspx</link><pubDate>Wed, 15 Sep 2010 23:16:14 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:28801</guid><dc:creator>smisner</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/stacia_misner/comments/28801.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/stacia_misner/commentrss.aspx?PostID=28801</wfw:commentRss><description>
&lt;p&gt;Many thanks to everyone who attended my session today, Introduction to MDX. There was so much more I wanted to say, but the constraint of an hour required me to be very selective and, as you might have noticed, to sacrifice the demos. After all, how exciting can it be to watch me execute a query? I thought it more important to provide you with the key concepts that you can use to get started.&lt;/p&gt;
&lt;p&gt;When I first learned MDX, I didn't learn it the way that I explained it today. Consequently, I struggled for a long time until the proverbial light bulb turned on in my head about how to think about the language. I hope that my explanation saves you some of the grief that I experienced, although I can't promise that you aren't going to have (and lose) a few wrestling matches as you build up your MDX muscles.&lt;/p&gt;
&lt;p&gt;As promised, I have sample queries that illustrate the concepts that I discussed today. Before you can run the queries, I assume that you have both a SQL Server 2008 R2 database instance and an Analysis Services instance. You will need to download and install the &lt;a style="TEXT-DECORATION:none;" href="http://msftdbprodsamples.codeplex.com/releases/view/45907" target="_blank" title="AdventureWorks 2008R2 RTM Data Product Samples"&gt;&lt;span style="TEXT-DECORATION:underline;"&gt;AdventureWorks 2008 R2 sample database&lt;/span&gt;&lt;/a&gt;. Then open the Intro to MDX solution included in the zip file and deploy the project to create the simple cube for the queries. Then open the MDX files in SQL Server Management Studio. You can run the entire script, and thereby execute multiple queries, or run one at a time by highlighting the query text as described in the header of each MDX file. These queries and the SSAS solution might work with earlier versions of SQL Server, but is untested.&lt;/p&gt;
&lt;p&gt;Download the zip file containing the queries and SSAS solution &lt;span style="TEXT-DECORATION:underline;"&gt;&lt;a href="http://datainspirations.com/uploads/IntroToMDX.zip" target="_blank" title="Introduction to MDX sample files"&gt;here&lt;/a&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;If you plan to attend the &lt;span style="TEXT-DECORATION:underline;"&gt;&lt;a href="http://www.sqlpass.org/summit/na2010/" target="_blank"&gt;PASS Summit 2010&lt;/a&gt;&lt;/span&gt; in Seattle, be sure to see my session, &lt;a href="http://sqlpass.eventpoint.com/topic/details/BID218" target="_blank"&gt;Demystifying MDX in Reporting Services&lt;/a&gt;, where I explain how to use MDX with Reporting Services. There are a few differences from the query structure that I described today that you'll need to know.&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=28801" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/stacia_misner/archive/tags/SSAS/default.aspx">SSAS</category><category domain="http://sqlblog.com/blogs/stacia_misner/archive/tags/MDX/default.aspx">MDX</category><category domain="http://sqlblog.com/blogs/stacia_misner/archive/tags/PASS/default.aspx">PASS</category></item></channel></rss>