<?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; BI</title>
	<atom:link href="http://blog.gobansaor.com/category/bi/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.gobansaor.com</link>
	<description>A country datasmith.</description>
	<lastBuildDate>Tue, 27 Jul 2010 17:23:43 +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://www.gravatar.com/blavatar/67e164f5d51c2b3115a7819b84505c13?s=96&#038;d=http://s2.wp.com/i/buttonw-com.png</url>
		<title>Gobán Saor &#187; BI</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>PowerPivot &#8211; Show Detail not allowed!</title>
		<link>http://blog.gobansaor.com/2010/06/29/powerpivot-show-detail-not-allowed/</link>
		<comments>http://blog.gobansaor.com/2010/06/29/powerpivot-show-detail-not-allowed/#comments</comments>
		<pubDate>Tue, 29 Jun 2010 14:43:36 +0000</pubDate>
		<dc:creator>Tom Gleeson</dc:creator>
				<category><![CDATA[BI]]></category>
		<category><![CDATA[PowerPivot]]></category>
		<category><![CDATA[excel]]></category>
		<category><![CDATA[drill-though]]></category>
		<category><![CDATA[drill-thru]]></category>
		<category><![CDATA[Gemini]]></category>
		<category><![CDATA[show detail]]></category>

		<guid isPermaLink="false">http://blog.gobansaor.com/?p=1011</guid>
		<description><![CDATA[Last week, I at long last set aside some time to put PowerPivot through its paces, triggered by my purchasing of Excel 2010 (in itself a momentous occasion as without the attraction of PowerPivot I would have followed my, and most other Office users&#8217;, usual pattern of waiting 3-5 years or so before investigating the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gobansaor.com&blog=110633&post=1011&subd=gobansaor&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>Last week, I at long last set aside some time to put PowerPivot through its paces, triggered by my purchasing of Excel 2010 (in itself a momentous occasion as without the attraction of PowerPivot I would have followed my, and most other Office users&#8217;, usual pattern of waiting 3-5 years or so before investigating the &#8216;latest&#8217; edition).</p>
<p>The verdict?</p>
<p>In general, still impressed, the concept <a href="http://blog.gobansaor.com/2009/04/01/project-gemini-xxl-excel-on-steroids/">demo&#8217;d to me over a year ago</a> has evolved into an impressive first version. Some things such as hierarchies did not make it (hierarchies are constructed from cross-joins of field /attribute sets as per a normal pivot table) so no hierarchy rules as would be the case with standard OLAP cubes; but perhaps for many end users the &#8216;traditional&#8217; construct-on-the-fly hierarchies will be more approachable.</p>
<p>The DAX functionality is better than I expected; easier for non-techies than MDX but still powerful.</p>
<p>Importing data is hassle free and intuitive, the <a href="http://powerpivotgeek.com/2009/11/11/a-peek-inside-the-client-architecture/">VertiPaq engine</a> does a wonderful job of compressing the imported data and the resulting in-memory column-store is certainly very fast. I like the &#8216;linked-table&#8217; option which allows for normal Excel tables (the one useful <a href="http://www.databison.com/index.php/table-formulas-in-excel/">new feature</a> that Excel 2007 introduced) to be added to the PowerPivot star-schema.  Being able to import any datasource publishable in AtomPub format (<a href="http://code.google.com/apis/gdata/">such as Google Docs spreadsheets</a>!) is also nice.</p>
<p>So it&#8217;s all good then? Yes, except for one really annoying missing; no drill-through (aka Show Detail, aka drill-thru) allowed.</p>
<p>What? surely some mistake!</p>
<p>Afraid not, I initially thought the measures I attempted to <em>Show Detail</em> on were too complex (as the error message &#8220;Show Details cannot be completed on a calculated cell&#8221; suggested). Then I assumed it had been cut to meet a delivery deadline and would appear in a subsequent version. But no,<a href="http://twitter.com/donalddotfarmer"> Donald Farmer</a> confirmed that is was intentionally removed as the feedback from IT organisations was not to allow end-users the ability to drill-through to potentiality millions of rows when running under a SharePoint server. As for those of us running PowerPivot on the client, we already have all the data, so no need for show-detail!</p>
<p>Okay, I can understand IT&#8217;s reluctance to allow a multi-million row drill-through but surely that should be the decision of individual IT groups to allow or not, and if allowed, to provide the ability to limit the amount of data returned.</p>
<p>A million row result is of limited use, most <em>Show Details</em> are a few thousand at max, and typically sub-1000, so sensible limits can easily be enforced.</p>
<p>The client-side (the side that matters most to me) is a very different story. Here the excuse that the data is already there, is exactly that, an excuse. Using the same logic the drill-through on a normal pivot-table should be unnecessary. Yet, if you watch end-users construct pivots they use it constantly; not just to discover the detail behind a figure but as often as not as a way of validating that the model they&#8217;ve constructed is correct.</p>
<p>This spot-checking of figures is the main &#8216;test methodology&#8217; used in the wild. Spreadsheet &#8216;developers&#8217; do not construct sophisticated test harnesses and procedures. You might argue they should, but they don&#8217;t and likely never will. And as for the &#8216;multi-million row result&#8217; problem, end-users are not idiots they&#8217;re just end-users, they&#8217;ll do it once, and learn to be more careful the next time (or they&#8217;ll use the limit-rows option).</p>
<p>This lack of drill-though will definitely mean I will continue to use normal pivot tables for situations that would otherwise be better solved using PowerPivot. As many such models will be based on relatively small datasets ( sub-100,000  &#8217;facts&#8217;) it might be suggested there&#8217;s no need for PowerPivot. But this is to miss the &#8216;intellectual&#8217; power (as opposed to the massive data crunching power of VeriPaq) at the heart of PowerPivot; the star-schema.</p>
<p>Most of  the commentary on PowerPivot has focused on its ability to handle really large datasets but this emphasis on &#8216;big-data&#8217; (something the rest of the BI industry share) often ignores the power of human-scale small-data (i.e. the world of the spreadsheet jockeys). The power of <a href="http://en.wikipedia.org/wiki/Star_schema">a star-schema</a> to model BI problems (be they small or large) is something I&#8217;ll return to in a later post.</p>
<p>Star-schema models (particularly when the speed of access worries are removed by an in-memory column-store) are superior in many respects to the fully denormalised flattened tables that we currently build to support pivot-tables and are also more flexible than the multi-dimensional cell approach of pure MOLAP cubes. Combining such data models with the user-friendliness of spreadsheets,alongside the added magic of a modelling language such as DAX (and some MDX where necessary) on a datasmith&#8217;s laptop is the true beauty of PowerPivot.</p>
<p>So, lack of drill-through aside, &#8220;Well done Microsoft!&#8221;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gobansaor.wordpress.com/1011/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gobansaor.wordpress.com/1011/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gobansaor.wordpress.com/1011/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gobansaor.wordpress.com/1011/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gobansaor.wordpress.com/1011/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gobansaor.wordpress.com/1011/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gobansaor.wordpress.com/1011/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gobansaor.wordpress.com/1011/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gobansaor.wordpress.com/1011/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gobansaor.wordpress.com/1011/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gobansaor.com&blog=110633&post=1011&subd=gobansaor&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.gobansaor.com/2010/06/29/powerpivot-show-detail-not-allowed/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=identicon&#38;r=G" medium="image">
			<media:title type="html">gobansaor</media:title>
		</media:content>
	</item>
		<item>
		<title>JavaScript as an Excel scripting language via JSDB</title>
		<link>http://blog.gobansaor.com/2010/06/04/javascript-as-an-excel-scripting-language-via-jsdb/</link>
		<comments>http://blog.gobansaor.com/2010/06/04/javascript-as-an-excel-scripting-language-via-jsdb/#comments</comments>
		<pubDate>Fri, 04 Jun 2010 17:44:59 +0000</pubDate>
		<dc:creator>Tom Gleeson</dc:creator>
				<category><![CDATA[BI]]></category>
		<category><![CDATA[ETL]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[SQLite]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[excel]]></category>
		<category><![CDATA[xLite]]></category>

		<guid isPermaLink="false">http://blog.gobansaor.com/?p=953</guid>
		<description><![CDATA[A few years back I posted about JavaScript as an Excel scripting language via ExcelDNA. That involved using JavaScript (in the guise of JScript.NET) as an ExcelDNA scripting language. It was purely an academic exercise to prove it could be done, I continued to use C# (or increasingly VB.NET) to build .NET user defined functions. This time however, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gobansaor.com&blog=110633&post=953&subd=gobansaor&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>A few years back I posted about <a href="http://blog.gobansaor.com/2007/10/04/javascript-as-an-excel-scripting-language-via-exceldna/">JavaScript as an Excel scripting language via ExcelDNA</a>. That involved using JavaScript (in the guise of JScript.NET) as an <a href="http://exceldna.typepad.com/">ExcelDNA </a> scripting language. It was purely an academic exercise to prove it could be done, I continued to use C# (or increasingly VB.NET) to build .NET user defined functions. This time however, I&#8217;ve managed to embed JavaScript (in the guise of <a href="http://www.mozilla.org/js/spidermonkey/">Mozilla Foundation&#8217;s SpiderMonkey</a>) directly via a native C interface not to prove I could do it (even though there&#8217;s a definite satisfaction in simply doing it) but to use it.</p>
<p>Why add another scripting language to xLite, hasn&#8217;t it already got Python?</p>
<p>True, Python is and remains a very powerful add-on to <a href="http://www.gobansaor.com/xlite">xLite</a>. It&#8217;s a mature and long-established language, popular amongst IT professionals and &#8220;citizen programmers&#8221; alike. But, it&#8217;s a bit of a monster and can be awkward to package, particularly on Windows. By using <a href="http://www.py2exe.org/index.cgi/Tutorial">Py2Exe</a> and after a lot of digging on <a href="http://groups.google.com/group/wxPython-users/msg/dfad0122afda5d21?pli=1">the issue of manifest files</a> I have managed to package and isolate xLite&#8217;s Pythonic bits so that it can be used on a PC without first installing the required Python version (<del datetime="2010-06-11T10:46:38+00:00">I&#8217;ve only tested against V2.6, Python&#8217;s lack of a side-by-side Windows installation capability is a major pain-in-the-butt</del>   bad news: tested against Python 2.5 &amp; it doesn&#8217;t work; good news: side-by-side is possible; simply change the system path to reflect which-ever version you wish to run at the command line; xLite will (must) continue to use V2.6). <del datetime="2010-06-11T10:47:57+00:00">This &#8220;version-hell&#8221; mitigates against using Python as a core-element of xLite, fine for those of us who are comfortable with and require the full power of Python, but not as the tool&#8217;s primary scripting environment.</del></p>
<p>No, what I need is:</p>
<ul>
<li>a light (single EXE or DLL preferably) and an approachable popular language,</li>
<li>with native SQLite support,</li>
<li>runable as standalone executable (on both Windows &amp; Linux),</li>
<li>embeddable (is that a word?) in Excel via VBA-friendly DLL.</li>
</ul>
<p>Add to that essential list some nice-to-haves such as:</p>
<ul>
<li>native COM-interface support (for the likes of ADO etc.),</li>
<li>native networking support, for HTTP, raw TCP sockets etc.,</li>
<li>native (and easy to use) XML and JSON parsers and emitters,</li>
<li>ability to spawn detached/attached command line processes and the ability to stream data to and from such processes; allowing me to easily orchestrate &amp; provide a &#8220;grid&#8221; of processes (scripted, command line executables, Excel instances) both local and remote (with remote being either traditional servers, http servers or <a href="http://hadoop.apache.org/common/docs/current/streaming.html">Hadoop Streaming</a> grids).</li>
</ul>
<p>While looking at the various implementations of Javascipt as a server/shell language, I came across <a href="http://www.jsdb.org/">JSDB &#8211; JavaScript for Databases</a>. It&#8217;s a C++ wrapper around Mozilla&#8217;s SpiderMonkey, with lots of useful data related utility classes added. To make JSDB a perfect fit it simply required:</p>
<ul>
<li>a few minor changes to the <a href="http://bit.ly/bgwKI4">SQlite class</a> (allow the loading of Virtual Table extensions, add the ability to pass in the address of already open SQLite memory structures);</li>
<li>a linker change to use the DLL version of SQLite;</li>
<li>plus a <a href="http://bit.ly/aNYRCk">VBA-friendly DLL wrapper</a> ( &amp; <a href="http://bit.ly/dynHWD">VBA declares</a>, to call the <a href="http://bit.ly/arH2fB">DLL</a>) to replace the JSDB shell when embedding in Excel.</li>
</ul>
<p>From my <a href="http://blog.gobansaor.com/2009/03/14/sqlite-as-the-mp3-of-data/">SQLite as the MP3 of Data</a> post:  &#8221;<em>Just as &#8220;fractional horsepower” electrical motors revolutionised manufacturing and eventually all our lives (car starter-motors, fridge motors, washing machines etc.), “fractional horsepower” databases can do the same for data. Distributing data to where it is needed.&#8221; </em>I can now add a distributed &#8220;fractional horsepower&#8221; processing engine for that distributed data. This transforms <a href="http://www.gobansaor.com/xlite">xLite</a> from a micro-ETL platform into one capable of handling (or at least orchestrating) practically any ETL (Extract, Transform &amp; Load),DI (data integration) or &#8220;Time Asset&#8221; (<a href="http://blog.gobansaor.com/2010/05/12/time-assets/">see this post</a>) process.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gobansaor.wordpress.com/953/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gobansaor.wordpress.com/953/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gobansaor.wordpress.com/953/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gobansaor.wordpress.com/953/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gobansaor.wordpress.com/953/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gobansaor.wordpress.com/953/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gobansaor.wordpress.com/953/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gobansaor.wordpress.com/953/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gobansaor.wordpress.com/953/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gobansaor.wordpress.com/953/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gobansaor.com&blog=110633&post=953&subd=gobansaor&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.gobansaor.com/2010/06/04/javascript-as-an-excel-scripting-language-via-jsdb/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=identicon&#38;r=G" medium="image">
			<media:title type="html">gobansaor</media:title>
		</media:content>
	</item>
		<item>
		<title>SAX and Bugs and XBRuLe</title>
		<link>http://blog.gobansaor.com/2010/05/06/sax-and-bugs-and-xbrool/</link>
		<comments>http://blog.gobansaor.com/2010/05/06/sax-and-bugs-and-xbrool/#comments</comments>
		<pubDate>Thu, 06 May 2010 12:26:10 +0000</pubDate>
		<dc:creator>Tom Gleeson</dc:creator>
				<category><![CDATA[BI]]></category>
		<category><![CDATA[ETL]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[SQLite]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[excel]]></category>
		<category><![CDATA[xLite]]></category>
		<category><![CDATA[XBRL]]></category>
		<category><![CDATA[SAX]]></category>
		<category><![CDATA[SAX2 MSXML]]></category>
		<category><![CDATA[business reporting]]></category>

		<guid isPermaLink="false">http://blog.gobansaor.com/?p=908</guid>
		<description><![CDATA[Okay, the XBRuLe is a bit laboured, should be SAX &#38; bugs &#38; XBRL, but any excuse to play some Ian Dury Bugs (the programming type, not the creepy-crawlies), Simple API for XML and Extended Business Reporting Language;  these represented the trinity of my concerns for the last three weeks  or so. First, the bugs: [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gobansaor.com&blog=110633&post=908&subd=gobansaor&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>Okay, the XBRuLe is a bit laboured, should be <a href="http://en.wikipedia.org/wiki/Simple_API_for_XML">SAX</a> &amp; bugs &amp; <a href="http://www.xbrl.org/Home/">XBRL</a>, but any excuse to play some Ian Dury <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><span style="text-align:center; display: block;"><a href="http://blog.gobansaor.com/2010/05/06/sax-and-bugs-and-xbrool/"><img src="http://img.youtube.com/vi/gBLeVcP_JQg/2.jpg" alt="" /></a></span></p>
<p>Bugs (the programming type, not the creepy-crawlies), Simple API for XML and Extended Business Reporting Language;  these represented the trinity of my concerns for the last three weeks  or so.</p>
<h3>First, the bugs:</h3>
<p>Several weeks back, I decided that the C portion of <a href="http://www.gobansaor.com/xLite">xLite</a> needed an overhaul. The codebase contained a lot of stuff that I no longer used and also contained code that I&#8217;d written when I first re-started using C (after a lapse of 20 years or so, the phrase &#8220;I&#8217;d forgotten more than I&#8217;d ever known&#8221; sums up the experience best); some of this code was <a href="http://en.wikipedia.org/wiki/Memory_leak">memory-leaking</a> like a sieve.</p>
<p>Also, the original Pivotal Solutions code was not UTF-8 enabled, instead it used the host pc&#8217;s default character set codepage, this needed to change (if you don&#8217;t know what I&#8217;m talking about see <a href="http://www.joelonsoftware.com/articles/Unicode.html">Joel Spolsky&#8217;s lecture </a>to the developers of the world &#8211; well actually, primarily to those of us in the Anglo-Saxon &#8220;ascii-will-do-fine&#8221; world).</p>
<p>The bugs I introduced as a result of this upgrade were not of the logical kind but of a much nastier type, peculiar to the low-level world of C, &#8220;bad free()&#8221; bugs!</p>
<p>Excel was no longer leaking memory (well no more than it normally does) but it was crashing randomly (usually in a DDL called VB7, 1st upgrade to classic VB in over a decade!), a sure sign I was freeing memory that was not mine to free. Two days later, I&#8217;d tracked the bugs down, but only by a painful line by line code walk-through. If you&#8217;ve no idea what I&#8217;m talking about here, count your blessings and move on.</p>
<p>The other major change I added to xLite is the ability to code <a href="http://www.drdobbs.com/database/202802959">SQLite Virtual Tables</a> in VBA. The Python side of xLite has always had that facility, but I look on Python as a nice-to-have add-on, not as a core component. The growing need for &#8220;core&#8221; virtual tables meant either coding them in C or in VBA, see previous paragraphs for why VBA won the day.</p>
<p>The immediate driver for adding both UTF-8 support and quick-to-build virtual tables was the need to better handle XML data within xLite.</p>
<h3>&#8230; then the SAX:</h3>
<p>For small XML/HTML datasets, I, like the rest of the world, use DOM manipulation; but for larger sets I&#8217;ve tended to go down the <em>brute force and ignorance</em> approach of hand coded File I/O combined with <a href="http://blog.gobansaor.com/2008/07/01/regular-expressions-as-an-end-user-programming-tool/">regular expressions</a> to efficiently parse out the data required.</p>
<p>Last week, an email from a datasmith name Cathy prompted me to look into using Sax for loading XML. Cathy, like most datasmiths, is not a professional programmer, she has a &#8220;real job&#8221;; part of that job is analysing large datasets, she&#8217;s learned enough programming (mainly Access &amp; Excel) to do that job more efficiently. The data she needed to parse this time was encoded in XML, but being very large and built on a schema that constantly changed, the default <a href="http://en.wikipedia.org/wiki/Document_Object_Model">DOM</a> approach overpowered both Access and Excel.</p>
<p>Cathy had originally contacted me looking for information on using <a href="http://blog.gobansaor.com/2008/08/02/talend-sqlite-groovy-the-new-oracle/">Talend</a> to read the data and it looked like she was about to start a new side-career as a Java programmer. I figured there must be a way for her to leverage her existing skill-set (VBA) &amp; this led me to <a href="http://msdn.microsoft.com/en-us/library/ms762776(VS.85).aspx">MSXML&#8217;s implementation of SAX2</a>. She was delighted; although many of the concepts would have been new to her, at least they were bounded within a world she was already comfortable with (the basis of how we all manage to incrementally expand our knowledge).</p>
<p>The only problem was, the example code no longer existed (it would have been in VB6, but who uses that these days, other than a few million VBA para-programmers, <em>let them eat the .NET cake</em>). So I coded up the first example in Excel/VBA and <a href="http://bit.ly/bdLBJS">here it is if you need a quick-start to the joys of SAX2</a>.</p>
<h3>Which leads me on to XBRuLe:</h3>
<h6><em>&#8220;One XML to rule</em><em> them all, One XML to find them, One XML to bring them all and in the darkness bind them&#8230;&#8221;</em></h6>
<p>A former colleague of mine when explaining his computer science studies to <a href="http://en.wikipedia.org/wiki/County_Meath">Meath</a> farmers whom he regularly met while hitch-hiking home from college (mid-1970s) was usually met with the response: <em>&#8220;Ah computers, dere de </em><em>comin</em><em>&#8216; </em><em>t&#8217;ing</em><em>&#8220;</em>. XBRL has been the <em>coming thing</em> for quite a while now.</p>
<p>Being in the business of Business Reporting, XBRL has always been on the radar, and of late, the radar is showing incoming fire. First the <a href="http://hitachidatainteractive.com/2010/01/11/xbrl-filings-for-the-sec-not-for-the-faint-of-heart-part-iv/">SEC</a>, and now the <a href="http://www.hmrc.gov.uk/ebu/ct_techpack/index.htm">UK&#8217;s </a><a href="http://www.hmrc.gov.uk/ebu/ct_techpack/index.htm">HMRC</a>, are mandating it as a filing method. Whether this is a good thing or not, is open to question. As this article puts it: &#8220;XBRL is a  case study in complexity&#8221; <a rel="nofollow" href="http://bit.ly/951oEY" target="_blank">http://bit.ly/951oEY</a> &#8220;the producer of the sample must have suffered a polymorphic recursive brain meltdown&#8221;.</p>
<p>But needs be; I&#8217;m in the business of shaping difficult data, so I&#8217;ve started to re-acquaint myself with the subject (last time I looked at XBRL in any depth was 2004). Part of that process will be to beef-up xLite&#8217;s XML capability, which, with me being on the table side of the <a href="http://blog.gobansaor.com/2007/03/03/tables-vs-xml-the-data-lingua-franca-debate/">&#8220;Tables Vs. XML; the data lingua franca debate</a>&#8220;, will involve getting the data into a relational form at the earliest possible moment. For example, for discovery I would use a classic parent-child recursive structure, but not having something like <a href="http://www.adp-gmbh.ch/ora/sql/connect_by.html">Oracle&#8217;s Start-with</a>, adding  a virtual table to make navigating such hierarchies easier with SQLite.</p>
<p>If anybody is peddling to you the concept that this brave new word of XBRL powered reporting will make your business reporting life easier, they&#8217;re either lying or don&#8217;t fully understand what they&#8217;re selling. As 19th century industrialists were wont to say: &#8220;Where there&#8217;s muck, there&#8217;s brass&#8221;; and with XBRL, you&#8217;ll be up to your <a href="http://www.medterms.com/script/main/art.asp?articlekey=25484">oxters</a> in muck, but with the brass all flowing to others, perhaps even to me!</p>
<div><span style="font-family:'Lucida Grande', sans-serif;line-height:16px;font-size:14px;"><span class="status-content" style="margin:0;padding:0;"><span class="entry-content" style="margin:0;padding:0;"><br />
</span></span></span></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gobansaor.wordpress.com/908/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gobansaor.wordpress.com/908/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gobansaor.wordpress.com/908/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gobansaor.wordpress.com/908/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gobansaor.wordpress.com/908/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gobansaor.wordpress.com/908/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gobansaor.wordpress.com/908/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gobansaor.wordpress.com/908/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gobansaor.wordpress.com/908/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gobansaor.wordpress.com/908/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gobansaor.com&blog=110633&post=908&subd=gobansaor&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.gobansaor.com/2010/05/06/sax-and-bugs-and-xbrool/feed/</wfw:commentRss>
		<slash:comments>1</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=identicon&#38;r=G" medium="image">
			<media:title type="html">gobansaor</media:title>
		</media:content>

		<media:content url="http://img.youtube.com/vi/gBLeVcP_JQg/2.jpg" medium="image" />
	</item>
		<item>
		<title>xLite Beta Updated &#8211; adds Python as an Excel Scripting Language</title>
		<link>http://blog.gobansaor.com/2010/02/07/xlite-beta-updated-adds-python-as-an-excel-scripting-language/</link>
		<comments>http://blog.gobansaor.com/2010/02/07/xlite-beta-updated-adds-python-as-an-excel-scripting-language/#comments</comments>
		<pubDate>Sun, 07 Feb 2010 17:02:37 +0000</pubDate>
		<dc:creator>Tom Gleeson</dc:creator>
				<category><![CDATA[BI]]></category>
		<category><![CDATA[ETL]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[excel]]></category>
		<category><![CDATA[xLite]]></category>

		<guid isPermaLink="false">http://blog.gobansaor.com/?p=846</guid>
		<description><![CDATA[I&#8217;ve updated the xLite Beta with bug fixes and added a new page introducing xLite&#8217;s Excel/VBA and Python extensions to SQLite. See http://www.gobansaor.com/xlite The u() function allows any VBA UDF (user defined functions) to be called from SQLite. The x() function allows an inbuilt function or indeed most any formula (but not a UDF, use [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gobansaor.com&blog=110633&post=846&subd=gobansaor&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve updated the xLite Beta with bug fixes and added a new page introducing xLite&#8217;s Excel/VBA and Python extensions to SQLite.</p>
<p>See <a href="http://www.gobansaor.com/xlite">http://www.gobansaor.com/xlite</a></p>
<p>The u() function allows any VBA UDF (<a href="http://www.ozgrid.com/VBA/Functions.htm">user defined functions</a>) to be called from SQLite.</p>
<p>The x() function allows an inbuilt function or indeed most any formula (but not a UDF, use u() instead) to be called from SQLite.</p>
<p>The f() function allows for standard worksheet cascading formulas to be referenced by SQL, in effect, <em>worksheet user defined functions</em>.  Really useful in building &amp; testing workbook code/models.</p>
<p>Finally, xLitePyScript is a UDF that allows Python to be used as an Excel scripting language.  Can either be inserted into a SQL statement wrapped by the u() function or called like a regular function from VBA or as a cell formula.</p>
<p><a href="http://www.gobansaor.com/xlite">Have fun &#8230;</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gobansaor.wordpress.com/846/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gobansaor.wordpress.com/846/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gobansaor.wordpress.com/846/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gobansaor.wordpress.com/846/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gobansaor.wordpress.com/846/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gobansaor.wordpress.com/846/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gobansaor.wordpress.com/846/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gobansaor.wordpress.com/846/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gobansaor.wordpress.com/846/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gobansaor.wordpress.com/846/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gobansaor.com&blog=110633&post=846&subd=gobansaor&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.gobansaor.com/2010/02/07/xlite-beta-updated-adds-python-as-an-excel-scripting-language/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=identicon&#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>Tom Gleeson</dc:creator>
				<category><![CDATA[BI]]></category>
		<category><![CDATA[GoogleApps]]></category>
		<category><![CDATA[Groovy]]></category>
		<category><![CDATA[Palo]]></category>
		<category><![CDATA[olap]]></category>
		<category><![CDATA[Worksheet Server]]></category>
		<category><![CDATA[Palo BI Suite]]></category>
		<category><![CDATA[Community Edition]]></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 a Release Candidate due 1st September. Although the announcement in April was essentially vapour-ware (no [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gobansaor.com&blog=110633&post=709&subd=gobansaor&ref=&feed=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/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&blog=110633&post=709&subd=gobansaor&ref=&feed=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=identicon&#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>Tom Gleeson</dc:creator>
				<category><![CDATA[BI]]></category>
		<category><![CDATA[ETL]]></category>
		<category><![CDATA[Talend]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[kettle]]></category>
		<category><![CDATA[olap]]></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 BI platform have not escaped me. From a micro-BI perspective, the ability to act as [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gobansaor.com&blog=110633&post=686&subd=gobansaor&ref=&feed=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/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&blog=110633&post=686&subd=gobansaor&ref=&feed=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=identicon&#38;r=G" medium="image">
			<media:title type="html">gobansaor</media:title>
		</media:content>
	</item>
		<item>
		<title>PowerPivot &#8211; XXL, Excel on Steroids</title>
		<link>http://blog.gobansaor.com/2009/04/01/project-gemini-xxl-excel-on-steroids/</link>
		<comments>http://blog.gobansaor.com/2009/04/01/project-gemini-xxl-excel-on-steroids/#comments</comments>
		<pubDate>Wed, 01 Apr 2009 11:47:52 +0000</pubDate>
		<dc:creator>Tom Gleeson</dc:creator>
				<category><![CDATA[BI]]></category>
		<category><![CDATA[ETL]]></category>
		<category><![CDATA[PowerPivot]]></category>
		<category><![CDATA[SQLite]]></category>
		<category><![CDATA[excel]]></category>
		<category><![CDATA[Excel 2010]]></category>
		<category><![CDATA[Project Gemini]]></category>
		<category><![CDATA[Workgroup BI]]></category>

		<guid isPermaLink="false">http://blog.gobansaor.com/?p=662</guid>
		<description><![CDATA[In my last post about why I use SQLite in combination with Excel for datasmithing tasks, I listed the more traditional backends (Excel itself, MS Access, RDBMs &#38; MOLAP cubes) that one would expect to &#8220;compete&#8221; with such an idea.   But I suspect that if that same post appeared  two years or so into [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gobansaor.com&blog=110633&post=662&subd=gobansaor&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>In my <a href="http://blog.gobansaor.com/2009/03/14/sqlite-as-the-mp3-of-data/">last post</a> about why I use SQLite in combination with Excel for datasmithing tasks, I listed the more traditional backends (Excel itself, MS Access, RDBMs &amp; MOLAP cubes) that one would expect to &#8220;compete&#8221; with such an idea.   But I suspect that if that same post appeared  two years or so into the future, there would be a fifth contender, PowerPivot cubes.</p>
<p>PowerPivot (at the time it was called ProjectGemini) is due to be delivered as a free add-in to the next version of Excel (2010) ,like the Analysis ToolPak or the Data Mining add-ins for Excel 2003.  (See this OLAP Report <a href="http://www.olapreport.com/Comment_Gemini.htm">Project Gemini, Microsoft&#8217;s Brillaint Trojan Horse</a> for a good overview of the tool).</p>
<p><a href="http://twitter.com/donalddotfarmer">Donald Farmer</a> ,who works on the project, having seen the <a href="http://blog.gobansaor.com/2009/03/14/sqlite-as-the-mp3-of-data/">SQLite as the MP3 of data</a> post and recognising that the <a href="http://en.wikipedia.org/wiki/Use_case">use cases</a> behind combining SQLite with Excel were similar to those of Project Gemini, kindly offered me a demo of the product.  Well, the phrase &#8220;Excel on steroids&#8221; has been much used in the past (in particular of add-ins such as Essbase, Palo or TM1) but this &#8220;ya gotta see&#8221;, Donald likes to call it XXL.</p>
<p>Millions of rows of data in-memory on a 4GB PC being &#8220;modeled&#8221; using a &#8220;user-friendly&#8221; pivot-table-like interface. And when I say, modelled, the user isn&#8217;t being confronted with concepts such as dimensions, levels, attributes, facts and so on, but a classic star schema model is nevertheless being built behind the scenes.  And it&#8217;s this model that allows PowerPivot to escape some of the inadequacies of pivot tables, e.g. allowing for rules and hierarchies to be defined.  The resulting model can then be saved and shared as a file (keeping to the document-centric ethos of Excel) but it can also be posted to and managed by SharePoint.</p>
<p>SharePoint will be extended to allow the IT function to manage and audit shared models to whatever degree the organisation requires, but the single file format will also allow smaller groups to share without the need for IT involvement (essential if bottom-up adoption is to be encouraged).  SharePoint will also add the &#8220;Web2.0 collaboration layer&#8221;.</p>
<p>How will MS make money from this if it&#8217;s free?  The first clue is the SharePoint backend, more functionality means more reasons to purchase and use MS&#8217;s server stack and the same applies to Excel itself. I, like many others, are very happy using Excel 2003 and look on Excel 2007 the same way the market in general has looked on Vista; i.e. pretty, but lacking a strong enough reason to upgrade unless forced to do so. (Excel 2007 also has the ribbon issue, not one I find a major problem myself, <a href="http://smurfonspreadsheets.wordpress.com/2009/03/13/the-ribbon-bet/">but others do</a>).  But I would upgrade to a version Excel that offered Project Gemini capabilities and I&#8217;m sure others would follow (and more importantly to MS&#8217;s revenues, thousands of corporate accounts would too).</p>
<p>PowerPivot offers proof that MS realises, what those of us on the ground have know for years, that BI projects are in the main, Excel-centric; all the &#8216;hard sums&#8217;  and awkward decisions end-up back on the desktop.  MS has decided to publicly recognise that fact and profit from it. The timing is both economically and technically opportune; PC speed and cheap memory means that a huge chunk of even a large corporation&#8217;s datasets can be analysed by a PC (<a href="http://www.b-eye-network.com/view/9752">according to this</a>, the median size of original data in OLAP datasets is about 5GB); and there&#8217;s obvious cost-benefits for companies facing difficult times requiring more to be done with fewer resources.</p>
<p>What will the effect be on tools such as Essbase, TM1, Palo etc. ?  Well, let me put it this way, if their owners are making strategic plans for 2010 onwards and they&#8217;re not taking account of the PowerPivot effect perhaps they should.  Most likely PowerPivot will help increase the overall market for OLAP tools, with the incumbents tending to specialise in their existing niches (e.g. <a href="http://www.jedox.com/en/Sample-Uses-of-Palo/Budget-and-Corporate-Planning.html">Palo in Budgeting</a>, with the added value of being free and open source, which has a premium over just being &#8216;free&#8217;).</p>
<p>So will I put away my Excel-SQLite fixation then? No, for two reasons:</p>
<ul>
<li>PowerPivot is not here yet, and the proof of the pudding will be in the eating. Also, when it does appear it will only apply to Excel 2010 (or whatever) and as many companies are still on Office 2000 (and a few on 97!), it&#8217;ll be at least  5 years before a significant percentage of sites upgrade.</li>
<li>The SQLite addition to Excel offers not just BI capabilities but also makes a nimble ETL and data integration engine. I&#8217;m also experimenting with Amazon S3 integration to enable simple work-flows for small distributed teams (or even same-office groups where <a href="http://blog.gobansaor.com/2007/12/17/the-wan-is-the-new-lan/">the WAN is the new LAN</a>).</li>
</ul>
<p>Whether you agree or not in the validity of  &#8221;<a href="http://esj.com/Articles/2009/03/25/Workgroup-BI-Poised-for-a-Comeback.aspx?Page=1">workgroup BI</a>&#8220;, be aware that MS does and it thinks that BI is about to enter a new phase,  for proof see MS&#8217;s <a href="http://twitter.com/nicfish">Nic Smith&#8217;s</a> <a href="http://blogs.msdn.com/bi/archive/2009/03/22/history-of-business-intelligence.aspx">The History of Business Intelligence</a> video.</p>
<p>UPDATE: 19th Nov 2009</p>
<p>Last evening I downloaded for the 1st time both Excel 2010 Beta and the <a href="http://twitter.com/gobansaor/status/5840829440">PowerPivot (new name for Gemini) add-in</a>.  First impressions; yep, in the flesh it&#8217;s just as impressive as the above demo led me to believe it would be.  As I said on Twitter last night <a href="http://twitter.com/gobansaor/status/5840829440"><em>Datasmiths of the world; download the Excel 2010 Beta and PowerPivot add-in; this ya gotta see!!!</em></a></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/662/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gobansaor.wordpress.com/662/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gobansaor.wordpress.com/662/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gobansaor.wordpress.com/662/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gobansaor.wordpress.com/662/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gobansaor.wordpress.com/662/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gobansaor.wordpress.com/662/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gobansaor.wordpress.com/662/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gobansaor.wordpress.com/662/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gobansaor.wordpress.com/662/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gobansaor.com&blog=110633&post=662&subd=gobansaor&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.gobansaor.com/2009/04/01/project-gemini-xxl-excel-on-steroids/feed/</wfw:commentRss>
		<slash:comments>12</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=identicon&#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>Tom Gleeson</dc:creator>
				<category><![CDATA[BI]]></category>
		<category><![CDATA[ETL]]></category>
		<category><![CDATA[Palo]]></category>
		<category><![CDATA[SQLite]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[excel]]></category>
		<category><![CDATA[olap]]></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 xLite) as my datasmithing platform, many ask why SQLite? (Many others ask why Excel?  but &#8220;sin scéal eile&#8221;, that&#8217;s another discussion &#8211; Excel as the iPod of Downloaded Data.) Those that question my use of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gobansaor.com&blog=110633&post=622&subd=gobansaor&ref=&feed=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://www.gobansaor.com/xlite"> <strong>xLite</strong></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.</p>
<p>By integrating SQLite with Excel, datasmiths can have the best of both worlds, familiar <a href="http://smurfonspreadsheets.wordpress.com/2007/02/20/accel-or-excess/">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/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&blog=110633&post=622&subd=gobansaor&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.gobansaor.com/2009/03/14/sqlite-as-the-mp3-of-data/feed/</wfw:commentRss>
		<slash:comments>19</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=identicon&#38;r=G" medium="image">
			<media:title type="html">gobansaor</media:title>
		</media:content>
	</item>
		<item>
		<title>Spending time on Excel-SQLite, C, VBA Callbacks &amp; Twitter</title>
		<link>http://blog.gobansaor.com/2008/11/20/spending-time-on-excel-sqlite-c-vba-callbacks-twitter/</link>
		<comments>http://blog.gobansaor.com/2008/11/20/spending-time-on-excel-sqlite-c-vba-callbacks-twitter/#comments</comments>
		<pubDate>Thu, 20 Nov 2008 12:44:52 +0000</pubDate>
		<dc:creator>Tom Gleeson</dc:creator>
				<category><![CDATA[BI]]></category>
		<category><![CDATA[ETL]]></category>
		<category><![CDATA[Palo]]></category>
		<category><![CDATA[SQLite]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[Web2.0]]></category>
		<category><![CDATA[excel]]></category>
		<category><![CDATA[xLite]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://gobansaor.wordpress.com/?p=573</guid>
		<description><![CDATA[Haven&#8217;t posted here in a while as my spare time has been soaked up programing, well actually refactoring would be more exact.  My xLite &#8220;SQLite empowered Excel&#8221; codebase has grown over the years and required a serious makeover to get rid of stuff I no longer use and to generally make it more robust.  I [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gobansaor.com&blog=110633&post=573&subd=gobansaor&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>Haven&#8217;t posted here in a while as my spare time has been soaked up programing, well actually <a href="http://en.wikipedia.org/wiki/Refactoring">refactoring</a> would be more exact.  My xLite &#8220;SQLite empowered Excel&#8221; codebase has grown over the years and required a serious makeover to get rid of stuff I no longer use and to generally make it more robust.  I also decided to add some extra functionality to my VBA friendly C wrapper for SQLite (based on Pivotal Solutions&#8217; pssqlite.dll) which meant I had to re-acquaint myself with my long lost C skills, so doing reminded me how much I like C. Close to the metal programing if not exactly super-productive is nevertheless super-powerful.</p>
<p>The new improved xLiteSQLite.dll now has a built-in CSV loader (both file based and string based &#8211; handy for loading <a href="http://en.wikipedia.org/wiki/Palo_(OLAP_database)">Palo</a> HTTP API responses into a table). It also returns a one columned variant array of CSV values for quick rendering via &#8220;text-to-columns&#8221; code (by far the quickest way of handling large dataset pasting into Excel).</p>
<p>I&#8217;ve also added the ability to create SQlite UDFs (user defined functions) in VBA (thanks to <a href="http://stackoverflow.com/users/4007/rpetrich">http://stackoverflow.com/users/4007/rpetrich)</a>.  This is a very powerful feature as it allows SQLite selects to act as a &#8220;loop controller&#8221; calling back to  Excel/VBA functions to process each row, really useful for ETL tasks. And not just <a href="http://www.sqlite.org/c3ref/create_function.html">scalar UDFs but aggregating (aka group-by) functions too</a>, allowing the use of Excel&#8217;s powerful array functions in SQLite statements.</p>
<p>All in all, the changes to the xLite VBA code and the C wrapper makes Excel backed by SQLite a seriously good micro-ETL tool. Combined with <a href="http://www.palo.net">Palo</a>, the result in a truly wonderful micro-BI platform; a cost-effective toolset for these recessionary times.</p>
<p>Of course I&#8217;d be lying if I said code was the only reason I&#8217;ve been neglecting my blogging duties, I&#8217;m afraid I&#8217;ve a confession to make, Twitter has hooked yet another sucker, <a href="http://twitter.com/gobansaor">me!</a> </p>
<p>I&#8217;ve found I&#8217;ve settled in to the whole micro-blogging thing with ease, and have managed to make contact with people I would not have encountered otherwise, as well as reconnecting with others that I&#8217;d lost contact with.  So if you too are all-a-twitter then do please follow <a href="http://twitter.com/gobansaor">gobansaor-on-twitter</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gobansaor.wordpress.com/573/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gobansaor.wordpress.com/573/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gobansaor.wordpress.com/573/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gobansaor.wordpress.com/573/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gobansaor.wordpress.com/573/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gobansaor.wordpress.com/573/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gobansaor.wordpress.com/573/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gobansaor.wordpress.com/573/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gobansaor.wordpress.com/573/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gobansaor.wordpress.com/573/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gobansaor.com&blog=110633&post=573&subd=gobansaor&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.gobansaor.com/2008/11/20/spending-time-on-excel-sqlite-c-vba-callbacks-twitter/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b714f82b5e24beb3b74779615b6ad969?s=96&#38;d=identicon&#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>Tom Gleeson</dc:creator>
				<category><![CDATA[BI]]></category>
		<category><![CDATA[Palo]]></category>
		<category><![CDATA[excel]]></category>
		<category><![CDATA[olap]]></category>
		<category><![CDATA[Mondrian]]></category>
		<category><![CDATA[XMLA]]></category>
		<category><![CDATA[essbase]]></category>
		<category><![CDATA[MDX]]></category>
		<category><![CDATA[ODBO]]></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, as MOLAP to most Excel users IS a Pivot Table, and somewhat like the NRA, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gobansaor.com&blog=110633&post=539&subd=gobansaor&ref=&feed=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/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&blog=110633&post=539&subd=gobansaor&ref=&feed=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=identicon&#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>