<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Gobán Saor &#187; olap</title>
	<atom:link href="http://blog.gobansaor.com/category/olap/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.gobansaor.com</link>
	<description>A country datasmith.</description>
	<lastBuildDate>Fri, 27 Jan 2012 10:22:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='blog.gobansaor.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/67e164f5d51c2b3115a7819b84505c13?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Gobán Saor &#187; olap</title>
		<link>http://blog.gobansaor.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://blog.gobansaor.com/osd.xml" title="Gobán Saor" />
	<atom:link rel='hub' href='http://blog.gobansaor.com/?pushpress=hub'/>
		<item>
		<title>DAX Table Queries in Excel</title>
		<link>http://blog.gobansaor.com/2011/09/15/dax-table-queries-in-excel/</link>
		<comments>http://blog.gobansaor.com/2011/09/15/dax-table-queries-in-excel/#comments</comments>
		<pubDate>Thu, 15 Sep 2011 11:24:07 +0000</pubDate>
		<dc:creator>gobansaor</dc:creator>
				<category><![CDATA[DAX]]></category>
		<category><![CDATA[DAX v SQL]]></category>
		<category><![CDATA[Denali CTP3]]></category>
		<category><![CDATA[ETL]]></category>
		<category><![CDATA[excel]]></category>
		<category><![CDATA[olap]]></category>
		<category><![CDATA[PowerPivot]]></category>
		<category><![CDATA[DAX Table Query]]></category>

		<guid isPermaLink="false">http://blog.gobansaor.com/?p=2144</guid>
		<description><![CDATA[Although the discovery of what Rob Collie calls a live specimen of Bigfoot itself i.e. automated refresh of PowerPivot models from VBA is indeed welcome, the activities that led to its discovery were intended to serve a different purpose, namely the use of &#8230; <a href="http://blog.gobansaor.com/2011/09/15/dax-table-queries-in-excel/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gobansaor.com&amp;blog=110633&amp;post=2144&amp;subd=gobansaor&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.gobansaor.com/2011/09/15/dax-table-queries-in-excel/dax_example_define_evaluate-2/" rel="attachment wp-att-2159"><img class="alignleft size-medium wp-image-2159" title="Dax_Example_Define_Evaluate" src="http://gobansaor.files.wordpress.com/2011/09/dax_example_define_evaluate1.png?w=300&#038;h=132" alt="" width="300" height="132" /></a>Although the discovery of what Rob Collie calls <a href="http://www.powerpivotpro.com/2011/09/powerpivot-refresh-thru-vba-at-last/">a live specimen of Bigfoot itself</a> i.e. <a href="http://blog.gobansaor.com/2011/09/09/hammering-away-at-automated-powerpivot-refresh/">automated refresh of PowerPivot models from VBA</a> is indeed welcome, the activities that led to its discovery were intended to serve a different purpose, namely the use of <a href="http://msdn.microsoft.com/en-us/library/ee634396(v=SQL.110).aspx">DAX table queries</a> in Excel.</p>
<p>Dax table queries are a new feature of DAX (part of the Denali PowerPivot upgrade) that in my opinion takes the DAX language away from its (very useful) pivot table birth-place and makes it a truly powerful alternative to SQL/MDX for analytical reporting.</p>
<p>It was <a href="http://cwebbbi.wordpress.com/category/dax/">Chris Webb&#8217;s excellent  series of articles on DAX</a> that first wetted my appetite for this feature and then hinted that it could be accessed from Excel and ultimately automated if need be.</p>
<p>An so it can, the VBA code that I used to query DMVs and send XMLA process commands to refresh the PowerPivot model can also be used for MDX and DAX tabular queries.</p>
<p>And it gets better; you don&#8217;t need to use code to do this, there&#8217;s a very simple trick which will expose this functionality in plain Excel.</p>
<p>This trick only applies to Denali as it takes advantage of one of Denali&#8217;s most welcome new features, show detail (aka drill-thru). (An alternative method which can be used in PowerPivot V1 <a href="http://cwebbbi.wordpress.com/2011/02/23/querying-powerpivot-dmvs-from-excel/">is detailed here </a> - if using V1, only DMV and MDX queries would be possible).</p>
<p>First thing to do is (in a PowerPivot Denali powered workbook) make a pivot table (doesn&#8217;t matter of what), such as this &#8230;</p>
<p><a href="http://blog.gobansaor.com/2011/09/15/dax-table-queries-in-excel/drill-thru/" rel="attachment wp-att-2145"><img class="aligncenter size-full wp-image-2145" title="drill-thru" src="http://gobansaor.files.wordpress.com/2011/09/drill-thru.png?w=500" alt=""   /></a>&#8230; then right-click and show-detail on any measure cell, which should result in a new sheet with a Excel table showing the drill-through, like so &#8230;</p>
<p><a href="http://blog.gobansaor.com/2011/09/15/dax-table-queries-in-excel/drilled/" rel="attachment wp-att-2146"><img class="aligncenter size-full wp-image-2146" title="drilled" src="http://gobansaor.files.wordpress.com/2011/09/drilled.png?w=500&#038;h=143" alt="" width="500" height="143" /></a></p>
<p>&#8230; if you then right-click, pick Tables and then Edit Query, you&#8217;ll see the MDX query associated with the table &#8230;</p>
<p><a href="http://blog.gobansaor.com/2011/09/15/dax-table-queries-in-excel/edit_connection/" rel="attachment wp-att-2147"><img class="aligncenter size-full wp-image-2147" title="edit_connection" src="http://gobansaor.files.wordpress.com/2011/09/edit_connection.png?w=500&#038;h=203" alt="" width="500" height="203" /></a></p>
<p>&#8230; you&#8217;re now free to edit this query, replacing it with whatever takes your fancy, here&#8217;s an MDX tabular query &#8230;</p>
<p><a href="http://blog.gobansaor.com/2011/09/15/dax-table-queries-in-excel/mdx_query/" rel="attachment wp-att-2148"><img class="aligncenter size-full wp-image-2148" title="mdx_query" src="http://gobansaor.files.wordpress.com/2011/09/mdx_query.png?w=500&#038;h=238" alt="" width="500" height="238" /></a></p>
<p>&#8230; you can also issue DMV queries such as &#8220;Select * from [Model].[$InvoiceHeaders]&#8221; or its equivalent DAX table query &#8230;</p>
<p><a href="http://blog.gobansaor.com/2011/09/15/dax-table-queries-in-excel/dax_example/" rel="attachment wp-att-2149"><img class="aligncenter size-full wp-image-2149" title="DAX_example" src="http://gobansaor.files.wordpress.com/2011/09/dax_example.png?w=500&#038;h=229" alt="" width="500" height="229" /></a></p>
<p>Note: both the DMV and DAX &#8216;dump a dimension&#8217; are unlikely to work for very large tables (such as a multi-million row facts) unless you have loads of free memory and the ability to use it (i.e. 64 bit), without triggering a &#8220;could not allocate memory error&#8221;.</p>
<p>DAX is not limited to DMV type queries but can be used to express very complex OLAP queries, Being able to define new  temporary just-in-time Measures (and Variables) for use within a particular queries will help not just to produce the result required, but will make DAX easier to master for newcomers.</p>
<p><del>The current version of <a href="http://www.gobansaor.com/microetl">HAMMER</a> only allows DMV and MDX queries as it restricts the &#8220;ADO&#8221; command  to &#8220;SELECT&#8221; statements; the next release will remedy that.</del></p>
<p>I&#8217;m at present working on an example of using HAMMER to build a DMV/MDX/DAX Web Service such as I did with MicroETL in P<a href="http://blog.gobansaor.com/2011/02/12/python-powered-powerpivot/">ython-Powered PowerPivot</a>. This time using IronPython and the .NET&#8217;s HttpListener and simply passing the queries straight-through to PowerPivot without any need for Excel Pivot Table involvement.  So stay tuned &#8230; Update: <a href="http://blog.gobansaor.com/2011/09/21/exposing-an-excel-powerpivot-model-as-a-web-service/">(here it is)</a></p>
<a href='http://twitter.com/gobansaor' class='twitter-follow-button' data-text-color='#333333' data-link-color='#0060ff'>Follow @gobansaor</a>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gobansaor.wordpress.com/2144/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gobansaor.wordpress.com/2144/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gobansaor.wordpress.com/2144/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gobansaor.wordpress.com/2144/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gobansaor.wordpress.com/2144/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gobansaor.wordpress.com/2144/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gobansaor.wordpress.com/2144/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gobansaor.wordpress.com/2144/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gobansaor.wordpress.com/2144/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gobansaor.wordpress.com/2144/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gobansaor.wordpress.com/2144/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gobansaor.wordpress.com/2144/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gobansaor.wordpress.com/2144/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gobansaor.wordpress.com/2144/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gobansaor.com&amp;blog=110633&amp;post=2144&amp;subd=gobansaor&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.gobansaor.com/2011/09/15/dax-table-queries-in-excel/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<georss:point>53.204039 -6.574340</georss:point>
		<geo:lat>53.204039</geo:lat>
		<geo:long>-6.574340</geo:long>
		<media:content url="http://1.gravatar.com/avatar/b714f82b5e24beb3b74779615b6ad969?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">gobansaor</media:title>
		</media:content>

		<media:content url="http://gobansaor.files.wordpress.com/2011/09/dax_example_define_evaluate1.png?w=300" medium="image">
			<media:title type="html">Dax_Example_Define_Evaluate</media:title>
		</media:content>

		<media:content url="http://gobansaor.files.wordpress.com/2011/09/drill-thru.png" medium="image">
			<media:title type="html">drill-thru</media:title>
		</media:content>

		<media:content url="http://gobansaor.files.wordpress.com/2011/09/drilled.png" medium="image">
			<media:title type="html">drilled</media:title>
		</media:content>

		<media:content url="http://gobansaor.files.wordpress.com/2011/09/edit_connection.png" medium="image">
			<media:title type="html">edit_connection</media:title>
		</media:content>

		<media:content url="http://gobansaor.files.wordpress.com/2011/09/mdx_query.png" medium="image">
			<media:title type="html">mdx_query</media:title>
		</media:content>

		<media:content url="http://gobansaor.files.wordpress.com/2011/09/dax_example.png" medium="image">
			<media:title type="html">DAX_example</media:title>
		</media:content>
	</item>
		<item>
		<title>DAX the new noSQL?</title>
		<link>http://blog.gobansaor.com/2011/07/20/dax-the-new-nosql/</link>
		<comments>http://blog.gobansaor.com/2011/07/20/dax-the-new-nosql/#comments</comments>
		<pubDate>Wed, 20 Jul 2011 14:12:56 +0000</pubDate>
		<dc:creator>gobansaor</dc:creator>
				<category><![CDATA[data]]></category>
		<category><![CDATA[DAX]]></category>
		<category><![CDATA[DAX v SQL]]></category>
		<category><![CDATA[ETL]]></category>
		<category><![CDATA[excel]]></category>
		<category><![CDATA[olap]]></category>
		<category><![CDATA[PowerPivot]]></category>
		<category><![CDATA[DAX noSQL]]></category>
		<category><![CDATA[NoSQL]]></category>

		<guid isPermaLink="false">http://blog.gobansaor.com/?p=1995</guid>
		<description><![CDATA[In my previous post Dax the new SQL I argued that perhaps DAX would replace SQL as the database query language, in particular for those I term &#8220;civilian datasmiths&#8221;. But perhaps I should have hailed DAX as a new contender &#8230; <a href="http://blog.gobansaor.com/2011/07/20/dax-the-new-nosql/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gobansaor.com&amp;blog=110633&amp;post=1995&amp;subd=gobansaor&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.gobansaor.com/2011/07/20/dax-the-new-nosql/nosql-clear/" rel="attachment wp-att-1998"><img class="alignleft size-full wp-image-1998" title="nosql" src="http://gobansaor.files.wordpress.com/2011/07/nosql-clear.png?w=500" alt=""   /></a>In my previous post <a href="http://blog.gobansaor.com/2011/07/14/dax-the-new-sql/">Dax the new SQL</a> I argued that perhaps DAX would replace SQL as the database query language, in particular for those I term &#8220;civilian datasmiths&#8221;. But perhaps I should have hailed DAX as a new contender in the world of <a class="zem_slink" title="NoSQL" href="http://en.wikipedia.org/wiki/NoSQL" rel="wikipedia">noSQL</a>.</p>
<p>When I started in this business in the late 1970s, the database world I encountered was a noSQL one. Database structures were in the main laid out by <a class="zem_slink" title="Database administrator" href="http://en.wikipedia.org/wiki/Database_administrator" rel="wikipedia">DBAs</a> using either hierarchical (e.g. <a href="http://en.wikipedia.org/wiki/MUMPS">MUMPS</a>) or network topologies (the various <a class="zem_slink" title="CODASYL" href="http://en.wikipedia.org/wiki/CODASYL" rel="wikipedia">CODASYL</a> offerings). Programmers would then navigate these predetermined access paths using a cacophony of APIs and query languages. It worked quite well, and if fact many developers found the move to a SQL world difficult, as they regarded the pure relational model to be sub-optimal when developing applications (and many still do!).</p>
<p>But there were two main problems with such databases:</p>
<ul>
<li>Although the pre-defined access paths worked well for development, they were often next to useless for downstream reporting, which usually meant that data had to be dumped to files for &#8220;reshaping&#8221; and de-normalisation, with resulting flattened data often being consumed by early end-user reporting tools such as <a class="zem_slink" title="DATATRIEVE" href="http://en.wikipedia.org/wiki/DATATRIEVE" rel="wikipedia">Datatrieve</a>. (Sound familiar?)</li>
<li>Likewise, although the original data design tended to be ideal for the original application design, downstream changes in requirements were not easy to incorporate. DBAs were busy, expensive and usually very grumpy, which meant that many enhancements, as with their reporting cousins, had to make do with using external files.</li>
</ul>
<p>The SQL era was a huge improvement. Nevertheless, many developers found the <em><a href="http://en.wikipedia.org/wiki/Object-relational_impedance_mismatch">impedance mismatch</a></em> between this <em>relational</em> SQL world and their own  &#8221;networked&#8221;  object-oriented world to be a continuing problem, leading to the constant search for the perfect <a class="zem_slink" title="Object-relational mapping" href="http://en.wikipedia.org/wiki/Object-relational_mapping" rel="wikipedia">ORM</a> and eventually the re-emergence of noSQL database engines.</p>
<p>PowerPivot&#8217;s <a href="http://www.msbicentral.com/Resources/Articles/tabid/88/articleType/ArticleView/articleId/116/So-what-exactly-is-the-Vertipaq-engine.aspx">VertiPaq engine </a>is one of these new noSQL databases. It resembles those pre-SQL databases in that its access and relationships paths are largely determined not by its DAX query language but by whoever builds the database in the 1st place. The big difference is of course, PowerPivot&#8217;s primary (and only) use-case is reporting while most  databases have in the past targeted system datastorage as their primary purpose in life, with reporting as a by-the-way. The other difference is that the creators of PowerPivot &#8220;databases&#8221; are less likely to be DBAs and more likely to be end-users or at least those in IT, like data/business analysts, who are close to the business i.e. more common on the ground, less expensive and hopefully less grumpy. Indeed many civilian DAX practitioners will have the luxury of being able to populate their reporting models with suitable datasets that have already been constructed by existing data warehousing systems.</p>
<p>It&#8217;s this separation of filtering- aggregation-transformation from topology that I think will help endear DAX to a less technical audience that has been the case with SQL. MDX also had this concept, but the underlying &#8220;more natural&#8221; tabular nature (business users live by lists!) that DAX builds on, will I think,be easier for many to engage with.</p>
<p>I used &#8220;I think&#8221; at lot in the previous paragraph as it&#8217;s very difficult for somebody like myself (a professional programmer and veteran of many a database mind-share war) to know how non-technical folks will actually view something like DAX. Although my career has been one largely based on business-user interaction, I&#8217;m still a techie at heart.</p>
<p>So what do you civilian datasmiths think? DAX, yep I&#8217;ll learn it, or nah, that&#8217;s what those geeks down in the basement are for!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gobansaor.wordpress.com/1995/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gobansaor.wordpress.com/1995/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gobansaor.wordpress.com/1995/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gobansaor.wordpress.com/1995/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gobansaor.wordpress.com/1995/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gobansaor.wordpress.com/1995/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gobansaor.wordpress.com/1995/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gobansaor.wordpress.com/1995/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gobansaor.wordpress.com/1995/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gobansaor.wordpress.com/1995/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gobansaor.wordpress.com/1995/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gobansaor.wordpress.com/1995/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gobansaor.wordpress.com/1995/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gobansaor.wordpress.com/1995/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gobansaor.com&amp;blog=110633&amp;post=1995&amp;subd=gobansaor&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.gobansaor.com/2011/07/20/dax-the-new-nosql/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<georss:point>53.204039 -6.574340</georss:point>
		<geo:lat>53.204039</geo:lat>
		<geo:long>-6.574340</geo:long>
		<media:content url="http://1.gravatar.com/avatar/b714f82b5e24beb3b74779615b6ad969?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">gobansaor</media:title>
		</media:content>

		<media:content url="http://gobansaor.files.wordpress.com/2011/07/nosql-clear.png" medium="image">
			<media:title type="html">nosql</media:title>
		</media:content>
	</item>
		<item>
		<title>DAX the new SQL?</title>
		<link>http://blog.gobansaor.com/2011/07/14/dax-the-new-sql/</link>
		<comments>http://blog.gobansaor.com/2011/07/14/dax-the-new-sql/#comments</comments>
		<pubDate>Thu, 14 Jul 2011 15:59:07 +0000</pubDate>
		<dc:creator>gobansaor</dc:creator>
				<category><![CDATA[DAX]]></category>
		<category><![CDATA[DAX v SQL]]></category>
		<category><![CDATA[Denali CTP3]]></category>
		<category><![CDATA[ETL]]></category>
		<category><![CDATA[olap]]></category>
		<category><![CDATA[PowerPivot]]></category>

		<guid isPermaLink="false">http://blog.gobansaor.com/?p=1958</guid>
		<description><![CDATA[The latest version of the technology stack behind PowerPivot (&#8220;Denali&#8221; CTP3) is now available for download. This expands the technology significantly, with the VertiPaq engine taking on an equal role within SQL Server AS alongside the traditional OLAP engine (and it&#8217;s &#8230; <a href="http://blog.gobansaor.com/2011/07/14/dax-the-new-sql/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gobansaor.com&amp;blog=110633&amp;post=1958&amp;subd=gobansaor&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.gobansaor.com/2011/07/14/dax-the-new-sql/powerpivotlogo-clear-2/" rel="attachment wp-att-1962"><img class="alignleft size-full wp-image-1962" title="powerpivotLogo-clear" src="http://gobansaor.files.wordpress.com/2011/07/powerpivotlogo-clear.png?w=500" alt=""   /></a>The latest version of the technology stack behind <a href="http://www.microsoft.com/download/en/details.aspx?id=26721">PowerPivot (&#8220;Denali&#8221; CTP3) is now available for download</a>. This expands the technology significantly, with the<a href="http://prologika.com/CS/blogs/blog/archive/2010/11/15/bism-column-store.aspx"> VertiPaq</a> engine taking on an equal role within SQL Server AS alongside the traditional OLAP engine (and it&#8217;s clear the intention is for this new &#8220;tabular&#8221; BI approach to eventually replace its venerable OLAP cousin).</p>
<p>Of course, tabular BI (aka reporting) is not new, it was and still remains the primary reporting framework for most. Pure OLAP has always been a minority sport (admittedly a well funded and very successful one). Relational datastores hold most of the world&#8217;s business data, so naturally those seeking  to report and analyse this data tend to opt for relational tools. Most such tools are SQL driven, whether  hand-written or generated, the 40 year old query language is still master of its own house.</p>
<p>Microsoft&#8217;s <a class="zem_slink" title="MultiDimensional eXpressions" href="http://en.wikipedia.org/wiki/MultiDimensional_eXpressions" rel="wikipedia">MDX</a> language attempted to create an alternative to SQL for BI reporting. From a purely technical point of view it has succeeded, MDX can model every conceivable reporting requirement but its ability to replace SQL was always going to be hampered by:</p>
<ul>
<li>The need to build an intermediate non-relational model to operate on i.e.<a href="http://en.wikipedia.org/wiki/OLAP_cube"> OLAP hypercubes.</a> This is not to say that OLAP models are not a useful way of modelling a business problem, for certain requirements, top-down budgeting, for example, they&#8217;re ideal; but for the other 90% of reporting requirements, a relational model works as well if not better and has the advantage of reducing the &#8220;impedance mismatch&#8221; between the operational and reporting models.</li>
<li>MDX is a very difficult language to master, at least compared to SQL. It surpasses SQL in it ability to frame a complex query, but if expecting &#8220;civilian datasmiths&#8221; to learn SQL was perhaps a realisable dream, expecting end-user MDX mastery was always a pipe-dream. MDX is, and will remain, the preserve of professional programmers (or auto-generated by the query tools built by such professionals).</li>
</ul>
<p>Ah, but could not the same be said of relational based reporting efforts; star-schemas  are logically different from OLTP models, SQL also remains largely the preserve of professionals? Yes, the necessity to create a separate model, adds a level of friction to the process, but the reasoning behind creating star-schemas is to simplify the complex SQL that would otherwise be required to access complex OLTP schemas (and most schema are complex these days as bespoke data models have been replaced with models that support highly generic packaged solutions).</p>
<p>Pure star-schemas (i.e central unified fact table surrounded by a single layer of conformed dimensions) also made it easier for RDBMs to add suitable indexing structures and optimisers to enable fast query responses. In-memory columnar stores such as VertiPaq negate some of the performance reasoning for employing pure stars (the primary simplification reason remains) enabling a return to more &#8220;natural&#8221; snow-flaked schemas and dis-jointed fact tables (e.g. order-header &amp; order-line rather than a denormalised order-line-fact).</p>
<p>What about SQL then?Although the Q is SQL stands for Query, SQL failed to capture the heart and minds of those who undoubtedly could have benefited from its query power due to the lack of easy to declare powerful query expressions. This may seem a strange thing to say, as anybody who has fully mastered SQL and understands OLTP design principles will tell you that nearly any query is possible using pure SQL. And is SQL not easy to learn?  Yes it is, and for say ETL tasks the level of SQL mastery required is not the great, but once you stray into the world of cross-table reporting, time windows, complex aggregations, most civilians will abandon the effort and revert back to using sub-optimal spreadsheet techniques, often patching  together solutions that are both costly and fragile.</p>
<p>This is where I think DAX will shine. The language has the potential to pick up where SQL faltered and MDX overshot, a query/reporting language that will empower both professionals and end-users. Easier to learn that SQL for low-hanging fruit, but with the power of MDX (but within easier reach) for those complex, but high-return, queries.</p>
<p>But will civilians invest the time to master DAX or will it become yet another SQL or MDX, largely confined to IT? I think it has a fighting chance mainly due to its close relationship with Excel. SQL always felt like a subject best learned in a university lecture hall, while DAX 101 could easily become a night-class at your local adult-education centre this autumn.</p>
<p>I haven&#8217;t had a chance to fully investigate the new features of PowerPivot in Excel yet, but one new feature that&#8217;s going to help PowerPivot become the default way data analysts build pivot tables (and hence drive the adoption of DAX) is the ability to show details (aka drill-thru). Another, is the ability to sort columns using another column (e..g. show Month Name but sort by Month Number). Both of these may seem trivial compared to the other deep-technical changes such as the ability to natively host PowerPivot models in SQL Server (i.e. no need for SharePoint). But these two features where major missings for those who depend on &#8220;normal&#8221; pivot tables for dashboarding and discovery purposes.</p>
<p>Other new features that caught my attention where:</p>
<ul>
<li>New relational functions: CROSSJOIN, GENERATE (Join), GENERATEALL ( Left Outer Join) and SUMMARIZE (Group by).</li>
<li>Ability to generate hierarchies, and functions to navigate such hierarchies.</li>
<li>Ability to handle multiple relationships between tables (via functions that can define a new relationship at calculation time). This will allow for &#8220;roles&#8221; such as using billing date for one measure and order date for another.</li>
<li>Removal of restriction on fact table date dimension foreign keys being of type Date. Will make direct import of many data warehouse star schemas much easier (most traditional DW star schemas use integer surrogate foreign keys).</li>
<li>New &#8220;programming&#8221; helpers such as SWITCH and HASONEVALUE, will make construction and interpretation of complex measures easier .</li>
</ul>
<p>So what do you think,? DAX, new dawn or old wine in new bottle?</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gobansaor.wordpress.com/1958/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gobansaor.wordpress.com/1958/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gobansaor.wordpress.com/1958/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gobansaor.wordpress.com/1958/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gobansaor.wordpress.com/1958/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gobansaor.wordpress.com/1958/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gobansaor.wordpress.com/1958/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gobansaor.wordpress.com/1958/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gobansaor.wordpress.com/1958/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gobansaor.wordpress.com/1958/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gobansaor.wordpress.com/1958/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gobansaor.wordpress.com/1958/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gobansaor.wordpress.com/1958/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gobansaor.wordpress.com/1958/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gobansaor.com&amp;blog=110633&amp;post=1958&amp;subd=gobansaor&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.gobansaor.com/2011/07/14/dax-the-new-sql/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<georss:point>53.204039 -6.574340</georss:point>
		<geo:lat>53.204039</geo:lat>
		<geo:long>-6.574340</geo:long>
		<media:content url="http://1.gravatar.com/avatar/b714f82b5e24beb3b74779615b6ad969?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">gobansaor</media:title>
		</media:content>

		<media:content url="http://gobansaor.files.wordpress.com/2011/07/powerpivotlogo-clear.png" medium="image">
			<media:title type="html">powerpivotLogo-clear</media:title>
		</media:content>
	</item>
		<item>
		<title>Excel in Data</title>
		<link>http://blog.gobansaor.com/2010/11/02/excel-in-data/</link>
		<comments>http://blog.gobansaor.com/2010/11/02/excel-in-data/#comments</comments>
		<pubDate>Tue, 02 Nov 2010 16:47:19 +0000</pubDate>
		<dc:creator>gobansaor</dc:creator>
				<category><![CDATA[ETL]]></category>
		<category><![CDATA[excel]]></category>
		<category><![CDATA[olap]]></category>
		<category><![CDATA[Palo]]></category>
		<category><![CDATA[PowerPivot]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[SQLite]]></category>
		<category><![CDATA[Talend]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[micro ETL]]></category>

		<guid isPermaLink="false">http://blog.gobansaor.com/?p=1196</guid>
		<description><![CDATA[My speciality is data, more specifically, data at the edges. Data that has been extracted from, or needs to be generated outside of, formal systems. Such data tends to be the extremely valuable and useful, but only if shaped into &#8230; <a href="http://blog.gobansaor.com/2010/11/02/excel-in-data/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gobansaor.com&amp;blog=110633&amp;post=1196&amp;subd=gobansaor&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://gobansaor.files.wordpress.com/2010/11/excelindata-logo.png"><img class="alignleft size-full wp-image-1202" title="Excel In Data" src="http://gobansaor.files.wordpress.com/2010/11/excelindata-logo.png?w=500" alt=""   /></a>My speciality is data, more specifically, data at the edges. Data that has been extracted from, or needs to be generated outside of, formal systems. Such data tends to be the extremely valuable and useful, but only if shaped into a format that has meaning to those who can use and analyse it. I&#8217;ve been extracting, marshalling and shaping such data for most of my 30 years in the IT business, I&#8217;m a datasmith.</p>
<p>The technical term for what I do is<a href="http://blog.gobansaor.com/2010/08/20/micro-etl-in-the-powerpivot-age/"> ETL (Extract, Transform &amp; Load)</a>. It&#8217;s the name given to the skill-set and tools associated with the movement of datasets. It&#8217;s the unglamorous, but essential backbone, to a whole range of IT deliverables: Data Warehousing, BI (Business Intelligence), Planning &amp; Forecasting, New System Commissioning, Systems Integration.</p>
<p>In the past my skills would only have been of use to large IT departments, as major &#8220;data shaping&#8221; activities such as BI &amp; data warehousing were &#8220;owned&#8221; by IT; small businesses and departmental workgroups were outside the loop except as providers of requirements (and money) and as long-suffering &#8220;end users&#8221;.</p>
<p>This alienation from the process of data shaping and the need to simply &#8220;get things done&#8221; led to the evolution of<a href="http://blog.gobansaor.com/2009/10/25/excel-as-the-ipod-of-downloaded-data/"> &#8220;shadow IT&#8221;, usually involving Excel is some form or another</a>. Although many attempts have been made to control and tame this wild-west of data creation and consumption, they&#8217;ve largely failed. With good reason, the best people to get value out of data are those who depend on and generate the data in the first place.</p>
<p>Microsoft has long recognised this and has over the years improved Excel&#8217;s ability to handle and pivot lists (<a href="http://blog.gobansaor.com/2007/03/03/tables-vs-xml-the-data-lingua-franca-debate/">aka tables, the primary data artefacts of business</a>). Excel&#8217;s PivotTable is undoubtedly the world&#8217;s primary BI tool.</p>
<p>Microsoft has, with Excel 2010, introduced an even more powerful end-user pivoting tool, the free <a href="http://www.powerpivot.com/">PowerPivot add-in</a>. The world of self-service data analysis has changed for ever; not only can PowerPivot handle enormous amounts of data but it enables end-users and data analysts alike to build highly complex analytical models at a fraction of their previous cost.</p>
<p>PowerPivot offers the greatest returns to those organisations or individuals who have:</p>
<ul>
<li>access to report-friendly data sources, such as those provided by existing data warehouses.</li>
<li>The resources to purchase and maintain an Enterprise SharePoint farm (backed by Enterprise SQLServer) allowing PowerPiviot dashboards to be shared (and controlled) via a web interface. Such infrastructure, although ideal, comes with an expensive price tag.</li>
</ul>
<p>So, if your organisation or your team is missing one or both of the above is PowerPivot not for you?</p>
<p>Far from it, <a href="http://blog.gobansaor.com/2010/08/11/power-pivot-to-the-people/">PowerPivot is still extremely useful without either</a>. Data that&#8217;s not in the ideal format can still provide useful analyses, and both Excel and PowerPivot can help cleanse such data. Likewise, just like an ordinary workbook, a PowerPivot workbook can be emailed or placed on a shared drive (all the supporting data is embedded in the .xlsx file). The only problem is, the time and resources associated with this activity can be substantial if you don&#8217;t have the &#8216;micro ETL&#8217;  and general Excel VBA skills to help automate it. This is where I can help.</p>
<div>
<p>I&#8217;ve both the skills and the tools to build a rock-solid Excel-based ETL back-end for your PowerPivot projects. This can be as simple as a &#8220;good enough&#8221; data shaping automation for a single PowerPivot cube or a sophisticated &#8216;micro-Data Warehouse&#8217; which would act as a foundation for a more long-term self-service BI strategy. The only software product you&#8217;ll need to purchase is Excel, I&#8217;ll provide the rest. Most of the time Excel 2010&#8242;s  &amp; Powerpivot&#8217;s in-built ETL capabilities, automated with some VBA, will be all that is required but when more &#8216;firepower&#8217; is required:</p>
<ul>
<li><span style="font-size:small;"><span style="font-size:13px;line-height:22px;">I&#8217;ve assembled my own <a href="http://www.gobansaor.com/xlite">Excel based ETL tool</a> specifically to enable me to quickly and cheaply build such micro-ETL solutions, it&#8217;s a collection of best-of-breed open-source tools (such as <a title="SQLite" rel="homepage" href="http://blog.gobansaor.com/2009/03/14/sqlite-as-the-mp3-of-data/">SQLite</a>) driven by, and integrated into Excel (versions 2000 &#8211; 2010, 32bit &amp; <a href="I've assembled my own Excel based ETL tool specifically to enable me to quickly and cheaply build such micro-ETL solutions, it's a collection of best-of-breed open-source tools (such as SQLite, Python, Javascript) driven by, and integrated into, Excel">64bit</a>).<br />
</span></span></li>
<li><span style="font-size:small;"><span style="font-size:13px;line-height:22px;">I can call on <a href="http://www.palo.net/en/">Palo OLAP</a> (an open source, Excel focused budgeting &amp; forecasting tool)</span></span></li>
<li><span style="font-size:small;"><span style="font-size:13px;line-height:22px;"> </span></span>and on <a href="//www.talend.com/index.php">Talend</a>, a leading open source ETL and data-management suite.</li>
</ul>
<p>I can also automate the work-flows and non-ETL repetitive tasks associated with such projects. Tasks such as: generating questioners, marshalling and recording the resulting replies, generating non-PowerPivot workbook reports/pivots (remember, unlike previous versions, Excel 2010 can exist side-by-side with older versions of Office, only need to provide it to those who need its full power).</p>
<p>As for building PowerPivot cubes, I&#8217;ve a long background in the design &amp; delivery of <a href="http://en.wikipedia.org/wiki/ROLAP">ROLAP</a> &amp; <a href="http://en.wikipedia.org/wiki/MOLAP">MOLAP</a> solutions. PowerPivot is essentially a 3rd way of producing OLAP cubes, heavily influenced by the dimensional modelling technique commonly know as the <a href="http://blog.gobansaor.com/2010/07/09/star-schemas-to-boldly-go-where-no-excel-spreadsheet-has-gone-before/">star-schema</a>, but with the presentational simplicity of the Excel&#8217;s PivotTable and an Excel-like formula language (<a href="http://powerpivotpro.com/2009/11/15/introducing-powerpivot-dax-measures/">DAX</a>) bolted on. PowerPivot models built with an understanding of the usefulness of the star-schema approach will allow for richer and simpler data analystics. I can provide that knowledge or help you master it.</p>
<p>My involvement can be either on a &#8220;deliverable&#8221; basis, i.e. I deliver the required solution, usually fixed-price for a fixed deliverable or on a consultancy basis, where the &#8220;deliverable&#8221; is more an ongoing process and would often involve a degree of skills transfer.</p>
<p>I excel in data, with tools such as PowerPivot so can you.</p>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gobansaor.wordpress.com/1196/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gobansaor.wordpress.com/1196/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gobansaor.wordpress.com/1196/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gobansaor.wordpress.com/1196/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gobansaor.wordpress.com/1196/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gobansaor.wordpress.com/1196/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gobansaor.wordpress.com/1196/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gobansaor.wordpress.com/1196/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gobansaor.wordpress.com/1196/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gobansaor.wordpress.com/1196/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gobansaor.wordpress.com/1196/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gobansaor.wordpress.com/1196/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gobansaor.wordpress.com/1196/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gobansaor.wordpress.com/1196/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gobansaor.com&amp;blog=110633&amp;post=1196&amp;subd=gobansaor&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.gobansaor.com/2010/11/02/excel-in-data/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point>53.204039 -6.574340</georss:point>
		<geo:lat>53.204039</geo:lat>
		<geo:long>-6.574340</geo:long>
		<media:content url="http://1.gravatar.com/avatar/b714f82b5e24beb3b74779615b6ad969?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">gobansaor</media:title>
		</media:content>

		<media:content url="http://gobansaor.files.wordpress.com/2010/11/excelindata-logo.png" medium="image">
			<media:title type="html">Excel In Data</media:title>
		</media:content>
	</item>
		<item>
		<title>Star Schemas &#8211; to boldly go where no Excel spreadsheet has gone before</title>
		<link>http://blog.gobansaor.com/2010/07/09/star-schemas-to-boldly-go-where-no-excel-spreadsheet-has-gone-before/</link>
		<comments>http://blog.gobansaor.com/2010/07/09/star-schemas-to-boldly-go-where-no-excel-spreadsheet-has-gone-before/#comments</comments>
		<pubDate>Fri, 09 Jul 2010 17:50:10 +0000</pubDate>
		<dc:creator>gobansaor</dc:creator>
				<category><![CDATA[ETL]]></category>
		<category><![CDATA[excel]]></category>
		<category><![CDATA[olap]]></category>
		<category><![CDATA[Palo]]></category>
		<category><![CDATA[PowerPivot]]></category>
		<category><![CDATA[Star Schema]]></category>

		<guid isPermaLink="false">http://blog.gobansaor.com/?p=1038</guid>
		<description><![CDATA[Need help designing PowerPivot models  see  www.gobansaor.com/powerpivot One of the many things that delights me about PowerPivot is the central role played by the Star Schema. Those of you reading with a data-warehousing background would shrug your shoulders and say: &#8230; <a href="http://blog.gobansaor.com/2010/07/09/star-schemas-to-boldly-go-where-no-excel-spreadsheet-has-gone-before/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gobansaor.com&amp;blog=110633&amp;post=1038&amp;subd=gobansaor&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong> Need help designing PowerPivot models </strong><br />
<strong>see  <a href="http://www.gobansaor.com/powerpivot?star">www.gobansaor.com/powerpivot</a></strong></p>
<p><a href="http://gobansaor.files.wordpress.com/2010/07/star-ship.png"><img class="alignleft size-medium wp-image-1044" title="star-ship" src="http://gobansaor.files.wordpress.com/2010/07/star-ship.png?w=300&#038;h=296" alt="" width="300" height="296" /></a></p>
<p>One of the many things that delights me about <a href="http://powerpivot.com/">PowerPivot</a> is the central role played by the Star Schema. Those of you reading with a data-warehousing background would shrug your shoulders and say: &#8220;So what, what else would you expect to find at the core of a BI tool?&#8221;.</p>
<p>Those from an Excel PivotTable background would ask: &#8220;What&#8217;s a Star Schema, why do we need one,what&#8217;s wrong with a the good old-fashioned single flattened table?&#8221;.</p>
<p>Those from a classic <a href="http://en.wikipedia.org/wiki/MOLAP">MOLAP</a> background (<a class="zem_slink" title="Essbase" href="http://en.wikipedia.org/wiki/Essbase" rel="wikipedia">Essbase</a>, TM1, Palo) might also ask: &#8220;Why do we need this extra layer? Load the cube directly from the operational data model and get on with it!&#8221;.</p>
<p>A quick Q&amp;A is perhaps the best way for me to explain why star schema design is a powerful skill in a datasmith&#8217;s toolset.</p>
<p>First off, what&#8217;s a Star Schema?</p>
<p>A Star Schema (also know as the dimensional model) is a <a class="zem_slink" title="Denormalization" href="http://en.wikipedia.org/wiki/Denormalization" rel="wikipedia">denormalised</a> (flattened) data model used to simplify an operational (OLTP) data model to better accommodate reporting and what-if analysis.</p>
<p>At its simplest, it consists of a central fact table with links back to a &#8220;surrounding&#8221; set of dimensional tables, hence the star name. A variation is the snow-flake schema, where the dimensional tables are not fully denormalised (e.g. Product Category-&gt;Product-&gt;Fact instead of  Product-&gt;Fact).</p>
<p>The role of the fact table (besides being the table that hosts most of the <a href="http://en.wikipedia.org/wiki/Measure_(data_warehouse)">measure fields</a>) is to create linkages between dimensions (such as Customer, Product, Date) usually based on an actual transactional event (e.g. Invoice) or a proposed event (such as a Budget or Forecasted Sale). In effect, simplifying  the often complex work-flow-driving connections of a typical operational system by using a single many-to-many relationship (modern ERP/CRM systems&#8217; data models consist of scores of configurable many-to-many relationships).</p>
<p>Many wrongly believe the star-schema was adopted for performance reasons and now that in-memory OLAP is becoming the norm it&#8217;s no longer necessary to use dimensional modelling techniques. In fact, in the early days of data-warehousing, RDBMs had great difficulty efficiently handling star-queries (and some such as MySQL and <a href="http://blog.gobansaor.com/2007/08/30/sqlite-star-query/">SQLite, still do</a>).</p>
<p>The original primary purpose of the star schema was to simplify the SQL required to access reporting data; to make the model more approachable to non-technical users. Of course, even simple SQL was beyond the knowledge or interest of most end-users but a sizeable proportion were happy to do so (often helped by SQL &#8220;generators&#8221; such as MicroStratery or Business Objects). But even in situations where SQL-wielding civilians were not to be found, the simplicity of the dimensional models  proved to be a valuable aid when establishing and developing the warehouse data requirements. PowerPivot requires no SQL knowledge to manipulate the dimensional model which brings the original concept full-circle but this time opening its possibilities to a much wider audience.</p>
<p>But surely, concentrating on the actual reports would be a more valuable requirements gathering exercise?</p>
<p>A so called &#8220;bottom-up approach&#8221; is often the best way to approach a reporting request particularly if the reports are simple one-off &#8220;traditional&#8221; reports. But for self-service BI, this needs to be combined with a top-down dimensional design. The idea is not to build out each and every report or indeed cube but to build a structure that&#8217;ll support likely queries. The process of building a star schema provides both a logical model and a physical implementation of that model against which potential queries can be tested. I&#8217;ve worked on several <a href="http://en.wikipedia.org/wiki/Proof_of_concept">POC</a>s destined for implementation in Essbase where the star-schema was built and potential cubes mocked up using Excel PivotTables that subsequently never went any further (except for the star-schema ETL process). The end-users derived sufficient value from the denormalised star-schema pivoted and reported in Excel.</p>
<p>In traditional ROLAP data-warehouses where the cubes were built directly against star-schemas, the pure logical approach to the data model often had to take a back-seat to the necessity of fine-tuning it to make response times (be that <a href="http://en.wikipedia.org/wiki/Extract,_transform,_load">ETL</a> or user-pivoting) acceptable. This is why I much preferred situations where the star acted as a logical model from which MOLAP cubes were built.</p>
<p>With PowerPivot, <a href="http://en.wikipedia.org/wiki/ROLAP">ROLAP</a> has a new champion. The column-oriented high-compression in-memory architecture means that the compromises of the past are no longer necessary. The fact table reverts back to it primary role as a many-to-many connector. In a <a href="http://en.wikipedia.org/wiki/OLAP_cube">pure hypercube</a>, measures are just another dimension (the approach that <a href="http://www.palo.net/en/">Palo</a> takes), this is also now true of PowerPivot models; measures can be sourced from dimension tables and dimensions from fact tables as it logically should be, but without the performance hit of old.</p>
<p>But what&#8217;s the advantage of a star schema over a flattened table when using PowerPivot?</p>
<p>It is true that the same flattened table model as used to backend a PivotTable can be used within PowerPivot. But doing so would limit the potential of the <a href="http://technet.microsoft.com/en-us/library/ee835613.aspx">DAX language</a> to construct measures such as average sales spread over potential customers (rather than actual customers that would typically be represented on a flattened table). Also, by creating &#8220;conformed dimensions&#8221; (single cross-business views of Customer, Product etc.) and using such tables as dimensional sources for multiple fact tables, &#8220;virtual cubes&#8221; that combine values from multiple fact tables can be built.</p>
<p>If you&#8217;re new to dimensional modelling I&#8217;d recommend t<a href="http://www.kimballgroup.com/">he books &amp; articles of Ralph Kimbal</a> as good starting point. You do have to be aware that some of the advice regarding efficiency trade-offs, surrogate keys etc. do not  apply in a PowerPivot scenario (<a href="http://sqlblog.com/blogs/marco_russo/archive/2010/01/26/memory-considerations-about-powerpivot-for-excel.aspx">even though other performance issues still apply</a>) but the logical design tips still apply.</p>
<p>Star Schemas: to explore strange new conformed dimensions, to seek out new measures, to boldly go where no Excel spreadsheet has gone before.</p>
<p><a href="http://blog.gobansaor.com/2011/01/08/slowly-changing-dimensions-time-to-stop-worrying/">More on data modelling for PowerPivot &#8230;</a></p>
<p><strong>Need help designing PowerPivot models </strong><br />
<strong>see  <a href="http://www.gobansaor.com/powerpivot?star">www.gobansaor.com/powerpivot</a></strong></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gobansaor.wordpress.com/1038/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gobansaor.wordpress.com/1038/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gobansaor.wordpress.com/1038/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gobansaor.wordpress.com/1038/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gobansaor.wordpress.com/1038/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gobansaor.wordpress.com/1038/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gobansaor.wordpress.com/1038/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gobansaor.wordpress.com/1038/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gobansaor.wordpress.com/1038/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gobansaor.wordpress.com/1038/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gobansaor.wordpress.com/1038/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gobansaor.wordpress.com/1038/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gobansaor.wordpress.com/1038/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gobansaor.wordpress.com/1038/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gobansaor.com&amp;blog=110633&amp;post=1038&amp;subd=gobansaor&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.gobansaor.com/2010/07/09/star-schemas-to-boldly-go-where-no-excel-spreadsheet-has-gone-before/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		<georss:point>53.204039 -6.574340</georss:point>
		<geo:lat>53.204039</geo:lat>
		<geo:long>-6.574340</geo:long>
		<media:content url="http://1.gravatar.com/avatar/b714f82b5e24beb3b74779615b6ad969?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">gobansaor</media:title>
		</media:content>

		<media:content url="http://gobansaor.files.wordpress.com/2010/07/star-ship.png?w=300" medium="image">
			<media:title type="html">star-ship</media:title>
		</media:content>
	</item>
		<item>
		<title>TAG Cubes &#8211; SQLite Star Query Part III</title>
		<link>http://blog.gobansaor.com/2009/09/29/tag-cubes-sqlite-star-query-part-iii/</link>
		<comments>http://blog.gobansaor.com/2009/09/29/tag-cubes-sqlite-star-query-part-iii/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 13:36:16 +0000</pubDate>
		<dc:creator>gobansaor</dc:creator>
				<category><![CDATA[ETL]]></category>
		<category><![CDATA[excel]]></category>
		<category><![CDATA[olap]]></category>
		<category><![CDATA[Palo]]></category>
		<category><![CDATA[SQLite]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[xLite]]></category>
		<category><![CDATA[hypercube]]></category>
		<category><![CDATA[Mondrian]]></category>
		<category><![CDATA[TAG Cube]]></category>

		<guid isPermaLink="false">http://blog.gobansaor.com/?p=738</guid>
		<description><![CDATA[It&#8217;s no secret that I&#8217;m a huge fan of SQLite and Excel, particularly when used in combination. I also greatly admire the open source BI engines, Palo and Mondrian. Mondrian appeals because of its &#8220;ROLAP with a cache&#8221; architecture and &#8230; <a href="http://blog.gobansaor.com/2009/09/29/tag-cubes-sqlite-star-query-part-iii/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gobansaor.com&amp;blog=110633&amp;post=738&amp;subd=gobansaor&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s no secret that <a href="http://blog.gobansaor.com/2009/03/14/sqlite-as-the-mp3-of-data/">I&#8217;m a huge fan of SQLite</a> and Excel, particularly when used in combination. I also greatly admire the open source BI engines, <a href="www.jedox.com">Palo</a> and <a href="http://sourceforge.net/projects/mondrian/">Mondrian</a>. Mondrian appeals because of its &#8220;ROLAP with a cache&#8221; architecture and its implementation of MS&#8217;s excellent<a href="http://en.wikipedia.org/wiki/Multidimensional_Expressions"> </a><a href="http://en.wikipedia.org/wiki/Multidimensional_Expressions">MDX</a> language. When I say MDX is excellent I&#8217;m talking with my professional programmer&#8217;s hat on, as an end-user tool it&#8217;s a non-runner. This is where Palo comes in, building on the <a href="http://en.wikipedia.org/wiki/Hypercube">hypercube</a> concepts pioneered by the likes of  <a href="http://en.wikipedia.org/wiki/Applix">TM1</a> and <a href="http://en.wikipedia.org/wiki/Essbase">ESSbase</a>, it presents a designview that&#8217;s approachable by a vastly greater percentage of &#8220;civilians&#8221; than is the case with<a href="http://en.wikipedia.org/wiki/ROLAP"> </a><a href="http://en.wikipedia.org/wiki/ROLAP">ROLAP-based</a> solutions.</p>
<p>The trick behind TM1, Essbase, Palo etc. is the extension of the spreadsheet metaphor from two to multiple dimensions, while still binding the interface closely to the familiar spreadsheet (which for most of the business world is still Excel).</p>
<p>So where does <a href="http://www.sqlite.org/">SQLite</a> come in all this?</p>
<p><a href="http://blog.gobansaor.com/2007/08/30/sqlite-star-query/">At first glance</a>, SQLite lacks the s<a href="http://www.sqlite.org/optoverview.html">ophisticated join functionality</a> to support star-queries, but of course, if the dataset is small then a full-table scan of a fact table, or better still, loading the fact table into memory negates any such short-comings.</p>
<p>In fact, all traditional ROLAP engines have problems with dimensional models, particularly when you reach the point of using summary tables or query re-writes, that&#8217;s why the emerging SQL-speaking <a href="http://www.information-management.com/blogs/columnar_databases_column_major_data_warehouse_startup_analytics-10015473-1.html">columnar-databases</a> are such a godsend for ROLAP data warehouses.</p>
<p>It was SQLite combined with Excel acting as a data prep platform that was originally my main interest, so for pivoting, Excel&#8217;s own pivot table would have to do.  Nevertheless, I felt the tool was incomplete without the ability to directly pivot the underlying SQLite database.</p>
<p>Why not use Palo or Mondrian as a pivot tool? Well yes, where a fixed permanent &#8220;solution&#8221; is required then the extra moving parts of either approach would be justified and indeed necessary but that is to miss the essence of what I call datasmithing.</p>
<p>Datasmithing is not data warehousing nor is it the provision of solutions (which, for example, Palo superbly enables in multi-user budgeting situations). Datasmithing, as a skill, is of course part of the process of both, but it&#8217;s on the edges, at perhaps the planning or consumption stages.</p>
<p>Datasmiths deal in the unknown, in change, in disaster recovery, in systems&#8217; commissioning, in the never-ending barely-repeatable processes thrown up by daily business life.  For that, the toolset required must be as simple as possible (but no simpler), self-contained, document-oriented, secureable (is that a word?) and easily archived and retrieved. Excel and file-based DBMSs such as MSAccess or SQLite fit the bill nicely, server-based technologies such as DBA controlled database servers or IT installed &#8220;solutions&#8221;, less so.</p>
<p>Jedox has made Palo relatively easy to install (and likewise, Canada&#8217;s SQLPower has made Mondrian setup a painless exercise via their excellent <a href="http://www.sqlpower.ca/page/wabit">Wabit reporting too</a>l), but, the zero-install, email friendly document approach that spreadsheets are famous (and infamous) for, is preferable in many situations. This is something that Microsoft have recognised in their <a href="http://blog.gobansaor.com/2009/04/01/project-gemini-xxl-excel-on-steroids/">Gemini add-in for Excel 2010</a>, but Excel 2010 is a not here yet and it&#8217;s likely to be five years or more before it&#8217;s as common as Excel 2003 is today.</p>
<p>The inclusion of <a href="http://sqlite.org/fts3.html">FTS full-text searching</a> with SQLite triggered an ah-ah moment with regards to pivot-enabling SQLite.</p>
<p>The usual method that hypercube-like excel-friendly OLAP tools use to return data is via a UDF like so&#8230;</p>
<p style="text-align:center;"><em>=DATA(&#8220;CubeName&#8221;,&#8221;value1&#8243;,value2&#8243;,&#8230;)</em></p>
<p>&#8230;where valueN represents dimensional elements, so&#8230;</p>
<p style="text-align:center;"><em>=DATA(&#8220;SalesCube&#8221;,&#8221;Beer&#8221;,&#8221;Profit&#8221;,&#8221;Jan 09&#8243;,&#8221;Actual&#8221;)</em></p>
<p>&#8230;is the Actual Profit for Beer sales in Jan 09. The dimensional elements act as &#8220;tags&#8221; to locate a particular value, there is of course much more to tools like Palo; hierarchies, intra-cube rules etc. but in essence most OLAP tools are like <a href="http://delicious.com/">www.delicious.com</a> for number crunchers. This method of retrieving data fits well with how people use Excel and not just for pivots, but for embedding OLAP aggregated cells in <em>lists</em>.  For example, a CRM scenario; a Sales Rep makes a list of her &#8216;best&#8217; (subjective) customers, but needs hard (objective) stats, to be placed alongside the list to convince the boss or to track actuals against expectation.</p>
<p>Dimensional elements as tags; FTS3 virtual tables as fact table indexes; the concept of a TAG Cube was born.</p>
<p>In the above example &#8220;Profit&#8221; would most likely be described as a <em>measure</em> (Palo, a near pure hypercube does not distinguish between Measure and other Dimensional coordinates). Dimensions, measures and attributes are in reality interchangeable (a Customer ID can act as a dimension or an attribute, but by applying a  Count Distinct to it, it&#8217;s a measure) but most OLAP solutions treat &#8220;Measure Dimensions&#8221; as different, and so do TAG Cubes.</p>
<p>By using the default fact table structure (a single-columned table) and querying using the default measure (which translates to the SUM() of that single value) a &#8216;pure&#8217; approach can be used. But, ROLAP is tightly bound to the concept of a fact table, and since SQLite is relational, TAG Cubes offer the ability to use a wide fact table approach and I think gains considerably in flexibility by so going.</p>
<p>The above example of using Count Distinct, or the simple creation of calculated measures are examples of this flexibility. Another, is a measure based on SQLite&#8217;s concat_group aggregate function to provide a drill-down facility, e.g.</p>
<p style="text-align:center;"><em>=DATA(&#8220;SalesCUBE&#8221;,&#8221;ROWIDList,&#8221;Beer&#8221;,&#8221;Jan 09&#8243;,&#8221;Actual&#8221;)</em></p>
<p>&#8230;where &#8220;ROWIDList&#8221; would be setup as <em>concat_group(rowid,&#8217;,') </em>and will return a comma separated list of the underlying fact table ROWIDs.</p>
<p>A major reason for rolling my own pivot engine was to add a concept of <a href="http://en.wikipedia.org/wiki/Namespace_(computer_science)">&#8220;namespaces&#8221; </a>and to separate the implementation of these namespaces from the actual pivot.  When a tag (or a predefined hierarchy of tags) is assigned to a cube, it&#8217;s also assigned to a namespace, in many cases namespace and cube would be synonymous, but in some cases a more sophisticated approach is required:</p>
<ul>
<li>Multiple cubes sharing the same set of conformed dimensions would be best served by such cubes sharing a common namespace, and so they can.</li>
<li>Different consumers of the pivot may require the use of a different language, be that a spoken language or a different &#8216;business language&#8217; e.g. Manufacturing Product Codes V Consumer Product Names. Again, easily done.</li>
<li>Sometimes identifying data can&#8217;t be shared with the datasmith or the numerical analyst working on a problem; in such cases being able to replace  the actual namespace with an obfuscated one can be very useful. Or, for added security, the namespace might only be issued to approved  PCs while the tag index and fact table are stored on a shared drive.  Needs some more work to make managing such scenarios secure and easy to use but the structure is there.</li>
</ul>
<p>As hinted on above, the three elements of a Tag Cube, the namespace, tag index and fact table can be assigned to different databases (i.e. files). Due to the wonders of SQLite&#8217;s <a href="http://www.sqlite.org/lang_attach.html">ATTACH statement</a> and the <a href="http://www.sqlite.org/backup.html">backup API&#8217;s</a> ability to quickly load/unload databases in/out of memory, it&#8217;s possible, for example, to load namespace and tag index (i.e. the &#8216;dimensions&#8217;) into a memory database, while a very large (i.e. too big to fit to memory) fact table remains on disk. Fast and cheap <a href="http://en.wikipedia.org/wiki/Solid-state_drive">SSDs</a> will add further configuration options.</p>
<p>Although most of the TAG Cube functionality is available only within Excel, I&#8217;ve built a C based SQLite Virtual Table (cFact) to allow the tag index to used outside xLite. This means that SQLite drivers for ODBC (for use as a Pivot Table source, for example) or JDBC (for use in  SQLPower Wabit perhaps) can efficiently access data models built using xLite.</p>
<p><em>I had to revert to using C rather than my preferred Python (did I mention that xLite now embeds Python in Excel, no, well it does, <a href="http://blog.gobansaor.com/2008/04/11/python-the-new-vba/">Python the newVBA ?</a>), having failed to get around multi-threading issues with callbacks to Python in both the </em><a href="http://www.ch-werner.de/sqliteodbc/"><em>ODBC</em></a><em> and </em><a href="http://www.zentus.com/sqlitejdbc/"><em>JDBC</em></a><em> drivers. I&#8217;d make a career promise to myself many years ago, not to having anything to do with printers or threads, and I think I&#8217;ll stick with it <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </em></p>
<p>TAG Cubes are the latest addition (still WIP actually) to be added to xLite, adding to:</p>
<ul>
<li>VBA coded SQLite SQL functions.</li>
<li>Worksheet Functions; call out to a &#8216;function&#8217; built using Excel formula, passing a parameter list and returning a value.</li>
<li>Workbook Functions; like Worksheet Functions, but loading a new Workbook, passing in parameters, passing back a value (or tables) and closing the Workbook when finished.</li>
<li>XLiteScript; xLite exposes its functionality via VBA coded UDFs, which can be called like any other formula, but data prep activities often require sequential procedural logic, xLiteScript is a <a href="http://blog.gobansaor.com/2007/03/03/tables-vs-xml-the-data-lingua-franca-debate/">table-oriented</a> scripting mechanism offering basic flow-control logic.</li>
<li>pyScript; I embedded Python into xLite to take advantage of Python&#8217;s speed in developing Virtual Tables, SQL Functions and extensions to SQLite and to tap in the wonderful world of Python code. I&#8217;ve also added the ability to use Python from scripts defined within Excel (to indent, tab to the next cell!).</li>
<li>Fast load/unload to/from CSV.</li>
<li>Load from any ADO source.</li>
<li>Remove xLite formulae and rename and save Workbook, very handy when used via Workbook Functions to mass produce Excel &#8220;reports&#8221;.</li>
<li>Other WIP items are; load from SAP, load/unload to/from Amazon S3, use Palo cubes as TAG Cube &#8220;facts&#8221;, slot in/out Palo for TAG Cubes, auto-generate Mondrian XML based on TAG Cubes, write-back and splash, Python &amp; VBA TAG Cube &#8220;rules&#8221;.</li>
</ul>
<p><a href="http://www.gobansaor.com/xlite">I&#8217;ve started the process of releasing the beta code here &#8230;</a></p>
<p style="text-align:right;"><em>Why not join me on Twitter at </em><a style="text-decoration:none;color:#265e15;border-bottom-color:#996633;border-bottom-width:1px;border-bottom-style:dashed;margin:0;padding:0;" href="http://www.twitter.com/gobansaor"><em>gobansaor</em></a><em>?</em></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gobansaor.wordpress.com/738/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gobansaor.wordpress.com/738/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gobansaor.wordpress.com/738/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gobansaor.wordpress.com/738/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gobansaor.wordpress.com/738/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gobansaor.wordpress.com/738/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gobansaor.wordpress.com/738/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gobansaor.wordpress.com/738/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gobansaor.wordpress.com/738/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gobansaor.wordpress.com/738/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gobansaor.wordpress.com/738/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gobansaor.wordpress.com/738/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gobansaor.wordpress.com/738/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gobansaor.wordpress.com/738/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gobansaor.com&amp;blog=110633&amp;post=738&amp;subd=gobansaor&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.gobansaor.com/2009/09/29/tag-cubes-sqlite-star-query-part-iii/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		<georss:point>53.204039 -6.574340</georss:point>
		<geo:lat>53.204039</geo:lat>
		<geo:long>-6.574340</geo:long>
		<media:content url="http://1.gravatar.com/avatar/b714f82b5e24beb3b74779615b6ad969?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">gobansaor</media:title>
		</media:content>
	</item>
		<item>
		<title>Palo BI Suite Community Edition</title>
		<link>http://blog.gobansaor.com/2009/06/12/palo-bi-suite-community-edition/</link>
		<comments>http://blog.gobansaor.com/2009/06/12/palo-bi-suite-community-edition/#comments</comments>
		<pubDate>Fri, 12 Jun 2009 14:08:18 +0000</pubDate>
		<dc:creator>gobansaor</dc:creator>
				<category><![CDATA[BI]]></category>
		<category><![CDATA[GoogleApps]]></category>
		<category><![CDATA[Groovy]]></category>
		<category><![CDATA[olap]]></category>
		<category><![CDATA[Palo]]></category>
		<category><![CDATA[Community Edition]]></category>
		<category><![CDATA[Palo BI Suite]]></category>
		<category><![CDATA[Worksheet Server]]></category>

		<guid isPermaLink="false">http://blog.gobansaor.com/?p=709</guid>
		<description><![CDATA[Jedox have finally published a roadmap for the Palo BI Suite Community Edition, having caused considerable confusion by pre-announcing its availability last April. See here for the details.  The headline dates are, a beta version due 1st of July with &#8230; <a href="http://blog.gobansaor.com/2009/06/12/palo-bi-suite-community-edition/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gobansaor.com&amp;blog=110633&amp;post=709&amp;subd=gobansaor&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Jedox have finally published a roadmap for the Palo BI Suite Community Edition, having <a href="http://www.jedox.com/community/palo-forum/thread.php?threadid=1589&amp;hilight=community+edition">caused considerable confusion</a> by pre-announcing its availability last April. <a href="http://www.jedox.com/community/palo-forum/thread.php?threadid=1671">See here for the details</a>.  The headline dates are, a beta version due 1<sup>st</sup> of July with a Release Candidate due 1<sup>st</sup> September.</p>
<p>Although the announcement in April was essentially vapour-ware (no Worksheet Server V3, no Amazon EC2 images), one very significant actual deliverable was the addition to <a href="http://palo.svn.sourceforge.net/">SourceForge</a> of the Palo Excel Add-in sources (GPL licence).  This, at least for me, is very welcome as it now means that Palo is truly open source.  Prior to this, the server sources were GPL’d but not the main front-end tool used by the vast majority of end-users. In fact, the deep Excel integration offered by the Add-In is Palo’s main attraction to the business-focused “datasmiths” who make up the bulk of the product&#8217;s user-base.</p>
<p>The GPL’ing of the Add-in has removed the last barrier that had stopped me, as an independent consultant, from committing to the platform.  While the ‘freeness’ of open source is nice, it’s the source that really attracts me.  With access (and rights) to the source, I have no worries that the terms of use or indeed the product’s core functionality can be arbitrarily changed.  Having the source also means I can delve as deep or as shallow as I need to into the inners of the product, improving my understanding of the technology (both bugs and functionality) as needs dictate.</p>
<p>What has Palo BI Suite to offer, besides being open source?  Well, even if Jedox’s offering consisted of mediocre products, being open source as I explained above is in itself a huge advantage. Having an agnostic FOSS pivot engine that can be shared across many technologies, from Excel to Open Office to a PHP based website, is extremely useful.</p>
<p>However, Jedox’s BI suite is far from mediocre.  Palo is now a very polished and powerful in-memory MOLAP server with excellent integration with Excel (through the Add-In, or if you take out a support contract, via ODBO/MDX powered Pivot Tables).  The addition of a browser delivered spreadsheet (Worksheet Server V3) will add significantly to the product’s street appeal.  Version 3 differs significantly from previous WSS versions; being open source is one, but the entire product was also completely redesigned to meet the challenge posed by web-based products from the likes of <a href="http://sheet.zoho.com/">Zoho</a>, <a href="http://www.editgrid.com/">EditGrid</a> and of course Google Docs (not to mention the ever-present threat of a MS response). Web-based spreadsheets are becoming a commodity, so Jedox’s response was to open source the product but at the same time make it more usable for real-world business analytics.</p>
<p>Current browser-delivered spreadsheets suffer from two shortcomings;</p>
<ul>
<li>Spreadsheets with large numbers of inter-related cells (typical of business models ) tend to perform poorly, in many cases being unusable compared with Excel or Open Office.</li>
<li>Only available as hosted SaaS; not a major problem for some businesses, but for others, services outside the corporate firewall, especially for sensitive information such as what-if, budgeting and sales analysis models, are a no-no.</li>
</ul>
<p>WWS V3 gets around both problems.  Performance is improved by the use of Palo as the spreadsheet’s pivot engine but also by the “lazy calculation” of related cells i.e. a cell that’s not visible, and itself not yet referenced by other visible cells, remains uncalculated, saving on the constant churning that can effect large models.  This combined with a DynaRange concept means templates and models react dynamically and efficiently to the ever changing datasets being presented to the sheets from the Palo OLAP server.   The look’n’feel is very similar to Excel with even array-formulae being fully supported.</p>
<p>The second problem of only-behind-the-firewall access is solved by the open source GPL licence and by the front-end being coded in PHP (very approachable to most in-house support staff and even the <a href="http://twitter.com/martynshiner/">odd accountant</a>).  The core (the bit not yet released) is, as far as I know, C++, so is likely to join Palo Server as being highly efficient and well engineered but perhaps beyond the technical skills of most.</p>
<p>The other elements to the BI Suite are the web-based OLAP-centric ETL Server (now, I see, with Groovy and Javascript scripting support) and the Supervision Server (only in paid Enterprise version) which offers fine-tuned access control and monitoring, plus drill-through functionality from Palo cells, back to the ETL fact tables. The Enterprise Edition also offers a multi-core version of the Palo server along with SAP and ODBO/MDX connectivity.</p>
<p>If multi-dimensional analysis and budgeting could benefit your business and spreadsheets are your preferred method of communicating and working with such analysis, you need to check <a href="http://www.jedox.com/en/products/Overview.html">this out</a>.  Palo is a well kept secret (at least outside of Germany), hardly ever mentioned by the mainstream BI community, but don’t let that put you off; this is one of the best solutions out there, it&#8217;s open source but also comes with the backup of a professional company that can offer not just technical support but also implementation know-how (Jedox eats its own dog-food, being both a BI consultancy and development house).</p>
<p><strong>Update July 4th 2009:</strong></p>
<p>Beta Community Edition<a href="http://www.jedox.com/en/products/palo_olap_server/download.html"> is now available</a>.   I downloaded and installed WWS V3 and gave it a quick test-drive; looks good, Palo interface has the look&#8217;n'feel of the Excel Add-in and the general spreadsheet functionality is very Excel-like, incluing CTRL-Shift-Enter to assign array formulae.  Overall, the Palo BI suite offers a intuitive end-user-friendly interface; from download to effective use in less than 60 minutes, how many BI tools could you say that about?</p>
<p>Also,<a href="http://www.paloinsider.com/?p=72"> in two weeks time </a>a pivot-table friendly <a href="http://en.wikipedia.org/wiki/OLE_DB_for_OLAP">ODBO driver</a> will be included for free with the Palo Excel Add-in (previously only available to those with a Jedox support contract).</p>
<p style="text-align:right;"><em>Why not join me on Twitter at </em><a href="http://www.twitter.com/gobansaor"><em>gobansaor</em></a><em>?</em></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gobansaor.wordpress.com/709/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gobansaor.wordpress.com/709/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gobansaor.wordpress.com/709/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gobansaor.wordpress.com/709/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gobansaor.wordpress.com/709/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gobansaor.wordpress.com/709/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gobansaor.wordpress.com/709/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gobansaor.wordpress.com/709/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gobansaor.wordpress.com/709/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gobansaor.wordpress.com/709/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gobansaor.wordpress.com/709/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gobansaor.wordpress.com/709/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gobansaor.wordpress.com/709/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gobansaor.wordpress.com/709/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gobansaor.com&amp;blog=110633&amp;post=709&amp;subd=gobansaor&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.gobansaor.com/2009/06/12/palo-bi-suite-community-edition/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b714f82b5e24beb3b74779615b6ad969?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">gobansaor</media:title>
		</media:content>
	</item>
		<item>
		<title>LiteBI, Heavy ETL</title>
		<link>http://blog.gobansaor.com/2009/04/24/litebi-heavy-etl/</link>
		<comments>http://blog.gobansaor.com/2009/04/24/litebi-heavy-etl/#comments</comments>
		<pubDate>Fri, 24 Apr 2009 12:27:57 +0000</pubDate>
		<dc:creator>gobansaor</dc:creator>
				<category><![CDATA[BI]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[ETL]]></category>
		<category><![CDATA[kettle]]></category>
		<category><![CDATA[olap]]></category>
		<category><![CDATA[Talend]]></category>
		<category><![CDATA[LiteBI]]></category>

		<guid isPermaLink="false">http://blog.gobansaor.com/?p=686</guid>
		<description><![CDATA[Although my major BI interest is in micro-BI (or is that  workgroup-BI?)  i.e. data, perhaps cleansed and packaged elsewhere, available locally on a datasmith&#8217;s PC,with most likely an in-memory OLAP as the analysis tool; the possibilities of the &#8220;cloud&#8221; as a &#8230; <a href="http://blog.gobansaor.com/2009/04/24/litebi-heavy-etl/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gobansaor.com&amp;blog=110633&amp;post=686&amp;subd=gobansaor&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Although my major BI interest is in micro-BI (or is that  workgroup-BI?)  i.e. data, perhaps cleansed and packaged elsewhere, available locally on a datasmith&#8217;s PC,with most likely an in-memory OLAP as the analysis tool; the possibilities of the &#8220;cloud&#8221; as a BI platform have not escaped me.</p>
<p>From a micro-BI perspective, the ability to act as a backup/mirroring tool or as ETL/marshaling tool (anybody for Hadoop and SQLite?) attracts. I&#8217;ve yet to make up my mind on BI delivered as a cloud<a href="http://en.wikipedia.org/wiki/Platform_as_a_service"> PaaS</a> but obviously <a href="http://jeromepineau.blogspot.com/2009/04/on-demand-bi-beyond-smb.html">many others believe it has a future</a>.</p>
<p>My main worry with PaaS is not lock-in (which exists equally for in-house proprietary solutions) but the dangers of a <a href="http://www.accmanpro.com/tag/coghead/">Coghead-like lock-out</a>.  My other doubts are more technical; believing, as I do, that in-memory offers significant advantages over traditional ROLAP (simplicity been the main one) and multi-tenant in-memory architectures are not yet a runner.  But last week I had a demo of new Spanish BI PaaS service,<strong> </strong><a href="http://www.litebi.com/"><strong>LiteBI</strong></a>, which might just change my mind.</p>
<p>Javier Giménez Aznar and his team previously worked on delivering Pentaho based datawarehouses to large Spanish corporations and government agencies, so they have a deep understanding of <a href="http://mondrian.pentaho.org/">Mondrian ROLAP</a> and are using that knowledge to build the LiteBI service, but this time with SMBs as the target customers rather than corporates. Pricing starts at €145 per month and is based on number of concurrent users, number of analytical spaces and the data volumes, so it&#8217;s not for very small firms more for the Medium in SMB.</p>
<p>Impressions? The cube designer, dashboard builders and the general UI are all very good and I would think would appeal to end-user datasmiths and, as such, will be a major up-front aid to selling this product.  But it was LiteBIs approach to the thorny issue of ETL and data loading that impressed me and also helped ease some of my Coghead-induced-fears.</p>
<p>BI technology stacks consist of three elements:</p>
<ul>
<li>The &#8220;fancy&#8221; front-end; graphs,animated dashboads and so on.</li>
<li>The pivot engine; ROLAP or MOLAP or both.</li>
<li>The ETL process.</li>
<li>(Many would say there&#8217;s an important 4th, the data-warehouse, but not every BI effort requires one, but that&#8217;s another issue)</li>
</ul>
<p>LiteBI is continuing to build yet more functionality into their UI and this &#8220;fancy&#8221; front-end is essential as it&#8217;s their &#8220;shop window&#8221;.</p>
<p>Mondrian provides their pivot engine, and again they continue to work on optimisations such as column-based datastores to increase speed and automate responsiveness tuning (end-users are very unforgiving of slow pivots).</p>
<p>But it&#8217;s in the 3rd area, that of the ETL process, that you realise the LiteBI team has real-world BI experience.  Data is loaded into LiteBI via an API, but with the ETL process itself happening on the customer side.</p>
<p>&#8220;Well,so what?&#8221; you may ask. The extraction of data has to obviously happen customer-side (even though not in the case of data being sourced from the likes of SalesForce.com). Yes, but it&#8217;s the transformations and data cleansing that adds true value to the ETL process and subsequently determines the quality and usefulness (as opposed to the speed or the &#8220;prettiness&#8221; of delivery) of the solution.</p>
<p>Part of the process of adopting LiteBI, is an ETL consultancy stage where a LiteBI partner company will provide on-site services to build this ETL layer, handling not just transformations but initial load and automating the subsequent delta uploads.</p>
<p>So the cost mounts up, but in reality you can&#8217;t do BI without this investment; there&#8217;s no ETL magic bullet.  Even still, Javier says the typical go-live time for a LiteBI project would be in the order of 3-4 weeks rather than the 3-4 months of similar on-site Pentaho projects.</p>
<p>The end-user &#8216;owning&#8217; the ETL process makes the prospect of a service lock-out slightly less worrying as, at least, one would still have a good starting point for moving to another provider or back in-house. What I would really like to see would be the option to self-host LiteBI, which I guess would involve open sourcing large parts of the service (the automated optimisation strategies could, for example, be excluded from this open source version).</p>
<p>The load API comes packaged as a plugin to <a href="http://kettle.pentaho.org/">Kettle</a> (aka PDI) and the intention is to offer a similar add-on for <a href="http://www.talend.org">Talend</a> in the near future. LiteBI also offers a white-label offering whereby 3rd party OLTP solution providers can use the service as their product&#8217;s BI suite.</p>
<p>Like the <a href="http://www.everything2.org/title/Skibbereen%2520Eagle">Skibbereen Eagle keeping its eye on the Czar of Russia</a>, I too will be keeping a watchful eye on <a href="http://www.litebi.com/">LiteBI</a> and the march of on-demand BI in general.</p>
<p style="text-align:right;"><em>Why not join me on Twitter at </em><a href="http://www.twitter.com/gobansaor"><em>gobansaor</em></a><em>?</em></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gobansaor.wordpress.com/686/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gobansaor.wordpress.com/686/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gobansaor.wordpress.com/686/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gobansaor.wordpress.com/686/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gobansaor.wordpress.com/686/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gobansaor.wordpress.com/686/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gobansaor.wordpress.com/686/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gobansaor.wordpress.com/686/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gobansaor.wordpress.com/686/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gobansaor.wordpress.com/686/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gobansaor.wordpress.com/686/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gobansaor.wordpress.com/686/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gobansaor.wordpress.com/686/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gobansaor.wordpress.com/686/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gobansaor.com&amp;blog=110633&amp;post=686&amp;subd=gobansaor&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.gobansaor.com/2009/04/24/litebi-heavy-etl/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b714f82b5e24beb3b74779615b6ad969?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">gobansaor</media:title>
		</media:content>
	</item>
		<item>
		<title>SQLite as the MP3 of data</title>
		<link>http://blog.gobansaor.com/2009/03/14/sqlite-as-the-mp3-of-data/</link>
		<comments>http://blog.gobansaor.com/2009/03/14/sqlite-as-the-mp3-of-data/#comments</comments>
		<pubDate>Sat, 14 Mar 2009 19:13:25 +0000</pubDate>
		<dc:creator>gobansaor</dc:creator>
				<category><![CDATA[BI]]></category>
		<category><![CDATA[ETL]]></category>
		<category><![CDATA[excel]]></category>
		<category><![CDATA[microETL]]></category>
		<category><![CDATA[olap]]></category>
		<category><![CDATA[Palo]]></category>
		<category><![CDATA[SQLite]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[MP3]]></category>

		<guid isPermaLink="false">http://blog.gobansaor.com/?p=622</guid>
		<description><![CDATA[&#8230; and Excel as its &#8220;mixing desk&#8221;. When I tell people that I use SQLite in combination with Excel (via microETL and now via my latest offering The Datasmith&#8217;s HAMMER) as my datasmithing platform, many ask why SQLite? (Many others ask why Excel? &#8230; <a href="http://blog.gobansaor.com/2009/03/14/sqlite-as-the-mp3-of-data/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gobansaor.com&amp;blog=110633&amp;post=622&amp;subd=gobansaor&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>&#8230; and Excel as its &#8220;mixing desk&#8221;.</p>
<p>When I tell people that I use SQLite in combination with Excel (via <a href="http://blog.gobansaor.com/category/powerpivot/">microETL</a> and now via my latest offering The Datasmith&#8217;s <a href="http://blog.gobansaor.com/category/hammer/">HAMMER</a><strong>)</strong> as my datasmithing platform, many ask why SQLite? (Many others ask why Excel?  but &#8220;sin scéal eile&#8221;, that&#8217;s <a href="http://blog.gobansaor.com/2009/10/25/excel-as-the-ipod-of-downloaded-data/">another discussion &#8211; Excel as the iPod of Downloaded Data</a>.) Those that question my use of SQLite tend to cluster into four camps:</p>
<ul>
<li>Pure Excel jocks.</li>
<li>MS Access fans.</li>
<li>The client server database brigade (SQL Server,Oracle; or if FOSS fans; MySQL, PostrgeSQL).</li>
<li>The MOLAP folks (Essbase, TM1, Palo).</li>
</ul>
<p>Now while I have used and will continue to use/encounter all four &#8216;approaches&#8217;, I&#8217;ve come to believe over the last couple of years that SQLite brings something special to the datasmithing game. When I look back over nearly 30 years in the data handling business I keep thinking &#8211; &#8220;If only I had SQLite then, how much easier/quicker/cheaper that task would have been!&#8221;.</p>
<p>Just as &#8220;fractional horsepower&#8221; electrical motors revolutionised manufacturing and eventually all our lives (car starter-motors, fridge motors, washing machines etc.), &#8220;fractional horsepower&#8221; databases can do the same for data. Distributing data to where it is needed.</p>
<p>As operational local caches, this use of SQLite is already far advanced. SQLite is embedded in lots of <a href="http://www.sqlite.org/famous.html">every day software tools</a>, everything from McAfee anti-virus to <a href="http://www.tweetdeck.com/beta/">TweetDeck</a> Twitter clients (best one IMHO). But my interest is more in SQLite&#8217;s potential as a micro-BI (or maybe more correctly a distributed-BI) platform. A sort of MP3 format for distributed structured data, if you like.</p>
<p>But why SQLite (and in particular SQLite in combination with Excel) as my datasmithing tool rather than the four other approaches?  First, what&#8217;s a datasmith?</p>
<p>Managing and manipulating datasets has become an integral part of many people’s job, not just accountants (the original of the species) but marketing executives, sales staff, pricing analysts, process engineers; different job titles, different roles but using a skill that they’ve likely never been formally trained in, a skill without a name; a skill I call datasmithing. I like to think of  myself as a master datasmith, or a datamith&#8217;s datasmith.</p>
<p>If you consider yourself a datasmith then most likely the tool you use to manage your datasets is Excel. And before you apologise, don’t. Excel is by far the best and most flexible end-user data manipulation tool out there. Everything from the current financial crisis downwards has at some stage being blamed on Excel, but you know and I know that many tasks would remain undone or under-done were it not for end-user generated spreadsheets.</p>
<p>Spreadsheets are not however optimal for some tasks, linked spreadsheets in particular are data disasters in waiting. While fantastic for data transformations and presentations, as books-of-record they’re rarely suitable. Other tools such as SQL based relational databases and in-memory OLAP offer much better and potentially much more cost-effective data modelling functionality, but also at a cost of extra complexity and ongoing technical support.</p>
<p>MS Access (which like SQLite, is a document-centric, non-client-server database; but unlike it, is also a forms/reporting development environment) would appear to be the natural local store database. My problem with MS Access has been its tendency to try to be all things to all men, ending up not fully satisfying anybody. Professional developers think it&#8217;s too limiting, non-techs find it too intimidating, even reporting, where it once showed promise left a big enough opening for Crystal Reports to evolve. It is also limited to Windows which might not seem to be a problem if combining with Excel, but, as it&#8217;s often necessary, due to scale or complexity of the data,  to use &#8216;proper&#8217; ETL tools such as Talend, having an OS agnostic database format than can act as a distribution media (think MP3s again) between &#8220;mixing desks&#8221; can be very useful.</p>
<p>The big difference to MS Access for me is SQLite&#8217;s open source code; code that&#8217;s a pleasure to browse and with an approachable API that even I, with my very rusty C skills, can manipulate. Having access to that code allows me to tightly integrate it with Excel, so much so, that I can use Excel functions (built-in functions, VBA user-defined functions and 3rd party add-in functions) directly from SQLite&#8217;s SQL; and vice-versa, access SQL functionality via Excel &#8220;formula&#8221; calls. It is  also possible to  load most datasets into memory using SQLite&#8217;s in-memory mode enabling very fast processing  and near zero-latency when passing data to and from Excel/VBA. In the near future, cheap, large <a href="http://en.wikipedia.org/wiki/Solid-state_drive">SSDs </a>will enable non-memory databases to offer similar speed but also handle extremely large datasets (<a href="http://i.gizmodo.com/5166798/24-solid-state-drives-open-all-of-microsoft-office-in-5-seconds">see this for a glimpse of that future</a>).</p>
<p>What about the big beasts of the data world, the client-server databases? Having spent most of my professional life working with such tools I&#8217;m aware of the power of a well designed relational database. If SQLite is the MP3, then these are the master tapes, the DDD recordings. Most of the data that eventual ends up in SQLite for analysis and/or transformation will have originated in data-warehouses or be directly sourced  from OLTP systems built using relational technology. But for close-up analysis and transformation, the pure simplicity and convenience of SQLite is hard to beat. That simplicity is primarily due to its Excel-like &#8216;document&#8217; nature, all code and data can be housed in a single folder (or <a href="http://www.truecrypt.org/">true-crypt container</a> for added security), ensuring that the &#8216;problem domain&#8217; can be easily archived and/or shared with others without the need for professional IT resources.</p>
<blockquote><p>And yes, I hear you, isn&#8217;t that the basis of Excel-hell? Yes it is, but over the years I&#8217;ve found that this is rarely a problem for datasmiths, they deal day-in day-out with document work-flows, they understand the risks and the benefits (mainly the simplicity) of the approach. Where the nightmare truly happens is when this approach is used as an alternative to an OLTP system i.e. using Excel and other document-like datastores as books-of-record in large multi-user environments &#8211; &#8220;there be monsters for sure&#8221;.</p></blockquote>
<p>How about MOLAP? Wasn&#8217;t Essbase&#8217;s name derived from &#8220;extended spreadsheet database&#8221; and doesn&#8217;t Palo offer a truly excel-friendly multi-user database back-end? Again, having worked with Essbase for many years and now being a big fan of the open source <a href="http://www.palo.net">Palo</a> MOLAP tool, I fully appreciate the power that such tools brings to analysis and multi-user planning tasks. But for many situations, an Excel Pivot Table is &#8220;good enough&#8221; and even when it&#8217;s not, it is possible by utilising what I call a tOLAP cube (essentially, a fact table indexed via tags enabled by Google&#8217;s great addition to SQLite, the <a href="http://dotnetperls.com/Content/SQLite-FTS3.aspx">FTS3</a> virtual table) to build and access  powerful, yet simple, cube-like data structures  [update: Oct 2010] there&#8217;s now the option of using Excel 2010&#8242;s <a href="http://blog.gobansaor.com/category/powerpivot/">magnificent PowerPivot add-in</a>.</p>
<p>By integrating SQLite with Excel, datasmiths can have the best of both worlds, familiar <a href="http://www.gobansaor.com/xlite">spreadsheet front-end combined with a fast and powerful SQL engine and datastore</a>, in fact, everything that MS Access should have been.</p>
<p style="text-align:right;"><em>Why not join me on Twitter at </em><a href="http://www.twitter.com/gobansaor"><em>gobansaor</em></a><em>?</em></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gobansaor.wordpress.com/622/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gobansaor.wordpress.com/622/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gobansaor.wordpress.com/622/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gobansaor.wordpress.com/622/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gobansaor.wordpress.com/622/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gobansaor.wordpress.com/622/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gobansaor.wordpress.com/622/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gobansaor.wordpress.com/622/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gobansaor.wordpress.com/622/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gobansaor.wordpress.com/622/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gobansaor.wordpress.com/622/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gobansaor.wordpress.com/622/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gobansaor.wordpress.com/622/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gobansaor.wordpress.com/622/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gobansaor.com&amp;blog=110633&amp;post=622&amp;subd=gobansaor&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.gobansaor.com/2009/03/14/sqlite-as-the-mp3-of-data/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		<georss:point>53.204039 -6.574340</georss:point>
		<geo:lat>53.204039</geo:lat>
		<geo:long>-6.574340</geo:long>
		<media:content url="http://1.gravatar.com/avatar/b714f82b5e24beb3b74779615b6ad969?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">gobansaor</media:title>
		</media:content>
	</item>
		<item>
		<title>I’ll give up Excel Pivot Tables when you take &#8216;em from my cold, dead hands</title>
		<link>http://blog.gobansaor.com/2008/10/10/i%e2%80%99ll-give-up-excel-pivot-tables-when-you-take-em-from-my-cold-dead-hands/</link>
		<comments>http://blog.gobansaor.com/2008/10/10/i%e2%80%99ll-give-up-excel-pivot-tables-when-you-take-em-from-my-cold-dead-hands/#comments</comments>
		<pubDate>Fri, 10 Oct 2008 17:40:39 +0000</pubDate>
		<dc:creator>gobansaor</dc:creator>
				<category><![CDATA[BI]]></category>
		<category><![CDATA[excel]]></category>
		<category><![CDATA[olap]]></category>
		<category><![CDATA[Palo]]></category>
		<category><![CDATA[essbase]]></category>
		<category><![CDATA[MDX]]></category>
		<category><![CDATA[Mondrian]]></category>
		<category><![CDATA[ODBO]]></category>
		<category><![CDATA[XMLA]]></category>

		<guid isPermaLink="false">http://gobansaor.wordpress.com/?p=539</guid>
		<description><![CDATA[Jedox, the company behind the open source MOLAP server Palo, has just announced an MDX driver. This means that it&#8217;s now possible to access Palo cubes using Excel Pivot Tables or indeed any tool that supports ODBO.  This is excellent news, &#8230; <a href="http://blog.gobansaor.com/2008/10/10/i%e2%80%99ll-give-up-excel-pivot-tables-when-you-take-em-from-my-cold-dead-hands/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gobansaor.com&amp;blog=110633&amp;post=539&amp;subd=gobansaor&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.jedox.com">Jedox,</a> the company behind the open source <a href="http://en.wikipedia.org/wiki/MOLAP">MOLAP</a> server Palo, <a href="http://www.jedox.com/en/news/News/Palo_Open_Source_OLAP_Server_now_supports_MDX_and_Excel_Pivot_Tables.html">has just announced</a> an <a href="http://en.wikipedia.org/wiki/Multidimensional_Expressions">MDX</a> driver. This means that it&#8217;s now possible to access Palo cubes using Excel Pivot Tables or indeed any tool that supports <a href="http://en.wikipedia.org/wiki/OLE_DB_for_OLAP_(ODBO)">ODBO</a>.  This is excellent news, as MOLAP to most Excel users IS a Pivot Table, and somewhat like the NRA, the NPTA&#8217;s (National Pivot Table Association&#8217;s) motto is “I’ll give up Excel Pivot Tables when you take &#8216;em from my <em>cold</em>, dead <em>hands</em>”.</p>
<p>MDX/XMLA is now a de facto standard for OLAP servers, supported not just by MS SQLServer but by SAP BW, Hyperion/ESSBase and by <a href="http://mondrian.pentaho.org/">Pentaho&#8217;s Mondrian</a>. The new driver is not open source, nor is it for sale but instead comes free to those with Jedox support contracts. I&#8217;m sure lots of organisations will be more than willing to enter a support contract (starting at <strong>€3000</strong> per server) to get their hands on this; think of the savings in training alone!</p>
<p><strong>UPDATE: 2nd July 2009</strong></p>
<p>Kristian Raue <a href="http://www.paloinsider.com/?p=72">has announced on his blog</a> that the ODBO/MDX driver will now come free with latest Palo BI Suite (both community and enterprise versions). Excellent news!</p>
<p><a href="http://www.jedox.com/assets/images/news/pressekit/jedox_presseinfo_pivot_engl.jpg"><img class="aligncenter size-large wp-image-546" title="palopivot1" src="http://gobansaor.files.wordpress.com/2008/10/palopivot1.jpg?w=500&#038;h=374" alt="" width="500" height="374" /></a></p>
<p><span style="color:#0000ee;text-decoration:underline;"><br />
</span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gobansaor.wordpress.com/539/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gobansaor.wordpress.com/539/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gobansaor.wordpress.com/539/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gobansaor.wordpress.com/539/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gobansaor.wordpress.com/539/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gobansaor.wordpress.com/539/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gobansaor.wordpress.com/539/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gobansaor.wordpress.com/539/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gobansaor.wordpress.com/539/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gobansaor.wordpress.com/539/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gobansaor.wordpress.com/539/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gobansaor.wordpress.com/539/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gobansaor.wordpress.com/539/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gobansaor.wordpress.com/539/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gobansaor.com&amp;blog=110633&amp;post=539&amp;subd=gobansaor&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.gobansaor.com/2008/10/10/i%e2%80%99ll-give-up-excel-pivot-tables-when-you-take-em-from-my-cold-dead-hands/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b714f82b5e24beb3b74779615b6ad969?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">gobansaor</media:title>
		</media:content>

		<media:content url="http://gobansaor.files.wordpress.com/2008/10/palopivot1.jpg?w=500" medium="image">
			<media:title type="html">palopivot1</media:title>
		</media:content>
	</item>
	</channel>
</rss>
