<?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>SQLBI - Marco Russo : BISM</title><link>http://sqlblog.com/blogs/marco_russo/archive/tags/BISM/default.aspx</link><description>Tags: BISM</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61129.1)</generator><item><title>Workshop and Events in Europe next month #ssas #tabular #powerpivot</title><link>http://sqlblog.com/blogs/marco_russo/archive/2013/02/21/workshop-and-events-in-europe-next-month-ssas-tabular-powerpivot.aspx</link><pubDate>Thu, 21 Feb 2013 09:41:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:47828</guid><dc:creator>Marco Russo (SQLBI)</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/marco_russo/comments/47828.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/marco_russo/commentrss.aspx?PostID=47828</wfw:commentRss><wfw:comment>http://sqlblog.com/blogs/marco_russo/rsscomments.aspx?PostID=47828</wfw:comment><description>&lt;p&gt;As I &lt;a href="http://sqlblog.com/blogs/marco_russo/archive/2013/02/06/march-2013-events-and-workshops-in-aarhus-dk-and-utrecht-nl-ssas-powerpivot.aspx"&gt;mentioned&lt;/a&gt; a couple of weeks ago, I and Alberto are starting to travel again, delivering SSAS Tabular Workshop and other free community events around Europe. This is the updated list of our next dates, including community events:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Online – &lt;a href="http://www.sqlbi.com/courses/ssas-tabular-workshop-online-feb2013/"&gt;SSAS Tabular Workshop on February 27-28, 2013&lt;/a&gt;&lt;/strong&gt; (17-24 CET)&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;This workshop is delivered online – you can attend wherever you are&lt;/li&gt;      &lt;li&gt;Timeslot is late afternoon-evening for Europeans, more appropriate office time for US market&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;Aarhus, Denmark&lt;/strong&gt; – &lt;strong&gt;&lt;a href="http://www.sqlbi.com/courses/ssas-tabular-workshop-aarhus-mar2013/"&gt;SSAS Tabular Workshop on March 12-13, 2013&lt;/a&gt;&lt;/strong&gt; (9-17 CET)&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Alberto Ferrari will be the teacher in these dates&lt;/li&gt;      &lt;li&gt;You can still &lt;a href="http://www.sqlbi.com/courses/ssas-tabular-workshop-aarhus-mar2013/"&gt;register here&lt;/a&gt;&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;Aarhus, Denmark&lt;/strong&gt; – Excel 2013 PowerPivot in Action on March 12, 2013 (17:30-19:30 CET)&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Free community event where Alberto will show the capabilities available in Excel 2013 using PowerPivot and Power View&lt;/li&gt;      &lt;li&gt;More &lt;a href="http://msbip.dk/events/60/msbip-mode-nr-12/"&gt;info here&lt;/a&gt;&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;Utrecht, The Netherlands&lt;/strong&gt; – &lt;strong&gt;&lt;a href="http://www.sqlbi.com/courses/ssas-workshop-utrecht-mar2012/"&gt;SSAS Tabular Workshop on March 25-26, 2013&lt;/a&gt;&lt;/strong&gt; (9-17 CET)&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Marco Russo (me!) will be the teacher in these dates&lt;/li&gt;      &lt;li&gt;You can &lt;a href="http://www.sqlbi.com/courses/ssas-workshop-utrecht-mar2012/"&gt;register here&lt;/a&gt; (early bird expires on March 11, 2013)&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;Veenendaal, The Netherlands&lt;/strong&gt; - Querying and Optimizing DAX on March 25, 2013 (18-21 CET)&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Free community event where Marco Russo (yes, always me!) will show how to write and optimize queries in DAX&lt;/li&gt;      &lt;li&gt;More &lt;a href="http://www.sqlpass.nl/2013/02/pass-nederland-bijeenkomst-met-marco-russo-op-25-maart-te-veenendaal/"&gt;info here&lt;/a&gt; and &lt;a href="http://passnl-marcorusso2013.eventbrite.com/#"&gt;free registration here&lt;/a&gt;&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;Oslo, Norway&lt;/strong&gt; – &lt;strong&gt;&lt;a href="http://www.sqlbi.com/courses/ssas-workshop-oslo-ap2012/"&gt;SSAS Tabular Workshop on April 8-9, 2013&lt;/a&gt;&lt;/strong&gt; (9-17 CET)&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Alberto Ferrari will be the teacher in these dates&lt;/li&gt;      &lt;li&gt;You can &lt;a href="http://www.sqlbi.com/courses/ssas-workshop-oslo-ap2012/"&gt;register here&lt;/a&gt;&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;Milan, Italy &lt;/strong&gt;– &lt;a href="http://www.sqlbi.com/courses/powerpivot-workshop-full/"&gt;&lt;strong&gt;PowerPivot Workshop Full on April 17-19, 2013&lt;/strong&gt;&lt;/a&gt; (9-17 CET)&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Alberto will be the teacher in these dates&lt;/li&gt;      &lt;li&gt;Be careful: this workshop will be &lt;em&gt;delivered in Italian language&lt;/em&gt; – a good excuse to practice your Italian visiting Italy for work reasons!&lt;/li&gt;      &lt;li&gt;You can &lt;a href="http://www.sqlbi.com/courses/powerpivot-workshop-full/"&gt;register here&lt;/a&gt;&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;Other workshops will follow in May and June in Finland, UK, Belgium and Sweden – a complete list of &lt;a href="http://www.sqlbi.com/training/"&gt;Tabular Workshop here&lt;/a&gt; and &lt;a href="http://www.powerpivotworkshop.com/"&gt;PowerPivot Workshops here&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=47828" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/Analysis+Services/default.aspx">Analysis Services</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/BISM/default.aspx">BISM</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/Tabular/default.aspx">Tabular</category></item><item><title>SQLBits XI in May 2013 – many reasons to attend! #sqlbits #dax #tabular</title><link>http://sqlblog.com/blogs/marco_russo/archive/2013/02/20/sqlbits-xi-in-may-2013-many-reasons-to-attend-sqlbits-dax-tabular.aspx</link><pubDate>Wed, 20 Feb 2013 09:33:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:47803</guid><dc:creator>Marco Russo (SQLBI)</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/marco_russo/comments/47803.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/marco_russo/commentrss.aspx?PostID=47803</wfw:commentRss><wfw:comment>http://sqlblog.com/blogs/marco_russo/rsscomments.aspx?PostID=47803</wfw:comment><description>&lt;p&gt;I and &lt;a href="http://sqlblog.com/blogs/alberto_ferrari"&gt;Alberto Ferrari&lt;/a&gt; will speak at &lt;a href="http://www.sqlbits.com"&gt;SQLBits XI&lt;/a&gt; (Nottingham, UK – May 2-4, 2013) and there are many good reasons to join us there, especially if you are interested to DAX!&lt;/p&gt;  &lt;p&gt;Here are our sessions:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Thursday, 02 May 2013 &lt;/strong&gt;– Training Day - &lt;strong&gt;&lt;a href="http://www.sqlbits.com/Sessions/Event11/From_0_to_DAX2"&gt;From 0 to DAX&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;The entire day is dedicated to learning DAX, starting from the syntax and going forward with more complex syntaxes for both expressions and queries in DAX.&lt;/li&gt;      &lt;li&gt;Technical level: the goal is to be introductive, explaining the important concepts in DAX (such as filter context, row context, context transitions) and covering the usage of the most common DAX functions.&lt;/li&gt;      &lt;li&gt;Target audience: Information Workers interested in exploiting the many interesting features of PowerPivot for Excel 2013 and BI developers who want to learn the DAX language.&lt;/li&gt;      &lt;li&gt;In practice: if you started using DAX two years ago and created several projects in Tabular and/or PowerPivot with complex calculations, this is not the workshop for you (read about an &lt;a href="http://www.sqlbi.com/courses/dax-advanced-workshop-london-may2012/"&gt;Advanced DAX Workshop&lt;/a&gt; later in this post). But if you just started your first Tabular or PowerPivot projects and you are still wondering what CALCULATE is all about, then this is definitely the right training for you!&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;Friday, 03 May 2013&lt;/strong&gt; – 10:50am – &lt;strong&gt;&lt;a href="http://www.sqlbits.com/Sessions/Event11/Modern_Data_Warehousing_Strategy"&gt;Modern Data Warehousing Strategy&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;How to design a Data Warehouse in 2013? Should we change something considering the introduction of in-memory technologies such as xVelocity? Is Self-Service BI affecting the way we design and implement a Corporate Data Warehouse?&lt;/li&gt;      &lt;li&gt;This is not a session about a specific feature of a product, but features and products have their effects on the data warehouse design. We’ll stop one hour trying to understand what changes in the big picture, affecting also our day-by-day job.&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;Friday, 03 May 2013&lt;/strong&gt; – 2:40pm – &lt;strong&gt;&lt;a href="http://www.sqlbits.com/Sessions/Event11/Inside_xVelocity_InMemory_Engine_VertiPaq_"&gt;Inside xVelocity InMemory Engine (VertiPaq)&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Do you use PowerPivot and/or Analysis Services Tabular? They use the same engine (xVelocity/VertiPaq) and you should know how it works.&lt;/li&gt;      &lt;li&gt;This session will show how xVelocity/VertiPaq works, how it compresses and stores data and why it is so fast answering to your queries.&lt;/li&gt;      &lt;li&gt;Why this is important? Because it is geeky! And because this knowledge will help you optimizing storage and DAX queries.&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;Saturday, 04 May 2013 &lt;/strong&gt;– 10:50am – &lt;strong&gt;&lt;a href="http://www.sqlbits.com/Sessions/Event11/DAX_Query_Engine_Internals"&gt;DAX Query Engine Internals&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;DAX is amazingly fast. But some query might be not fast enough.&lt;/li&gt;      &lt;li&gt;Do you want to know how to optimize your DAX query? This session is for you.&lt;/li&gt;      &lt;li&gt;Knowing the internals of xVelocity InMemory engine is just the first step (see Friday’s session). Then you need to apply this knowledge to DAX and understand why different DAX syntaxes for the same result might have different performance.&lt;/li&gt;      &lt;li&gt;Understanding cross-filtering is a key to master DAX optimization. The more you know DAX, the more you will appreciate this session!&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;As I said before, the training day is an introductive course. If you already know DAX and want to improve your skills, there is a &lt;a href="http://sqlblog.com/blogs/marco_russo/archive/2013/02/07/first-dax-advanced-workshop-in-london-may-2013-dax-tabular-ssas.aspx"&gt;&lt;strong&gt;3-day Advanced DAX Workshop&lt;/strong&gt;&lt;/a&gt; I will teach in London on May 13-15, 2013. It could be also a good reason to visit London if you come from other countries!&lt;/p&gt;  &lt;p&gt;Now that we are almost done with the &lt;a href="http://www.sqlbi.com/books/excel-2013-building-data-models-with-powerpivot/"&gt;PowerPivot for Excel 2013&lt;/a&gt; book, we will write &lt;a href="http://www.sqlbi.com/articles/"&gt;more articles&lt;/a&gt; – stay tuned!&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=47803" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/Conference+Communities/default.aspx">Conference Communities</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/Conference/default.aspx">Conference</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/Communities/default.aspx">Communities</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/Analysis+Services/default.aspx">Analysis Services</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/DAX/default.aspx">DAX</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/BISM/default.aspx">BISM</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/Tabular/default.aspx">Tabular</category></item><item><title>xVelocity engines compared: VertiPaq vs ColumnStore #ssas #vertipaq #xvelocity #sql #tabular</title><link>http://sqlblog.com/blogs/marco_russo/archive/2012/08/22/xvelocity-engines-compared-vertipaq-vs-columnstore-ssas-vertipaq-xvelocity-sql-tabular.aspx</link><pubDate>Wed, 22 Aug 2012 11:56:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:44767</guid><dc:creator>Marco Russo (SQLBI)</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/marco_russo/comments/44767.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/marco_russo/commentrss.aspx?PostID=44767</wfw:commentRss><wfw:comment>http://sqlblog.com/blogs/marco_russo/rsscomments.aspx?PostID=44767</wfw:comment><description>&lt;p&gt;During the last months I and Alberto worked in several projects using Analysis Services Tabular and we had to face real world issues, such as complex queries, large data volume, frequent data updates and so on. Sometime we faced the challenge of comparing Tabular performance with SQL Server. It seemed a non-sense, because even if the same core xVelocity technology is implemented in both products (SQL Server 2012 uses ColumnStore indexes, whereas Analysis Services 2012 uses VertiPaq), we initially assumed that the better optimization for the in-memory engine used by Analysis Services would have been always better than SQL Server.&lt;/p&gt;  &lt;p&gt;However, we discovered several important things:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Processing time might be different and having data on SQL Server could make ColumnStore way faster for processing.&lt;/li&gt;    &lt;li&gt;Partitioning in SQL Server might be much more effective for query performance than Analysis Services.&lt;/li&gt;    &lt;li&gt;A single query can scale easily on more processor on SQL Server, whereas in Analysis Services the formula engine is single-threaded and could be a bottleneck for certain queries.&lt;/li&gt;    &lt;li&gt;In case of a large workload with many concurrent users, storage engine cache in Analysis Services could be a big advantage over SQL Server, especially for scalability&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;As you can see, these considerations are not always obvious and you might be tempted to make other assumptions based on these information. Well, don’t do that. Before anything else, read the whitepaper &lt;a href="http://www.sqlbi.com/articles/vertipaq-vs-columnstore/"&gt;VertiPaq vs ColumnStore Comparison&lt;/a&gt; written by Alberto Ferrari. Then, measure your workload. Finally, make some conclusion. But don’t make too many assumptions. You might be wrong, as we did at the beginning of this journey.&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=44767" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/SSAS/default.aspx">SSAS</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/Analysis+Services/default.aspx">Analysis Services</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/BISM/default.aspx">BISM</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/Tabular/default.aspx">Tabular</category></item><item><title>Finally in stock: Microsoft SQL Server 2012 Analysis Services: The BISM Tabular Model #ssas #tabular</title><link>http://sqlblog.com/blogs/marco_russo/archive/2012/07/26/finally-in-stock-microsoft-sql-server-2012-analysis-services-the-bism-tabular-model-ssas-tabular.aspx</link><pubDate>Thu, 26 Jul 2012 10:32:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:44442</guid><dc:creator>Marco Russo (SQLBI)</dc:creator><slash:comments>6</slash:comments><comments>http://sqlblog.com/blogs/marco_russo/comments/44442.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/marco_russo/commentrss.aspx?PostID=44442</wfw:commentRss><wfw:comment>http://sqlblog.com/blogs/marco_russo/rsscomments.aspx?PostID=44442</wfw:comment><description>&lt;p&gt;It has been a long wait, but finally our book about Analysis Services Tabular is available!&lt;/p&gt;  &lt;p&gt;&lt;span id="btAsinTitle"&gt;&lt;strong&gt;&lt;a href="http://www.amazon.com/gp/product/0735658188/?tag=se04-20"&gt;&lt;img title="bismtabularbook" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;float:left;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="bismtabularbook" align="left" src="http://sqlblog.com/blogs/marco_russo/bismtabularbook_58BD0945.png" width="208" height="266" /&gt;&lt;/a&gt;Microsoft SQL Server 2012 Analysis Services: The BISM Tabular Model&lt;/a&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;Amazon is already shipping it in US and it should be available soon also in Europe. However, the Kindle edition is already available everywhere! If you like to order it on Amazon, here are the links for all the shops:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Amazon.com: &lt;a href="http://www.amazon.com/gp/product/0735658188/?tag=se04-20"&gt;hardcopy&lt;/a&gt; – &lt;a href="http://www.amazon.com/gp/product/B008LYQ056/?tag=se04-20"&gt;kindle&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Amazon.ca: &lt;a href="http://www.amazon.ca/gp/product/0735658188/?tag=s087a1-20"&gt;hardcopy&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Amazon.co.uk: &lt;a href="http://www.amazon.co.uk/gp/product/0735658188/?tag=wwwsqlbicom08-21"&gt;hardcopy&lt;/a&gt; – &lt;a href="http://www.amazon.co.uk/gp/product/B008LYQ056/?tag=wwwsqlbicom08-21"&gt;kindle&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Amazon.de: &lt;a href="http://www.amazon.de/gp/product/0735658188/?tag=wwwsqlbicom00-21"&gt;hardcopy&lt;/a&gt; – &lt;a href="http://www.amazon.de/gp/product/B008LYQ056/?tag=wwwsqlbicom00-21"&gt;kindle&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Amazon.es: &lt;a href="http://www.amazon.es/gp/product/0735658188/?tag=wwwsqlbicom0f-21"&gt;hardcopy&lt;/a&gt; – &lt;a href="http://www.amazon.es/gp/product/B008LYQ056/?tag=wwwsqlbicom0f-21"&gt;kindle&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Amazon.fr: &lt;a href="http://www.amazon.fr/gp/product/0735658188/?tag=wwwsqlbicom06-21"&gt;hardcopy&lt;/a&gt; – &lt;a href="http://www.amazon.fr/gp/product/B008LYQ056/?tag=wwwsqlbicom06-21"&gt;kindle&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Amazon.it: &lt;a href="http://www.amazon.it/gp/product/0735658188/?tag=wwwsqlbicom-21"&gt;hardcopy&lt;/a&gt; – &lt;a href="http://www.amazon.it/gp/product/B008LYQ056/?tag=wwwsqlbicom-21"&gt;kindle&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;You can &lt;a href="http://www.amazon.com/gp/product/B008LYQ056/?tag=se04-20#reader_B008LYQ056"&gt;follow this link&lt;/a&gt; to take a look at the Table of Contents, at the Introduction and some content of other chapters. I suggest you to read the introduction and the &amp;quot;Who Should Read This Book” section before buying the book, so you will be sure you are getting the right one. Well, if you read this blog, you should be in the right target audience, but double check is not bad.&lt;/p&gt;  &lt;p&gt;For your convenience, this is the list of the chapters:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Chapter 1 Introducing the Tabular Model &lt;/li&gt;    &lt;li&gt;Chapter 2 Getting Started with the Tabular Model &lt;/li&gt;    &lt;li&gt;Chapter 3 Loading Data Inside Tabular &lt;/li&gt;    &lt;li&gt;Chapter 4 DAX Basics &lt;/li&gt;    &lt;li&gt;Chapter 5 Understanding Evaluation Context &lt;/li&gt;    &lt;li&gt;Chapter 6 Querying Tabular &lt;/li&gt;    &lt;li&gt;Chapter 7 DAX Advanced &lt;/li&gt;    &lt;li&gt;Chapter 8 Understanding Time Intelligence in DAX &lt;/li&gt;    &lt;li&gt;Chapter 9 Understanding xVelocity and DirectQuery &lt;/li&gt;    &lt;li&gt;Chapter 10 Building Hierarchies &lt;/li&gt;    &lt;li&gt;Chapter 11 Data Modeling in Tabular &lt;/li&gt;    &lt;li&gt;Chapter 12 Using Advanced Tabular Relationships &lt;/li&gt;    &lt;li&gt;Chapter 13 The Tabular Presentation Layer &lt;/li&gt;    &lt;li&gt;Chapter 14 Tabular and PowerPivot &lt;/li&gt;    &lt;li&gt;Chapter 15 Security &lt;/li&gt;    &lt;li&gt;Chapter 16 Interfacing with Tabular &lt;/li&gt;    &lt;li&gt;Chapter 17 Tabular Deployment &lt;/li&gt;    &lt;li&gt;Chapter 18 Optimizations and Monitoring &lt;/li&gt;    &lt;li&gt;Appendix A DAX Functions Reference &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;We already received a good review but I hope to see many others – of course we all like the good ones, but we always look carefully at every comment so that we can improve the next one!&lt;/p&gt;  &lt;p&gt;I’d like to give a big thank you to all the people who helped us reaching this goal. I know we set an ambitious target, trying to cover a brand new engine and development environment in a very deep way despite its infancy on the market. I think that this is just the first step in this new world, Tabular will evolve and we’ll gain more experience working with it on real word projects. But I hope that many BI developers will find it easier to start a new Tabular project with the guidance of this book. We have found that Tabular is good not only for “simple” models, but also for the complex ones, when Multidimensional faced some limitations in term of leaf-level calculation. I still don’t use Tabular for any new project, there are still many scenarios in which Multidimensional is a better choice, but don’t wait too much to start playing with DAX and Tabular. You might miss some real opportunities.&lt;/p&gt;  &lt;p&gt;I hope you will enjoy the reading!&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=44442" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/SSAS/default.aspx">SSAS</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/Book/default.aspx">Book</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/BISM/default.aspx">BISM</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/Tabular/default.aspx">Tabular</category></item><item><title>Watch @marcorus and @ferrarialberto sessions online #teched #msteched #tee2012</title><link>http://sqlblog.com/blogs/marco_russo/archive/2012/07/07/watch-marcorus-and-ferrarialberto-sessions-online-teched-msteched-tee2012.aspx</link><pubDate>Sat, 07 Jul 2012 05:41:30 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:44221</guid><dc:creator>Marco Russo (SQLBI)</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/marco_russo/comments/44221.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/marco_russo/commentrss.aspx?PostID=44221</wfw:commentRss><wfw:comment>http://sqlblog.com/blogs/marco_russo/rsscomments.aspx?PostID=44221</wfw:comment><description>&lt;p&gt;In June I participated to two TechEd editions (&lt;a href="http://northamerica.msteched.com"&gt;North America&lt;/a&gt; and &lt;a href="http://europe.msteched.com/"&gt;Europe&lt;/a&gt;). I and Alberto delivered a Pre Conference and two sessions about Tabular. Both conferences provides recorded sessions freely available on Channel 9 so that you can compare which one has been delivered in the best way! If you have to choose between the two versions, consider that in North America we receive more questions during and after the session (still recording), increasing the interaction, whereas in Europe questions usually comes after the session finished (so no recording available). If you’re curious, watch both and let me know which version you prefer, especially for Multidimensional vs Tabular!&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://channel9.msdn.com/Events/TechEd/NorthAmerica/2012/DBI319"&gt;BISM: Multidimensional vs. Tabular&lt;/a&gt; (TechEd North America 2012)&lt;/li&gt;    &lt;li&gt;&lt;a href="http://channel9.msdn.com/Events/TechEd/Europe/2012/DBI319"&gt;BISM: Multidimensional vs. Tabular&lt;/a&gt; (TechEd Europe 2012)&lt;/li&gt;    &lt;li&gt;&lt;a href="http://channel9.msdn.com/Events/TechEd/NorthAmerica/2012/DBI413"&gt;Many-to-Many Relationships in BISM Tabular&lt;/a&gt; (TechEd North America 2012)&lt;/li&gt;    &lt;li&gt;&lt;a href="http://channel9.msdn.com/Events/TechEd/Europe/2012/DBI413"&gt;Many-to-Many Relationships in BISM Tabular&lt;/a&gt; (TechEd Europe 2012)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;If you are interested to learn SSAS Tabular, don’t miss the next &lt;a href="http://www.sqlbi.com/courses/ssas-workshop-online-sep2012/"&gt;SSAS Tabular Workshop online on September 3-4, 2012&lt;/a&gt;. We are also planning dates for another roadshow in Europe this fall and I’m happy to announce we’ll have two dates in Germany, too. More updates in the coming weeks.&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=44221" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/Analysis+Services/default.aspx">Analysis Services</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/BISM/default.aspx">BISM</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/Tabular/default.aspx">Tabular</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/TechEd/default.aspx">TechEd</category></item><item><title>Optimize Many-to-Many with SUMMARIZE and Other Techniques</title><link>http://sqlblog.com/blogs/marco_russo/archive/2012/06/01/optimize-many-to-many-with-summarize-and-other-techniques.aspx</link><pubDate>Fri, 01 Jun 2012 12:12:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:43669</guid><dc:creator>Marco Russo (SQLBI)</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/marco_russo/comments/43669.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/marco_russo/commentrss.aspx?PostID=43669</wfw:commentRss><wfw:comment>http://sqlblog.com/blogs/marco_russo/rsscomments.aspx?PostID=43669</wfw:comment><description>&lt;p&gt;We are still in the early days of DAX and even if I have been using it since 2 years ago, there is still a lot to learn on that.&lt;/p&gt;  &lt;p&gt;One of the topics that historically interests me (and many of the readers here, probably) is the many-to-many relationships between dimensions in a dimensional data model. When I and Alberto wrote the &lt;a href="http://www.sqlbi.com/articles/many2many/"&gt;The Many to Many Revolution 2.0&lt;/a&gt; we discovered the SUMMARIZE based pattern very late in the whitepaper writing. It is very important for performance optimization and it should be always used. In the last month, &lt;a href="http://gbrueckl.wordpress.com/2012/05/08/resolving-many-to-many-relationships-leveraging-dax-cross-table-filtering"&gt;Gerhard Brueckl&lt;/a&gt; also presented an approach based on cross table filtering behavior that simplify the syntax involved, even if it’s harder to explain how it works internally.&lt;/p&gt;  &lt;p&gt;I published a short article titled &lt;a href="http://www.sqlbi.com/articles/optimize-many-to-many-calculation-in-dax-with-summarize-and-cross-table-filtering/"&gt;Optimize Many-to-Many Calculation in DAX with SUMMARIZE and Cross Table Filtering&lt;/a&gt; on &lt;a href="http://www.sqlbi.com/"&gt;SQLBI&lt;/a&gt; website just to provide a quick reference to the three patterns available. A further study is still required to compare performance between SUMMARIZE and Cross Table Filtering patterns. Up to now, I haven’t observed big differences between them, even if their execution plans might be not identical and this suggest me that depending on other conditions you might favor one over the other.&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=43669" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/M2M/default.aspx">M2M</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/Analysis+Services/default.aspx">Analysis Services</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/PowePivot/default.aspx">PowePivot</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/BISM/default.aspx">BISM</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/Tabular/default.aspx">Tabular</category></item><item><title>Order of Evaluation in CALCULATE and Clever Hierarchy Handling in #dax</title><link>http://sqlblog.com/blogs/marco_russo/archive/2012/05/02/order-of-evaluation-in-calculate-and-clever-hierarchy-handling-in-dax.aspx</link><pubDate>Wed, 02 May 2012 04:36:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:43129</guid><dc:creator>Marco Russo (SQLBI)</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/marco_russo/comments/43129.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/marco_russo/commentrss.aspx?PostID=43129</wfw:commentRss><wfw:comment>http://sqlblog.com/blogs/marco_russo/rsscomments.aspx?PostID=43129</wfw:comment><description>&lt;p&gt;After the first two editions of the &lt;a href="http://www.ssasworkshop.com/"&gt;SSAS Tabular Workshop&lt;/a&gt;, I and Alberto had some time to flush some of the pending activities. We published two articles:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.sqlbi.com/articles/clever-hierarchy-handling-in-dax/"&gt;Clever Hierarchy Handling in DAX&lt;/a&gt;: DAX is not a hierarchy-friendly language, especially if you have a MDX background. If you have to implement hierarchy-based calculation, MDX is still better. But if you need to do that in DAX (for example, because you need this in a DAX measure), then you have to read &lt;a href="http://www.sqlbi.com/articles/clever-hierarchy-handling-in-dax/"&gt;this article&lt;/a&gt; written by Alberto Ferrari that explains how to correctly calculate the classical “ratio to parent” pattern in several different scenarios.&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.sqlbi.com/articles/order-of-evaluation-in-calculate-parameters/"&gt;Order of Evaluation in CALCULATE Parameters&lt;/a&gt;: a common mistake when you start working with DAX is understanding the evaluation order of CALCULATE parameters and what happens when you have nested CALCULATE statements. The topic can be very dense, so I tried to write a &lt;a href="http://www.sqlbi.com/articles/order-of-evaluation-in-calculate-parameters/"&gt;simple article&lt;/a&gt; that explain the basic concepts and based on the feedback I’ll receive, I’ll consider writing other articles on this subject. So feedback is welcome!&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;We have other ideas and material that I hope we’ll be able to write and publish in the upcoming weeks. In the meantime, there are plenty of other editions of the &lt;a href="http://www.ssasworkshop.com/"&gt;workshop&lt;/a&gt; this month, starting from the online one next week that is &lt;a href="http://www.sqlbi.com/courses/ssas-workshop-online-may2012/"&gt;arranged for US time zone&lt;/a&gt;. Don’t miss it!&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=43129" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/DAX/default.aspx">DAX</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/BISM/default.aspx">BISM</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/Tabular/default.aspx">Tabular</category></item><item><title>Last minute update #ssas #tabular community event in Amsterdam on April 16</title><link>http://sqlblog.com/blogs/marco_russo/archive/2012/04/14/last-minute-update-ssas-tabular-community-event-in-amsterdam-on-april-16.aspx</link><pubDate>Fri, 13 Apr 2012 23:45:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:42823</guid><dc:creator>Marco Russo (SQLBI)</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/marco_russo/comments/42823.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/marco_russo/commentrss.aspx?PostID=42823</wfw:commentRss><wfw:comment>http://sqlblog.com/blogs/marco_russo/rsscomments.aspx?PostID=42823</wfw:comment><description>&lt;p&gt;We finally have the registration website for the community event about Tabular in Analysis Services in Amsterdam on April 16 evening that I introduced in my previous &lt;a href="http://sqlblog.com/blogs/marco_russopost/"&gt;post&lt;/a&gt;&amp;nbsp;- don't miss it, the registration are open (and limited!) at:&lt;/p&gt;&lt;p&gt;&lt;a href="http://passnl-april2012.eventbrite.com/"&gt;&lt;strong&gt;http://passnl-april2012.eventbrite.com/&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;This is really a "last-minute" event, but we're pretty confident the room will be full anyway! See you there!&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=42823" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/SSAS/default.aspx">SSAS</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/Analysis+Services/default.aspx">Analysis Services</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/BISM/default.aspx">BISM</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/Tabular/default.aspx">Tabular</category></item><item><title>#SSAS #Tabular Workshop and Community Events in Netherlands and Denmark</title><link>http://sqlblog.com/blogs/marco_russo/archive/2012/04/12/ssas-tabular-workshop-and-community-events-in-netherlands-and-denmark.aspx</link><pubDate>Thu, 12 Apr 2012 11:04:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:42744</guid><dc:creator>Marco Russo (SQLBI)</dc:creator><slash:comments>1</slash:comments><comments>http://sqlblog.com/blogs/marco_russo/comments/42744.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/marco_russo/commentrss.aspx?PostID=42744</wfw:commentRss><wfw:comment>http://sqlblog.com/blogs/marco_russo/rsscomments.aspx?PostID=42744</wfw:comment><description>&lt;p&gt;Next week I will finally start the roadshow of the &lt;a href="http://www.ssasworkshop.com/"&gt;SSAS Tabular Workshop&lt;/a&gt;, a 2-day seminar about the new BISM Tabular model for Analysis Services that has been introduced in SQL Server 2012. During these roadshows, we always try to arrange some speeches at local community events in the evening&amp;nbsp;- we&amp;nbsp;already defined for&amp;nbsp;Copenhagen, we have some logistic issue in Amsterdam that we're trying to solve.&amp;nbsp;Here is the timetable:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Netherlands&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;SSAS Workshop in Amsterdam, NL – April 16-17, 2012&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;2-day seminar, I and Alberto will be the trainers for this event, register &lt;a href="http://www.sqlbi.com/courses/ssas-workshop-amsterdam-apr2012/"&gt;here&lt;/a&gt;&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;We're trying to manage a Community event but we still don't have&amp;nbsp;a confirmation, stay tuned&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;UPDATE: the community event has been comfirmed, please register here: &lt;span style="font-size:12pt;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;a href="http://passnl-april2012.eventbrite.com/"&gt;&lt;font color="#0000ff"&gt;http://passnl-april2012.eventbrite.com/&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/ul&gt;    &lt;li&gt;Denmark&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;SSAS Workshop in Copenhagen,&amp;nbsp;DK – April 26-27, 2012&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;2-day seminar, I and Alberto will be the trainers for this event, register &lt;a href="http://www.sqlbi.com/courses/ssas-workshop-copenhagen-apr2012/"&gt;here&lt;/a&gt;&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Community event on April 26, 2012&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;This event will run in Hellerup, at Microsoft venue&lt;/li&gt;        &lt;li&gt;All details available here: &lt;a href="http://msbip.dk/events/26/msbip-mode-nr-5/"&gt;http://msbip.dk/events/26/msbip-mode-nr-5/&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;People from Sweden are welcome! Just &lt;a href="http://www.linkedin.com/groups?gid=4388818"&gt;register to this private group&lt;/a&gt; on LinkedIn in order to announce your presence, so we’ll know how many people will attend&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;In community events we’ll deliver two speeches – here are the descriptions:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Inside xVelocity (VertiPaq) &lt;/strong&gt;      &lt;br&gt;PowerPivot and BISM Tabular models in Analysis Services share a great columnar-based database engine called xVelocity in-memory analytics engine (VertiPaq). If you want to improve performance and optimize memory used, you have to understand some basic principles about how this engine works, how data is compressed, and how you can design a data model for better optimization. Prepare yourself to change your mind. xVelocity optimization techniques might seem counterintuitive and are absolutely different than OLAP and SQL ones!&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Choosing between Tabular and Multidimensional&lt;/strong&gt;      &lt;br&gt;You have a new project and you have to make an important decision upfront. Should you use Tabular or Multidimensional? It is not easy to answer, because sometime there is a clear choice, but most of the times both decisions might be correct, at least at the beginning. In this session we’ll help you making an informed decision, correctly evaluating pros and cons of each one according to common scenarios, considering both short-term and long-term consequences of your choice.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;I hope to meet many people in this first dates. We have &lt;a href="http://www.ssasworkshop.com/"&gt;many other events coming in May and June&lt;/a&gt;, including an &lt;a href="http://www.sqlbi.com/courses/ssas-workshop-online-may2012/"&gt;online event&lt;/a&gt; (for US time zones), and you can also attend our PreCon Day at &lt;a href="http://northamerica.msteched.com/preconferenceseminars"&gt;TechEd US in Orland (PRC06)&lt;/a&gt; or &lt;a href="http://europe.msteched.com/PreCons"&gt;TechEd Europe&lt;/a&gt; in Amsterdam. I’ll be a good customer for airline companies in the next three months!&lt;/p&gt;  &lt;p&gt;I’m just sorry that I hadn’t time to write other articles in the last month, but I’m accumulating material that I will need to write down during some flight – stay tuned…&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=42744" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/Communities/default.aspx">Communities</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/Analysis+Services/default.aspx">Analysis Services</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/BISM/default.aspx">BISM</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/Tabular/default.aspx">Tabular</category></item><item><title>Distinct Count of Customers in a SCD Type 2 in #DAX</title><link>http://sqlblog.com/blogs/marco_russo/archive/2012/04/09/distinct-count-of-customers-in-a-scd-type-2-in-dax.aspx</link><pubDate>Mon, 09 Apr 2012 20:55:25 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:42750</guid><dc:creator>Marco Russo (SQLBI)</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/marco_russo/comments/42750.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/marco_russo/commentrss.aspx?PostID=42750</wfw:commentRss><wfw:comment>http://sqlblog.com/blogs/marco_russo/rsscomments.aspx?PostID=42750</wfw:comment><description>&lt;p&gt;If you have a Slowly Changing Dimension (SCD) Type 2 for your customer and you want to calculate the number of distinct customers that bought a product, you cannot use the simple formula:&lt;/p&gt;  &lt;p&gt;Customers := DISTINCTCOUNT( FactTable[Customer Id] ) )&lt;/p&gt;  &lt;p&gt;because it would return the number of distinct versions of customers. What you really want to do is to calculate the number of distinct application keys of the customers, that could be a lower number than the number you’ve got with the previous formula. Assuming that a Customer Code column in the Customers dimension contains the application key, you should use the following DAX formula:&lt;/p&gt;  &lt;p&gt;Customers := COUNTROWS( SUMMARIZE( FactTable, Customers[Customer Code] ) )&lt;/p&gt;  &lt;p&gt;Be careful: only the version above is really fast, because it is solved by xVelocity (formerly known as VertiPaq) engine. Other formulas involving nested calculations might be more complex and move computation to the formula engine, resulting in slower query.&lt;/p&gt;  &lt;p&gt;This is absolutely an interesting pattern and I have to say it’s a killer feature. Try to do the same in Multidimensional…&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=42750" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/Analysis+Services/default.aspx">Analysis Services</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/DAX/default.aspx">DAX</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/BISM/default.aspx">BISM</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/Tabular/default.aspx">Tabular</category></item><item><title>Microsoft SQL Server 2012 Analysis Services – The BISM Tabular Model #ssas #tabular #bism</title><link>http://sqlblog.com/blogs/marco_russo/archive/2012/03/28/microsoft-sql-server-2012-analysis-services-the-bism-tabular-model-ssas-tabular-bism.aspx</link><pubDate>Wed, 28 Mar 2012 08:26:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:42528</guid><dc:creator>Marco Russo (SQLBI)</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/marco_russo/comments/42528.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/marco_russo/commentrss.aspx?PostID=42528</wfw:commentRss><wfw:comment>http://sqlblog.com/blogs/marco_russo/rsscomments.aspx?PostID=42528</wfw:comment><description>&lt;p&gt;I, &lt;a href="http://sqlblog.com/blogs/alberto_ferrari/"&gt;Alberto&lt;/a&gt; and &lt;a href="http://cwebbbi.wordpress.com"&gt;Chris&lt;/a&gt; spent many months (many nights, holidays and also working days of the last months) writing &lt;a href="http://www.amazon.com/gp/product/0735658188/?tag=se04-20"&gt;the book&lt;/a&gt; we would have liked to read when we started working with Analysis Services Tabular. A book that explains how to use Tabular, how to model data with Tabular, how Tabular internally works and how to optimize a Tabular model. All those things you need to start on a real project in order to make an happy customer. You know, we’re all consultants after all, so customer satisfaction is really important to be paid for our job!&lt;/p&gt;  &lt;p&gt;Now the book writing is finished, we’re in the final stage of editing and reviews and we look forward to get our print copy. Its title is very long: &lt;a href="http://www.amazon.com/gp/product/0735658188/?tag=se04-20"&gt;Microsoft SQL Server 2012 Analysis Services – The BISM Tabular Model&lt;/a&gt;. But the important thing is that you can already (pre)order it.&lt;/p&gt;  &lt;p&gt;This is the list of chapters:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;01. BISM Architecture &lt;/li&gt;    &lt;li&gt;02. Guided Tour on Tabular&lt;/li&gt;    &lt;li&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;03. Loading Data Inside Tabular&lt;/li&gt;    &lt;li&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;04. DAX Basics&lt;/li&gt;    &lt;li&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;05. Understanding Evaluation Contexts&lt;/li&gt;    &lt;li&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;06. Querying Tabular&lt;/li&gt;    &lt;li&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;07. DAX Advanced&lt;/li&gt;    &lt;li&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;08. Understanding Time Intelligence in DAX&lt;/li&gt;    &lt;li&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;09. Vertipaq Engine&lt;/li&gt;    &lt;li&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;10. Using Tabular Hierarchies&lt;/li&gt;    &lt;li&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;11. Data modeling in Tabular&lt;/li&gt;    &lt;li&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;12. Using Advanced Tabular Relationships&lt;/li&gt;    &lt;li&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;13. Tabular Presentation Layer&lt;/li&gt;    &lt;li&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;14. Tabular and PowerPivot for Excel&lt;/li&gt;    &lt;li&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;15. Tabular Security&lt;/li&gt;    &lt;li&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;16. Interfacing with Tabular&lt;/li&gt;    &lt;li&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;17. Tabular Deployment&lt;/li&gt;    &lt;li&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;18. Optimization and Monitoring&lt;/td&gt;&lt;/tr&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;And this is the book cover – have a good read!&lt;/p&gt;  &lt;p&gt;&lt;img border="0" src="http://akamaicovers.oreilly.com/images/0790145322197/lrg.jpg" width="201" height="245" /&gt;&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=42528" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/Analysis+Services/default.aspx">Analysis Services</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/Book/default.aspx">Book</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/BISM/default.aspx">BISM</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/Tabular/default.aspx">Tabular</category></item><item><title>Investigating on xVelocity (VertiPaq) column size</title><link>http://sqlblog.com/blogs/marco_russo/archive/2012/03/19/investigating-on-xvelocity-vertipaq-column-size.aspx</link><pubDate>Mon, 19 Mar 2012 11:15:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:42376</guid><dc:creator>Marco Russo (SQLBI)</dc:creator><slash:comments>2</slash:comments><comments>http://sqlblog.com/blogs/marco_russo/comments/42376.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/marco_russo/commentrss.aspx?PostID=42376</wfw:commentRss><wfw:comment>http://sqlblog.com/blogs/marco_russo/rsscomments.aspx?PostID=42376</wfw:comment><description>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;In January I published an article about &lt;a href="http://www.sqlbi.com/articles/optimizing-high-cardinality-columns-in-vertipaq/"&gt;how to optimize high cardinality columns in VertiPaq&lt;/a&gt;. In the meantime, VertiPaq has been rebranded to xVelocity: the official name is now “xVelocity in-memory analytics engine (VertiPaq)” but using xVelocity and VertiPaq when we talk about Analysis Services has the same meaning. In this post I’ll show how to investigate on columns size of an existing Tabular database so that you can find the most important columns to be optimized.&lt;/p&gt;  &lt;p&gt;A first approach can be looking in the DataDir of Analysis Services and look for the folder containing the database. Then, look for the biggest files in all subfolders and you will find the name of a file that contains the name of the most expensive column. However, this heuristic process is not very optimized.&lt;/p&gt;  &lt;p&gt;A better approach is using a DMV that provides the exact information. For example, by using the following query (open SSMS, open an MDX query on the database you are interested to and execute it) you will see all database objects sorted by used size in a descending way.&lt;/p&gt;  &lt;p&gt;SELECT *    &lt;br /&gt;FROM $SYSTEM.DISCOVER_STORAGE_TABLE_COLUMN_SEGMENTS    &lt;br /&gt;ORDER BY used_size DESC&lt;/p&gt;  &lt;p&gt;You can look at the first rows in order to understand what are the most expensive columns in your tabular model. The interesting data provided are:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;TABLE_ID: it is the name of the object – it can be also a dictionary or an index&lt;/li&gt;    &lt;li&gt;COLUMN_ID: it is the column name the object belongs to – you can also see ID_TO_POS and POS_TO_ID in case they refer to internal indexes&lt;/li&gt;    &lt;li&gt;RECORDS_COUNT: it is the number of rows in the column&lt;/li&gt;    &lt;li&gt;USED_SIZE: it is the used memory for the object&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;By looking at the ration between USED_SIZE and RECORDS_COUNT you can understand what you can do in order to optimize your tabular model. Your options are:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Remove the column&lt;/strong&gt;. Yes, if it contains data you will never use in a query, simply remove the column from the tabular model&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Change granularity&lt;/strong&gt;. If you are tracking time and you included milliseconds but seconds would be enough, round the data source column to the nearest second. If you have a floating point number but two decimals are good enough (i.e. the temperature), round the number to the nearest decimal is relevant to you.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Split the column&lt;/strong&gt;. Create two or more columns that have to be combined together in order to produce the original value. This technique is described in &lt;a href="http://www.sqlbi.com/articles/optimizing-high-cardinality-columns-in-vertipaq/"&gt;VertiPaq optimization article&lt;/a&gt;.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Sort the table by that column&lt;/strong&gt;. When you read the data source, you might consider sorting data by this column, so that the compression will be more efficient. However, this technique works better on columns that don’t have too many distinct values and you will probably move the problem to another column. Sorting data starting from the lower density columns (those with a few number of distinct values) and going to higher density columns (those with high cardinality) is the technique that provides the best compression ratio.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;After the optimization you should be able to reduce the used size and improve the count/size ration you measured before.&lt;/p&gt;  &lt;p&gt;If you are interested in a longer discussion about internal storage in VertiPaq and you want understand why this approach can save you space (and time), you can attend my 24 Hours of PASS session “&lt;a href="http://www.sqlpass.org/24hours/spring2012/SessionsbySchedule/SessionDetails.aspx?sid=2515"&gt;VertiPaq Under the Hood&lt;/a&gt;” on March 21 at 08:00 GMT.&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=42376" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/BISM/default.aspx">BISM</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/Tabular/default.aspx">Tabular</category></item><item><title>A new SQL, a new Analysis Services, a new Workshop! #ssas #sql2012</title><link>http://sqlblog.com/blogs/marco_russo/archive/2012/03/14/a-new-sql-a-new-analysis-services-a-new-workshop-ssas-sql2012.aspx</link><pubDate>Wed, 14 Mar 2012 18:03:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:42337</guid><dc:creator>Marco Russo (SQLBI)</dc:creator><slash:comments>2</slash:comments><comments>http://sqlblog.com/blogs/marco_russo/comments/42337.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/marco_russo/commentrss.aspx?PostID=42337</wfw:commentRss><wfw:comment>http://sqlblog.com/blogs/marco_russo/rsscomments.aspx?PostID=42337</wfw:comment><description>  &lt;p&gt;One week ago Microsoft SQL Server 2012 finally debuted with a &lt;a href="http://www.sqlserverlaunch.com/"&gt;virtual launch event&lt;/a&gt; and you can find many intro sessions there (20 minutes each). There is a lot of new content available if you want to learn more about SQL 2012 and in this blog post I’d like to provide a few link to sessions, documents, bits and courses that are available now or very soon.&lt;/p&gt;  &lt;p&gt;First of all, the release of Analysis Services 2012 has finally released &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=29074"&gt;PowerPivot 2012&lt;/a&gt; (many of us called it PowerPivot v2 before this official name) and also the &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=29061"&gt;new Data Mining Add-in for Microsoft Office 2010&lt;/a&gt;, now available also for Excel 64bit! And, of course, don’t miss the &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=29065"&gt;Microsoft SQL Server 2012 Feature Pack&lt;/a&gt;, there are a lot of upgrades for both DBAs and developers. I just discovered there is a new &lt;a href="http://msdn.microsoft.com/en-us/library/hh510202(v=sql.110).aspx"&gt;LocalDB&lt;/a&gt; version of SQL Express that can run in user mode without any setup. Is this the end of SQL CE?&lt;/p&gt;  &lt;p&gt;But now, back to Analysis Services: if you want some tutorial on Tabular, the &lt;a href="https://www.microsoftvirtualacademy.com/tracks/breakthrough-insights-using-microsoft-sql-server-2012-analysis-services"&gt;Microsoft Virtual Academy&lt;/a&gt; has a whole &lt;a href="https://www.microsoftvirtualacademy.com/tracks/breakthrough-insights-using-microsoft-sql-server-2012-analysis-services"&gt;track dedicated to Analysis Services 2012&lt;/a&gt; but you will probably be interested also in the &lt;a href="https://www.microsoftvirtualacademy.com/tracks/breakthrough-insights-using-microsoft-sql-server-2012-reporting-services"&gt;one about Reporting Services 2012&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;If you think that virtual is good but it’s not enough, there are plenty of conferences in the coming months – these are just those where I and &lt;a href="http://www.sqlbi.com/articles/author/alberto-ferrari/"&gt;Alberto&lt;/a&gt; will deliver some SSAS Tabular presentations:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.sqlbits.com/"&gt;SQLBits X&lt;/a&gt;, London, March 29-31, 2012: if you are in London or want a good reason to go, this is the most important SQL Server event in Europe this year, no doubts about it. And not only because of the high number of attendees, but also because there is an impressive number of speakers (excluding me, of course) coming from all over the world. This is an event second only to PASS Summit in Seattle so there are no good reasons to not attend it.&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.sqlconference.it/events/2012/default.aspx"&gt;Microsoft SQL Server &amp;amp; Business Intelligence Conference 2012&lt;/a&gt;, Milan, March 28-29, 2012: this is an Italian conference so the language might be a barrier, but many of us also speak English and the food is good! Just a few seats still available.&lt;/li&gt;    &lt;li&gt;&lt;a href="http://northamerica.msteched.com"&gt;TechEd North America&lt;/a&gt;, Orlando, June 11-14, 2012: you know, this is a big event and it contains everything – if you want to spend a whole day learning the SSAS Tabular model with me and Alberto, don’t miss &lt;a href="http://northamerica.msteched.com/preconferenceseminars#fbid=JF5uXJCRhgS"&gt;our pre-conference day&lt;/a&gt; “Using BISM Tabular in Microsoft SQL Server Analysis Services 2012” (be careful, it is on June 10, a nice study-Sunday!).&lt;/li&gt;    &lt;li&gt;&lt;a href="http://europe.msteched.com/"&gt;TechEd Europe&lt;/a&gt;, Amsterdam, June 26-29, 2012: the European version of TechEd provides almost the same content and you don’t have to go overseas. We also run the same &lt;a href="http://europe.msteched.com/PreCons"&gt;pre-conference day&lt;/a&gt; “Using BISM Tabular in Microsoft SQL Server Analysis Services 2012” (in this case, it is on June 25, that’s a regular Monday).&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I and Alberto will also speak at some user group meeting around Europe during… well, we’re going to travel a lot in the next months.&lt;/p&gt;  &lt;p&gt;In fact, if you want to get a complete training on SSAS Tabular, you should spend two days with us in one of our &lt;a href="http://www.ssasworkshop.com/"&gt;SSAS Tabular Workshop&lt;/a&gt;! We prepared a 2-day seminar, a very intense one, that start from the simple tabular modeling and cover architecture, DAX, query, advanced modeling, security, deployment, optimization, monitoring, relationships with PowerPivot and Multidimensional… Really, there are a lot of stuffs here! We announced the first dates in Europe and also an online edition optimized for America’s time zone:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.sqlbi.com/courses/ssas-workshop-amsterdam-apr2012/"&gt;Apr 16-17, 2012 – Amsterdam&lt;/a&gt;, Netherlands&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.sqlbi.com/courses/ssas-workshop-copenhagen-apr2012/"&gt;Apr 26-27, 2012 – Copenhagen&lt;/a&gt;, Denmark&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.sqlbi.com/courses/ssas-workshop-online-may2012/"&gt;May 7-8, 2012 – Online&lt;/a&gt; for America’s time zone&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.sqlbi.com/courses/ssas-workshop-brussels-may2012/"&gt;May 14-15, 2012 – Brussels&lt;/a&gt;, Belgium&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.sqlbi.com/courses/ssas-workshop-oslo-may2012/"&gt;May 21-22, 2012 – Oslo&lt;/a&gt;, Norway&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.sqlbi.com/courses/ssas-workshop-stockholm-may2012/"&gt;May 24-25, 2012 – Stockholm&lt;/a&gt;, Sweden&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.sqlbi.com/courses/ssas-workshop-london-may2012/"&gt;May 28-29, 2012 – London&lt;/a&gt;, United Kingdom&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.sqlbi.com/courses/ssas-workshop-milan-jun2012/"&gt;May 31-Jun 1, 2012 – Milan&lt;/a&gt;, Italy (Italian language)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Also &lt;a href="http://www.sqlbi.com/articles/author/chris-webb/"&gt;Chris Webb&lt;/a&gt; will join us in this workshop and in every date you can find who is the speaker on the web site.&lt;/p&gt;  &lt;p&gt;The course is based on our &lt;a href="http://www.sqlbi.com/books/microsoft-sql-server-2012-analysis-services-the-bism-tabular-model/"&gt;upcoming book&lt;/a&gt;, almost 600 pages (!) about SSAS Tabular, an incredible effort that will be available very soon in a preview (&lt;a href="http://shop.oreilly.com/category/roughcuts.do"&gt;rough cuts from O’Reilly&lt;/a&gt;) and will be on the shelf in May. I will provide a link to order it as soon as we have one!&lt;/p&gt;  &lt;p&gt;And if you think that this is not enough… you’re right! Do you know what is the only thing you can do to optimize your Tabular model? Optimize your DAX code. Learning DAX is easy, mastering DAX requires some knowledge… and our &lt;a href="http://www.sqlbi.com/training/"&gt;DAX Advanced Workshop&lt;/a&gt; will provide exactly the required content. Public classes will be available later this year, by now we just deliver it on demand.&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=42337" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/SSAS/default.aspx">SSAS</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/PowePivot/default.aspx">PowePivot</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/BISM/default.aspx">BISM</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/Tabular/default.aspx">Tabular</category></item><item><title>Why to use #Tabular in Analysis Services 2012 #ssas</title><link>http://sqlblog.com/blogs/marco_russo/archive/2012/03/01/why-to-use-tabular-in-analysis-services-2012-ssas.aspx</link><pubDate>Thu, 01 Mar 2012 12:43:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:42008</guid><dc:creator>Marco Russo (SQLBI)</dc:creator><slash:comments>34</slash:comments><comments>http://sqlblog.com/blogs/marco_russo/comments/42008.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/marco_russo/commentrss.aspx?PostID=42008</wfw:commentRss><wfw:comment>http://sqlblog.com/blogs/marco_russo/rsscomments.aspx?PostID=42008</wfw:comment><description>&lt;p&gt;A few months ago I gave a speech at SQLBits 9 comparing Vertipaq vs. OLAP (you can &lt;a href="http://www.sqlbits.com/Sessions/Event9/Vertipaq_vs_OLAP_Change_Your_Data_Modeling_Approach"&gt;watch session recording here&lt;/a&gt;), which I repeated a few times in other conferences and webcasts. The title was intentionally provocative but it contained an explanation of the real content – in fact it is “Vertipaq vs OLAP: Change Your Data Modeling Approach”. In these days I’m realizing how huge the impact of this technology will be, and how I just scratched the surface of this revolution happening in the BI Modeling world. Regardless you watched the session or not (and you may have another good reason to do that after reading this post), let’s try to see what’s happening from another point of view.&lt;/p&gt;  &lt;p&gt;How do you model a BI Solution? Well, you can have a data warehouse or not, you can apply SQLBI Methodology or another of your choice (there are many of them, yes). But, at the end, you create a star schema. Maybe a snowflake one, even if it is almost always a bad idea. But a snowflake schema can be converted in a star schema, so let’s go for that. You have to conform your data model to a well known pattern that can be easily digested by an Analysis Services cube. I mean, a Multidimensional model. And that’s fine, it works great, millions of customers are very happy with that.&lt;/p&gt;  &lt;p&gt;But then, someone comes with a question that was not planned in advance. Someone says “I’d like to analyze customer behavior, define a cluster of my customers based on cube slicing and dicing and then I want to know if in this specific month for this promotion they bought more or less than their single individual average over the last three months”. And they expect this to be doable and fast. At this point you have several options:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Talk about the next football/baseball/NBA/rugby match hoping he’ll forget what he asked for; &lt;/li&gt;    &lt;li&gt;Finally show your master level of MDX and write a geeky MDX query that doesn’t work in Excel and cannot be browsed in an Excel PivotTable (users seems not able to appreciate how nice is writing your custom client code with AMO – except a few Italian speaking people, who understand that AMO is just the first single person present of the verb LOVE, even if for an inexplicable reason most of them tend to associate the word with the noun fishhook, which has the same spelling in Italian); &lt;/li&gt;    &lt;li&gt;Change the data model in Analysis Services, only to realize that you have to change the Data Mart design and the ETL, pushing the business logic of a query down to the ETL implementation, for the happiness of those guys who worked hard to pump data in your ultimate data model that should have been able to answer to any query from any user at any time. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Well, I tried all of them, and I can say that the last one is the most expensive and the only one that really makes the user happy for 5 minutes, until he realizes he just would like to see something else he hadn’t thought before. And this process is called knowledge discovery, is perfectly well known, described in the books and if only he would be able to formulate a question within a predictable path, we would live in a better world. But, hey, I’m a consultant, there are no issues, just opportunities. At least until an opportunity moves beyond the horizon of the profitability ROI line.&lt;/p&gt;  &lt;p&gt;Are you with me? Have you experienced all of this? (If you’re not a consultant, you can just replace “profitability ROI” with “acceptable quality of working life”, which is the equivalent concept - a consultant never experience the notion of a life beyond the work and would not understand the expression at all, simply reporting a Connect item to the Word team in order to fix the Spelling and Grammar checker).&lt;/p&gt;  &lt;p&gt;Well, now there is Analysis Services 2012. You can create models in Multidimensional or Tabular. At first, Tabular has less features than Multidimensional, it’s simpler and you can define a model that looks like a Multidimensional one. You can create a Tabular model that, connecting from Excel, appears exactly like a Multidimensional one. It could be faster, it could be easier to develop, but at the end it will seem offering the same features to the end user. Apparently, nothing is changed. At least, if you are lazy enough to not think you can do more.&lt;/p&gt;  &lt;p&gt;A few months after my talk at SQLBits I continue to see new reasons to move to Tabular just for two capabilities that are hidden in the marketing stuffs, but are really incredible important from a data modeling point of view:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;You can query data using relationships that are not defined in the data model as “regular” relationships &lt;/li&gt;    &lt;li&gt;You can extend the data model without reprocessing the whole database by using calculated columns &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;These two features adds a fourth option to answer to the question that originated this blog post. And the fourth option is:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Just do it&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I’m not saying it’s easy. But by moving your DAX skills to an expert level, you are able to write complex queries keeping good performance without requiring to change the underlying the data model. Translated in practical terms: happy customer, problem solved, out of office in time to watch your favorite football/baseball/NBA/rugby/whatever match on TV.&lt;/p&gt;  &lt;p&gt;A few months after my talk at SQLBits I continue to see new reasons to move to Tabular just for the flexibility it allows if you want to query it. If you tried OLAP in the past and it was too rigid in data modeling for your requirements, give Tabular a chance. You have to learn it deeper than a casual user, but you will found an unexplored territory of new data modeling and reporting opportunities. (How many articles have you read about &lt;a href="http://www.sqlbi.com/articles/execute-dax-queries-through-ole-db-and-adomd-net/"&gt;querying Tabular&lt;/a&gt; &lt;a href="http://sqlblog.com/blogs/marco_russo/archive/2012/01/05/use-parameters-in-your-dax-queries.aspx"&gt;from Reporting Services&lt;/a&gt;?)&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Next mission: convince IT Pros to not virtualize a SSAS box with Tabular because it is much more convenient to spend money on fast CPU, not too many cores, large and fast memory, cheap disks. Tactic: design a fancy dashboard for the CEO and getting immunity to fight against the SAN lobbies (&lt;/em&gt;&lt;a href="http://blog.kejser.org/"&gt;&lt;em&gt;Thomas&lt;/em&gt;&lt;/a&gt;&lt;em&gt; would use a less polite term here).&lt;/em&gt;&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=42008" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/SSAS/default.aspx">SSAS</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/BISM/default.aspx">BISM</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/Tabular/default.aspx">Tabular</category></item><item><title>Create a #dax Measure in a Session in #BISM #Tabular</title><link>http://sqlblog.com/blogs/marco_russo/archive/2012/02/28/create-a-dax-measure-in-a-session-in-bism-tabular.aspx</link><pubDate>Tue, 28 Feb 2012 12:47:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:41953</guid><dc:creator>Marco Russo (SQLBI)</dc:creator><slash:comments>2</slash:comments><comments>http://sqlblog.com/blogs/marco_russo/comments/41953.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/marco_russo/commentrss.aspx?PostID=41953</wfw:commentRss><wfw:comment>http://sqlblog.com/blogs/marco_russo/rsscomments.aspx?PostID=41953</wfw:comment><description>&lt;p&gt;Thanks to &lt;a href="http://www.artisconsulting.com/blogs/greggalloway/default.aspx"&gt;Greg Galloway&lt;/a&gt; that pointed me out this is possible, in this post I want to show how to create a measure local to a session. This could be done in SQL Server Management Studio, even if it is probably not so useful for a Tabular model considering that you can easily define measures local to a DAX query. However, maybe you will have a reason to do that (I can only imagine a long list of measures defined in a session that are used in small queries sent from a client – it could be an idea for custom clients connecting to Tabular that sends many short queries using the same measures, for example a dashboard or a set of charts).&lt;/p&gt;  &lt;p&gt;First, you have to connect to Analysis Services by including the Cube=&amp;lt;cubename&amp;gt; in the connection string. By default, the cube name of a tabular model is “Model”, so you can use Cube=Model in the connection string. You can do that in SQL Server Management Studio by placing that string in the Additional Connection Parameters, as you can see in the following picture.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/marco_russo/connectioncubemodel_0D5B6F86.png"&gt;&lt;img style="border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" title="connectioncubemodel" border="0" alt="connectioncubemodel" src="http://sqlblog.com/blogs/marco_russo/connectioncubemodel_thumb_32E4ECE7.png" width="420" height="494"&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;Then, instead of using DEFINE MEASURE before EVALUATE statement, like you would do in the following statement:&lt;/p&gt; &lt;font color="#0000ff" size="2" face="Consolas"&gt;&lt;font color="#0000ff" size="2" face="Consolas"&gt;&lt;font color="#0000ff" size="2" face="Consolas"&gt;       &lt;p&gt;DEFINE&lt;/p&gt;     &lt;/font&gt;&lt;/font&gt;&lt;font size="2" face="Consolas"&gt;&lt;font size="2" face="Consolas"&gt;        &lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2" face="Consolas"&gt;&lt;font color="#0000ff" size="2" face="Consolas"&gt;&lt;font color="#0000ff" size="2" face="Consolas"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEASURE&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2" face="Consolas"&gt;&lt;font size="2" face="Consolas"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;'Internet Sales'&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2" face="Consolas"&gt;&lt;font size="2" face="Consolas"&gt;[Internet Total Sales] = &lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2" face="Consolas"&gt;&lt;font color="#800000" size="2" face="Consolas"&gt;&lt;font color="#800000" size="2" face="Consolas"&gt;SUM&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2" face="Consolas"&gt;&lt;font size="2" face="Consolas"&gt;([Sales Amount])       &lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2" face="Consolas"&gt;&lt;font color="#0000ff" size="2" face="Consolas"&gt;&lt;font color="#0000ff" size="2" face="Consolas"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEASURE&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2" face="Consolas"&gt;&lt;font size="2" face="Consolas"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;'Internet Sales'&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2" face="Consolas"&gt;&lt;font size="2" face="Consolas"&gt;[Internet Total Product Cost] = &lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2" face="Consolas"&gt;&lt;font color="#800000" size="2" face="Consolas"&gt;&lt;font color="#800000" size="2" face="Consolas"&gt;SUM&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2" face="Consolas"&gt;&lt;font size="2" face="Consolas"&gt;([Total Product Cost])       &lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2" face="Consolas"&gt;&lt;font color="#0000ff" size="2" face="Consolas"&gt;&lt;font color="#0000ff" size="2" face="Consolas"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEASURE&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2" face="Consolas"&gt;&lt;font size="2" face="Consolas"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;'Internet Sales'&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2" face="Consolas"&gt;&lt;font size="2" face="Consolas"&gt;[Internet Total Margin] = [Internet Total Sales] - [Internet Total Product Cost]       &lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2" face="Consolas"&gt;&lt;font color="#0000ff" size="2" face="Consolas"&gt;&lt;font color="#0000ff" size="2" face="Consolas"&gt;EVALUATE         &lt;br&gt;SUMMARIZE&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2" face="Consolas"&gt;&lt;font size="2" face="Consolas"&gt;(        &lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Internet Sales'&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2" face="Consolas"&gt;&lt;font size="2" face="Consolas"&gt;,       &lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Date'&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2" face="Consolas"&gt;&lt;font size="2" face="Consolas"&gt;[Calendar Year],       &lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Sales"&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2" face="Consolas"&gt;&lt;font size="2" face="Consolas"&gt;, &lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;'Internet Sales'&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2" face="Consolas"&gt;&lt;font size="2" face="Consolas"&gt;[Internet Total Sales],       &lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Cost"&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2" face="Consolas"&gt;&lt;font size="2" face="Consolas"&gt;, &lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;'Internet Sales'&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2" face="Consolas"&gt;&lt;font size="2" face="Consolas"&gt;[Internet Total Product Cost],       &lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Margin"&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2" face="Consolas"&gt;&lt;font size="2" face="Consolas"&gt;, &lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;'Internet Sales'&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2" face="Consolas"&gt;&lt;font size="2" face="Consolas"&gt;[Internet Total Margin]        &lt;br&gt;)&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;  &lt;p&gt;You can define measures by using the CREATE SESSION statement. Please note that if you didn’t set the Cube in the connection string, you would get an error.&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff" size="2" face="Consolas"&gt;&lt;font color="#0000ff" size="2" face="Consolas"&gt;&lt;font color="#0000ff" size="2" face="Consolas"&gt;CREATE SESSION&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2" face="Consolas"&gt;&lt;font size="2" face="Consolas"&gt;        &lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2" face="Consolas"&gt;&lt;font color="#0000ff" size="2" face="Consolas"&gt;&lt;font color="#0000ff" size="2" face="Consolas"&gt;MEASURE&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2" face="Consolas"&gt;&lt;font size="2" face="Consolas"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;'Internet Sales'&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2" face="Consolas"&gt;&lt;font size="2" face="Consolas"&gt;[Internet Total Sales] = &lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2" face="Consolas"&gt;&lt;font color="#800000" size="2" face="Consolas"&gt;&lt;font color="#800000" size="2" face="Consolas"&gt;SUM&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2" face="Consolas"&gt;&lt;font size="2" face="Consolas"&gt;([Sales Amount])       &lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2" face="Consolas"&gt;&lt;font color="#0000ff" size="2" face="Consolas"&gt;&lt;font color="#0000ff" size="2" face="Consolas"&gt;MEASURE&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2" face="Consolas"&gt;&lt;font size="2" face="Consolas"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;'Internet Sales'&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2" face="Consolas"&gt;&lt;font size="2" face="Consolas"&gt;[Internet Total Product Cost] = &lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2" face="Consolas"&gt;&lt;font color="#800000" size="2" face="Consolas"&gt;&lt;font color="#800000" size="2" face="Consolas"&gt;SUM&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2" face="Consolas"&gt;&lt;font size="2" face="Consolas"&gt;([Total Product Cost])       &lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2" face="Consolas"&gt;&lt;font color="#0000ff" size="2" face="Consolas"&gt;&lt;font color="#0000ff" size="2" face="Consolas"&gt;MEASURE&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2" face="Consolas"&gt;&lt;font size="2" face="Consolas"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;'Internet Sales'&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2" face="Consolas"&gt;&lt;font size="2" face="Consolas"&gt;[Internet Total Margin] = [Internet Total Sales] - [Internet Total Product Cost]&lt;/font&gt;         &lt;/font&gt;&lt;/p&gt;&lt;p&gt;At this point, you can reference the measures you defined in your DAX query:&lt;/p&gt; &lt;font color="#0000ff" size="2" face="Consolas"&gt;&lt;font color="#0000ff" size="2" face="Consolas"&gt;&lt;font color="#0000ff" size="2" face="Consolas"&gt;       &lt;p&gt;EVALUATE         &lt;br&gt;SUMMARIZE&lt;/p&gt;     &lt;/font&gt;&lt;/font&gt;&lt;font size="2" face="Consolas"&gt;&lt;font size="2" face="Consolas"&gt;(        &lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Internet Sales'&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2" face="Consolas"&gt;&lt;font size="2" face="Consolas"&gt;,       &lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Date'&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2" face="Consolas"&gt;&lt;font size="2" face="Consolas"&gt;[Calendar Year],       &lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Sales"&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2" face="Consolas"&gt;&lt;font size="2" face="Consolas"&gt;, &lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;'Internet Sales'&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2" face="Consolas"&gt;&lt;font size="2" face="Consolas"&gt;[Internet Total Sales],       &lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Cost"&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2" face="Consolas"&gt;&lt;font size="2" face="Consolas"&gt;, &lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;'Internet Sales'&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2" face="Consolas"&gt;&lt;font size="2" face="Consolas"&gt;[Internet Total Product Cost],       &lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Margin"&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2" face="Consolas"&gt;&lt;font size="2" face="Consolas"&gt;, &lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;'Internet Sales'&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2" face="Consolas"&gt;&lt;font size="2" face="Consolas"&gt;[Internet Total Margin]&amp;nbsp; &lt;br&gt;)&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;  &lt;p&gt;I’d be interested to hear whether you find some scenario in which it is useful using this feature!&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Consolas"&gt;&lt;font size="2" face="Consolas"&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=41953" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/Analysis+Services/default.aspx">Analysis Services</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/BISM/default.aspx">BISM</category><category domain="http://sqlblog.com/blogs/marco_russo/archive/tags/Tabular/default.aspx">Tabular</category></item></channel></rss>