<?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/"
	>

<channel>
	<title>Microstrategy Blog</title>
	<atom:link href="http://microstrategyblog.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://microstrategyblog.com</link>
	<description>Unofficial Tips, Tricks and Information about Microstrategy.</description>
	<lastBuildDate>Wed, 10 Mar 2010 03:48:41 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Free Tableau</title>
		<link>http://microstrategyblog.com/2010/03/free-tableau/</link>
		<comments>http://microstrategyblog.com/2010/03/free-tableau/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 03:46:24 +0000</pubDate>
		<dc:creator>Jeremy</dc:creator>
				<category><![CDATA[Not Microstrategy]]></category>

		<guid isPermaLink="false">http://microstrategyblog.com/?p=959</guid>
		<description><![CDATA[A friend of mine caught this link on LifeHack&#8230;Free Tableau Public&#8230;Interesting enough to play around with as long as you&#8217;re not playing with private data.
Been gearing up for finals oh loyal reader base of 3 people.  I&#8217;ll get to development&#8230;during spring break (this is how I party).
]]></description>
			<content:encoded><![CDATA[<p>A friend of mine caught this link on <a href="http://lifehacker.com/5487656/tableau-public-brings-your-boring-data-to-life">LifeHack</a>&#8230;Free Tableau Public&#8230;Interesting enough to play around with as long as you&#8217;re not playing with private data.</p>
<p>Been gearing up for finals oh loyal reader base of 3 people.  I&#8217;ll get to development&#8230;during spring break (this is how I party).</p>
]]></content:encoded>
			<wfw:commentRss>http://microstrategyblog.com/2010/03/free-tableau/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Time Out &#8211; Tune the Project</title>
		<link>http://microstrategyblog.com/2010/02/time-out-tune-the-project/</link>
		<comments>http://microstrategyblog.com/2010/02/time-out-tune-the-project/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 04:58:08 +0000</pubDate>
		<dc:creator>Jeremy</dc:creator>
				<category><![CDATA[Administrator]]></category>
		<category><![CDATA[Basic Series]]></category>

		<guid isPermaLink="false">http://microstrategyblog.com/?p=953</guid>
		<description><![CDATA[Another in the &#8220;Basic&#8221; series (because that&#8217;s about my knowledge level) .
One of the things that you might come across as an Administrator or a Project Manager is a &#8220;Time Out Error&#8221;.  Now most Architects or Project management people will set this in such a way that it allows for your reports to develop, [...]]]></description>
			<content:encoded><![CDATA[<p>Another in the &#8220;Basic&#8221; series (because that&#8217;s about my knowledge level) .</p>
<p>One of the things that you might come across as an Administrator or a Project Manager is a &#8220;Time Out Error&#8221;.  Now most Architects or Project management people will set this in such a way that it allows for your reports to develop, but also times out if your users somehow manage to work themselves into some sort of weird outer cross join magic.</p>
<p>So, say the standard 10 minutes on install isn&#8217;t enough because you&#8217;re dealing with a million rows joined to 13 tables. (It happens.  Trust Me.)</p>
<p>Right click on your project name and select <strong>Project Configuration</strong>.  Or, highlight the project you want to adjust and under the <strong>Administration</strong> Menu, select <strong>Project Configuration</strong>.</p>
<p>You can click through to the image below for a larger view.</p>
<p><a href="http://microstrategyblog.com/wp-content/uploads/2010/02/1002-timeout.jpg"><img src="http://microstrategyblog.com/wp-content/uploads/2010/02/1002-timeout-300x212.jpg" alt="" title="1002-timeout" width="300" height="212" class="aligncenter size-medium wp-image-954" /></a></p>
<p>On the left hand side the third option down is called <strong>Governing</strong>.  This is in MicroStrategy 9 by the way, so it might be slightly different order in 8.  The first option is called <strong>Results Set</strong>.  As you can see in the highlighted section, this is where your interactive and scheduled reports timing is governed.  Adjust them based on seconds.  Keep in mind, if you make it too high, you&#8217;re going to have a cranky analyst calling and asking why his report won&#8217;t stop running, as opposed to why his report just timed out.  Either way, remember it&#8217;s his fault.</p>
]]></content:encoded>
			<wfw:commentRss>http://microstrategyblog.com/2010/02/time-out-tune-the-project/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Looking for opportunities in Toronto</title>
		<link>http://microstrategyblog.com/2010/02/looking-for-opportunities-in-toronto/</link>
		<comments>http://microstrategyblog.com/2010/02/looking-for-opportunities-in-toronto/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 16:00:20 +0000</pubDate>
		<dc:creator>sorin.suciu</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://microstrategyblog.com/?p=946</guid>
		<description><![CDATA[I have recently gained the Permanent Resident status for Canada and I will be moving in Toronto next month. Hurray!!!      
So if you are one of our frequent readers from GTA and you just happen to know a place well suited for an experienced and innovative MicroStrategy developer, please contact [...]]]></description>
			<content:encoded><![CDATA[<p>I have recently gained the Permanent Resident status for Canada and I will be moving in Toronto next month. Hurray!!! <img src='http://microstrategyblog.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://microstrategyblog.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://microstrategyblog.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>So if you are one of our frequent readers from GTA and you just happen to know a place well suited for an experienced and innovative MicroStrategy developer, please contact me at <a href="mailto:ssorin@gmail.com">ssorin@gmail.com</a> or check out my full profile at <a href="http://www.linkedin.com/in/sorinsuciu">http://www.linkedin.com/in/sorinsuciu</a>.</p>
<p><a href="http://microstrategyblog.com/author/sorinsuciu/">Sorin Suciu</a></p>
]]></content:encoded>
			<wfw:commentRss>http://microstrategyblog.com/2010/02/looking-for-opportunities-in-toronto/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Metadata Browser v2.0</title>
		<link>http://microstrategyblog.com/2010/02/metadata-browser-v2-0/</link>
		<comments>http://microstrategyblog.com/2010/02/metadata-browser-v2-0/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 13:44:06 +0000</pubDate>
		<dc:creator>sorin.suciu</dc:creator>
				<category><![CDATA[Downloadable]]></category>
		<category><![CDATA[Enhancement]]></category>
		<category><![CDATA[MicroStrategy 9.0]]></category>
		<category><![CDATA[Metadata Browser]]></category>
		<category><![CDATA[Microstrategy]]></category>

		<guid isPermaLink="false">http://microstrategyblog.com/?p=933</guid>
		<description><![CDATA[While the merge with Object Tracking Tool is still in development, I am proud to introduce the new and improved version of Metadata Browser, which you can download here: MBsetupV2.0.exe
Improved Documentation Tool
New properties are now retrieved for common object types:

Metrics: dimensionality, condition, transformation, smart (yes/no)
Attributes: form, lookup table, child &#38; parent relations
Filters: expression
Prompts: item list

Change [...]]]></description>
			<content:encoded><![CDATA[<p>While the merge with Object Tracking Tool is still in development, I am proud to introduce the new and improved version of Metadata Browser, which you can download here: <a href="http://microstrategyblog.com/wp-content/uploads/2010/02/MBsetupV2.0.exe" target="_blank">MBsetupV2.0.exe</a></p>
<p><span style="text-decoration: underline"><strong>Improved Documentation Tool</strong></span><br />
New properties are now retrieved for common object types:</p>
<ul>
<li><strong>Metrics</strong>: dimensionality, condition, transformation, smart (yes/no)</li>
<li><strong>Attributes</strong>: form, lookup table, child &amp; parent relations</li>
<li><strong>Filters</strong>: expression</li>
<li><strong>Prompts</strong>: item list</li>
</ul>
<p><span style="text-decoration: underline"><strong>Change Journal Tools</strong></span><br />
This new function only works with MicroStrategy version 9.0 or higher and it either shows the Change Journal entries for a single object or for all the objects in a particular folder.</p>
<p><span style="text-decoration: underline"><strong>God Mode</strong></span><br />
If you have admin rights you can connect using “God Mode” and thus gain access to hidden system files. An interesting use (found during the test phase) is to navigate to System Objects\Columns and make dependency searches directly on Columns.</p>
<p><span style="color: #000080"><strong>This is a read only application. Using it won’t cause any changes to your Metadata.</strong></span></p>
]]></content:encoded>
			<wfw:commentRss>http://microstrategyblog.com/2010/02/metadata-browser-v2-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ah, The Frustration</title>
		<link>http://microstrategyblog.com/2010/02/ah-the-frustration/</link>
		<comments>http://microstrategyblog.com/2010/02/ah-the-frustration/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 07:54:39 +0000</pubDate>
		<dc:creator>Jeremy</dc:creator>
				<category><![CDATA[Notes From an Install]]></category>

		<guid isPermaLink="false">http://microstrategyblog.com/?p=926</guid>
		<description><![CDATA[I remember it well.  Long night spent trying to figure out how best to line metrics up next to each other.  Hours spend trying to figure out if it&#8217;s more work just creating you&#8217;re own logical table to solve that stupid cross join problem that won&#8217;t go away.  I&#8217;m reticent to consult [...]]]></description>
			<content:encoded><![CDATA[<p>I remember it well.  Long night spent trying to figure out how best to line metrics up next to each other.  Hours spend trying to figure out if it&#8217;s more work just creating you&#8217;re own logical table to solve that stupid cross join problem that won&#8217;t go away.  I&#8217;m reticent to consult the MicroStrategy web site because it really does just feel like I&#8217;m copping out&#8230;</p>
<p>If you have a static warehouse that the designers are committed to, what else is your option?</p>
<p>Late night..</p>
<p><strong>Addendum</strong>:  You know sometimes I forget that SQL optimization is just that&#8230;optimization.  I can some time putting together a quality query that&#8217;s going to return data on a specific products ships and returns.  Let&#8217;s assume that each of these products have a distinct way of being tracked.  I might throw together a hand done query that populates the list of these specific reference numbers from the ship table so that I can do a left join against the shipping data so I can see specific returns against the specific ships, and then aggregate those solutions, but did you see what I just did?  I went through the trouble of matching thousands of records against each other&#8230;and for what?  So that I can later aggregate the data with some sort of group by.</p>
<p>Enter SQL optimization.  Solves the problem in a quicker way that I probably wouldn&#8217;t have crossed my mind since it works in a linear fashion.</p>
<ol>
<li>Get ships.</li>
<li>Get returns.</li>
<li>Left join ships to returns based on unique ID.</li>
<li>Count records in relevant columns.</li>
<li>Group by necessary items.</li>
</ol>
<p>But&#8230;why is the detail necessary?</p>
<p>MicroStrategy fixes.</p>
<p style="padding-left: 30px;">(<br />
<span style="color: #0000ff;">select</span> a12.date,<br />
count(a11.sales_number)  SALES_COUNT<br />
<span style="color: #0000ff;">from</span> sales	a11<br />
<span style="color: #0000ff;">where</span> (a11.item_desc = &#8216;widget&#8217;)<br />
<span style="color: #0000ff;">group by</span><br />
a11.date<br />
)	pa11</p>
<p>full outer join</p>
<p style="padding-left: 30px;">(<br />
<span style="color: #0000ff;">select</span> a11.date,<br />
count(a11.rma_number)  RMA_COUNT<br />
<span style="color: #0000ff;">from</span> rma	a11)<br />
<span style="color: #0000ff;">where</span> (a11.item_desc = &#8216;widget&#8217;)<br />
<span style="color: #0000ff;">group by</span><br />
a11.date<br />
)	pa12</p>
<p>on<br />
<span style="color: #ff0000;">(pa11.date = pa12.date)</span></p>
<p>Makes much more sense.  Why join early when all you care about is the aggregate&#8230;join on the aggregate!</p>
<p>Duh.</p>
]]></content:encoded>
			<wfw:commentRss>http://microstrategyblog.com/2010/02/ah-the-frustration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Urgent rek-looking for Microstrategy Architect</title>
		<link>http://microstrategyblog.com/2010/01/urgent-rek-looking-for-microstrategy-architect/</link>
		<comments>http://microstrategyblog.com/2010/01/urgent-rek-looking-for-microstrategy-architect/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 07:38:19 +0000</pubDate>
		<dc:creator>aparna</dc:creator>
				<category><![CDATA[Community]]></category>

		<guid isPermaLink="false">http://microstrategyblog.com/?p=905</guid>
		<description><![CDATA[I am looking for a Micro Strategy Lead / Architect for a position in PA . Need only GC or Citizen.
 
Please mail me at aparnarecruiter2004@gmail.com
Interview guaranteed . Location Allentown, pa.
 
Preferred qualifications:
 
1.       5 or more years of experience in Information Technology.
2.       Specific Knowledge with MicroStrategy (v8 or v9) required.
3.       Experience with ETL toolset required, Informatica 9v7.1) preferred.
4.       [...]]]></description>
			<content:encoded><![CDATA[<p>I am looking for a Micro Strategy Lead / Architect for a position in PA . Need only GC or Citizen.<br />
 </p>
<p>Please mail me at <a href="mailto:aparnarecruiter2004@gmail.com">aparnarecruiter2004@gmail.com</a><br />
Interview guaranteed . Location Allentown, pa.<br />
 <br />
Preferred qualifications:<br />
 <br />
1.       5 or more years of experience in Information Technology.<br />
2.       Specific Knowledge with MicroStrategy (v8 or v9) required.<br />
3.       Experience with ETL toolset required, Informatica 9v7.1) preferred.<br />
4.       Experience with Establishing and leveraging BI architecture and strategy required.<br />
5.       A well rounded BI architect/Developer<br />
6.       Working knowledge of many processes of a major business area for the purpose of supporting their information.<br />
7.       Working knowledge and broad expertise in most areas of information technology (Ex: programming languages, Database technology, Information delivery tools, Object Oriented Technology, Workflow, client server tools and techniques) across multiple business platforms (ex: enterprise server, PC, Client/Server etc).<br />
8.       In-depth knowledge of major computer based application systems supporting a business area including critical systems functions, interfaces and data dependencies.<br />
9.       Excellent communication skills and ability to build effective relationships with business leaders at all levels.<br />
10.   Ability to leverage existing environment while driving towards best practices throughout areas of responsibility.</p>
]]></content:encoded>
			<wfw:commentRss>http://microstrategyblog.com/2010/01/urgent-rek-looking-for-microstrategy-architect/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Starting Over &#8211; Notes From an Install</title>
		<link>http://microstrategyblog.com/2010/01/starting-over-notes-from-an-install/</link>
		<comments>http://microstrategyblog.com/2010/01/starting-over-notes-from-an-install/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 07:35:04 +0000</pubDate>
		<dc:creator>Jeremy</dc:creator>
				<category><![CDATA[Notes From an Install]]></category>

		<guid isPermaLink="false">http://microstrategyblog.com/?p=908</guid>
		<description><![CDATA[Starting Fresh.
I&#8217;m creating a Demo MicroStrategy Development install for the new place.  The ultimate goal, I think is to get away from the in house development, which can be tedious, and move towards the fully SOA solution.  
I already have SQL Development Server on my laptop, so I&#8217;m going to be using that [...]]]></description>
			<content:encoded><![CDATA[<p>Starting Fresh.</p>
<p>I&#8217;m creating a Demo MicroStrategy Development install for the new place.  The ultimate goal, I think is to get away from the in house development, which can be tedious, and move towards the fully <a href="http://en.wikipedia.org/wiki/Service-oriented_architecture">SOA</a> solution.  </p>
<p><div id="attachment_909" class="wp-caption alignleft" style="width: 269px"><a href="http://microstrategyblog.com/wp-content/uploads/2010/01/1001_Tutorial.png"><img src="http://microstrategyblog.com/wp-content/uploads/2010/01/1001_Tutorial.png" alt="" title="1001_Tutorial" width="259" height="359" class="size-full wp-image-909" style="border: 1px solid #000000; padding: 3px;"/></a><p class="wp-caption-text">The Beginning</p></div>I already have SQL Development Server on my laptop, so I&#8217;m going to be using that as the Metadata/Statistics/History Database.  I have to fun of bridging to a Teradata Database for the actual project&#8230;which is going to be interesting, considering I&#8217;ve always used SQL normalized data warehouses, so this will be a welcome change.</p>
<p>I&#8217;m using Windows 7 on a Dell Latitude E4300 Laptop, P9600 @ 2.53 gHz and 4 gigs of RAM.  So, it should be fine for Demo Purposes.</p>
<p>First off, I forgot how quick the install process is (all things considered), as well as how simple the interface is for defining your various data sources.  Make sure also to install the Tutorial if you&#8217;re new to the process.  You can learn more from the Tutorial and Analytics projects than any manual that MicroStrategy provides, at least for me.  Based on my new job functions, I&#8217;m becoming increasingly interested in the statistical modeling capabilities of MicroStrategy.</p>
<p>As a side note:  if you want to waste some time, and you have an error on your Intelligence Server when you try to start it that states:</p>
<blockquote><p>&#8220;Failed to start service Error Code: -1 Error Message: StartUpManager::StartUpManager():LoadServerDef failed. Return Code: 0&#215;80041404&#8242;&#8221;</p></blockquote>
<p>Here&#8217;s a hint for you&#8230;maybe you&#8217;re like me, and you gave the ODBC access to your MetaData read only&#8230;which is stupid.  I admit it.</p>
<p>On with the development!!  I&#8217;ll post as I see fit.</p>
]]></content:encoded>
			<wfw:commentRss>http://microstrategyblog.com/2010/01/starting-over-notes-from-an-install/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MicroStrategy World</title>
		<link>http://microstrategyblog.com/2010/01/microstrategy-world-2/</link>
		<comments>http://microstrategyblog.com/2010/01/microstrategy-world-2/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 22:14:58 +0000</pubDate>
		<dc:creator>Jeremy</dc:creator>
				<category><![CDATA[MicroStrategy World]]></category>

		<guid isPermaLink="false">http://microstrategyblog.com/?p=896</guid>
		<description><![CDATA[No&#8230;I&#8217;m not there.
I am, however, getting late night text messages about how awesome the bars are.  Thanks guys.
]]></description>
			<content:encoded><![CDATA[<p>No&#8230;I&#8217;m not there.</p>
<p>I am, however, getting late night text messages about how awesome the bars are.  Thanks guys.</p>
]]></content:encoded>
			<wfw:commentRss>http://microstrategyblog.com/2010/01/microstrategy-world-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Averages in MicroStrategy</title>
		<link>http://microstrategyblog.com/2010/01/averages_in_microstrategy/</link>
		<comments>http://microstrategyblog.com/2010/01/averages_in_microstrategy/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 21:12:50 +0000</pubDate>
		<dc:creator>Jeremy</dc:creator>
				<category><![CDATA[Metrics]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[avg]]></category>
		<category><![CDATA[metric]]></category>

		<guid isPermaLink="false">http://microstrategyblog.com/?p=887</guid>
		<description><![CDATA[The &#8220;avg&#8221; function is MicroStrategy has caused me problems in the past.  It&#8217;s not that &#8220;avg&#8221; does anything wrong&#8230;it just doesn&#8217;t necessarily provide the correct subtotals to the end user, depending on the end user requirements.
Here&#8217;s the report output that examine all of the different ways average can function.

Now we&#8217;ll examine these metrics left [...]]]></description>
			<content:encoded><![CDATA[<p>The &#8220;avg&#8221; function is MicroStrategy has caused me problems in the past.  It&#8217;s not that &#8220;avg&#8221; does anything wrong&#8230;it just doesn&#8217;t necessarily provide the correct subtotals to the end user, depending on the end user requirements.</p>
<p>Here&#8217;s the report output that examine all of the different ways average can function.</p>
<p><a href="http://microstrategyblog.com/wp-content/uploads/2010/01/1001_AvgReport.jpg"><img src="http://microstrategyblog.com/wp-content/uploads/2010/01/1001_AvgReport.jpg" alt="" title="1001_AvgReport" class="aligncenter size-full wp-image-890" /></a></p>
<p>Now we&#8217;ll examine these metrics left to right.</p>
<p>This first one is your true &#8220;Avg&#8221; metric.  Here&#8217;s the SQL that is sent through when you query the Warehouse.</p>
<p><code>SELECT<br />
-     ID,<br />
-     AVG(VALUE)<br />
FROM FACT_VALUE<br />
GROUP BY ID<br />
</code></p>
<p>Simple enough&#8230;but now say you want the &#8220;total&#8221; average as related to these groups.  In the metric definition if you select &#8220;avg&#8221; as the aggregation type, you&#8217;ll notice that the average in the subtotal, is simply the average of the averages (following me?).  Because you&#8217;re returning the data already at the aggregated level, the system doesn&#8217;t know what&#8217;s driving t in the background.</p>
<p>The second metric is actually the &#8220;weighted average&#8221; for our purposes.  This metric is actually defined as the SUM(VALUE)/COUNT(VALUE), with the Smart Metric Enabled on your metric creation.  The subtotal of this metric is actually the true average of all of the values, not the average of the average.  </p>
<p>The columns that follow prove the logic out.  You can see that the sum/count is the &#8220;more&#8221; correct way to calculate average.  Keep this in mind when designing your metrics.</p>
]]></content:encoded>
			<wfw:commentRss>http://microstrategyblog.com/2010/01/averages_in_microstrategy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Push It To The Warehouse</title>
		<link>http://microstrategyblog.com/2010/01/push-it-to-the-warehouse/</link>
		<comments>http://microstrategyblog.com/2010/01/push-it-to-the-warehouse/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 17:46:37 +0000</pubDate>
		<dc:creator>Jeremy</dc:creator>
				<category><![CDATA[All Things Data]]></category>
		<category><![CDATA[Data Warehouse]]></category>
		<category><![CDATA[Things I Learned]]></category>

		<guid isPermaLink="false">http://microstrategyblog.com/?p=880</guid>
		<description><![CDATA[At this point I think that I&#8217;ve worked with enough instances and installations of MicroStrategy to know bad and good ideas when I see them.  The most common irritation that I&#8217;ve come across is this idea that MicroStrategy is where all of the heavy lifting of the parsing and hierarchies takes place.  While [...]]]></description>
			<content:encoded><![CDATA[<p>At this point I think that I&#8217;ve worked with enough instances and installations of MicroStrategy to know bad and good ideas when I see them.  The most common irritation that I&#8217;ve come across is this idea that MicroStrategy is where all of the heavy lifting of the parsing and hierarchies takes place.  While MicroStrategy <em>can</em> do the heavy lifting, this isn&#8217;t always ideal.</p>
<p>For instance:</p>
<p>I worked with a client whose Accounting General Ledger was your basic structure.  Let&#8217;s say the account structure was thus:</p>
<p>Revenue accounts were 5000 &#8211; 5999<br />
Cost of Goods Sold were 6000 &#8211; 6999<br />
Expenses were 7000 &#8211; 9999</p>
<p>Now, in a MicroStrategy environment, one could create custom groups so that these GL accounts could be properly categorized that defines ranges, but that&#8217;s seldom the best way to go about it.</p>
<p>I have predefined categories that I know that I want postage as an expense to roll into.  Postage -&gt; Shipping -&gt;Expense.</p>
<p>I create a table called GL_GROUP, which is the next level up of the hierarchy, and added a column to the GL_ACCOUNT able which was a reference to this new table.  Here&#8217;s the GL_ACCOUNT table.</p>
<table border="1">
<tbody>
<tr>
<td>GL_ACCOUNT_ID</td>
<td>GL_ACCOUNT_DESC</td>
<td>GL_GROUP_ID</td>
</tr>
<tr>
<td>5001</td>
<td>Cat A Sales</td>
<td></td>
</tr>
<tr>
<td>5002</td>
<td>Cat B Sales</td>
<td></td>
</tr>
<tr>
<td>8001</td>
<td>Corp Salaries</td>
<td></td>
</tr>
<tr>
<td>8002</td>
<td>Admin Salaries</td>
<td></td>
</tr>
<tr>
<td>8003</td>
<td>Sales Commission</td>
<td></td>
</tr>
</tbody>
</table>
<p>Note that the GL_GROUP_ID Column is currently Null.</p>
<p>The GL_GROUP table looks like this.</p>
<table border="1">
<tr>
<td>GL_GROUP_ID</td>
<td>GL_GROUP_DESC</td>
<td>GL_LOW</td>
<td>GL_HIGH</td>
</tr>
<tr>
<td>500</td>
<td>General Revenue</td>
<td>5000</td>
<td>5499</td>
</tr>
<tr>
<td>550</td>
<td>Misc Revenue</td>
<td>5500</td>
<td>5999</td>
</tr>
<tr>
<td>600</td>
<td>Manufacturing</td>
<td>6000</td>
<td>6999</td>
</tr>
<tr>
<td>700</td>
<td>Administration</td>
<td>7000</td>
<td>7999</td>
</tr>
<tr>
<td>800</td>
<td>Salaries</td>
<td>8000</td>
<td>8499</td>
</tr>
</tbody>
</table>
<p>The script that accompanies this table is as such:</p>
<p><span style="color: #0000ff;">UPDATE</span> lugl<br />
<span style="color: #0000ff;">SET</span> lugl.GL_GROUP_ID=lug.GL_GROUP_ID<br />
<span style="color: #0000ff;">FROM</span> GL_ACCOUNT lugl<br />
<span style="color: #0000ff;">JOIN</span><br />
GL_GROUP lug<br />
<span style="color: #0000ff;">ON</span><br />
lugl.GL_ACCOUNT_ID <span style="color: #0000ff;">between</span> lugg.GL_LOW <span style="color: #0000ff;">AND</span> lug.GL_HIGH</p>
<p>This has been incorporated into the ETL process so that as any accounts are added and they fall into the appropriate range (the Accounting people have to be on top of good logic on their side).  Once complete, you get this.</p>
<table border="1">
<tr>
<td>GL_ACCOUNT_ID</td>
<td>GL_ACCOUNT_DESC</td>
<td>GL_GROUP_ID</td>
</tr>
<tr>
<td>5001</td>
<td>Cat A Sales</td>
<td>500</td>
</tr>
<tr>
<td>5002</td>
<td>Cat B Sales</td>
<td>500</td>
</tr>
<tr>
<td>8001</td>
<td>Corp Salaries</td>
<td>800</td>
</tr>
<tr>
<td>8002</td>
<td>Admin Salaries</td>
<td>800</td>
</tr>
<tr>
<td>8003</td>
<td>Sales Commission</td>
<td>800</td>
</tr>
</tbody>
</table>
<p>Now, pull the GL_GROUP table into the Warehouse Catalog, add a GL_GROUP attribute, and modify your GL_ACCOUNT attribute so that it&#8217;s the child of GL_GROUP as a one-to-many.  Now some of you will look at this and just go &#8220;Duh&#8221;, but you&#8217;d be surprised not only how many MicroStrategy installations I&#8217;ve come across where people have made Custom Groups to deal with this (because of the &#8220;ranges&#8221; of accounts).  Custom Groups slow things down.</p>
<p>In short, let the Warehouse do the heavy lifting during your ETL process&#8230;and let MicroStrategy be a clean and streamlined as possible when it pushes the SQL through.  MicroStrategy <em>can</em> solve this problem alone.  But should it?  I think not.</p>
]]></content:encoded>
			<wfw:commentRss>http://microstrategyblog.com/2010/01/push-it-to-the-warehouse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
