<?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>Paul te Braak</title>
	<atom:link href="http://paultebraak.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://paultebraak.wordpress.com</link>
	<description>Business Intelligence Blog</description>
	<lastBuildDate>Fri, 24 Feb 2012 05:22:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='paultebraak.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Paul te Braak</title>
		<link>http://paultebraak.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://paultebraak.wordpress.com/osd.xml" title="Paul te Braak" />
	<atom:link rel='hub' href='http://paultebraak.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Accessing the Slicer through VBA</title>
		<link>http://paultebraak.wordpress.com/2012/02/24/accessing-the-slicer-through-vba/</link>
		<comments>http://paultebraak.wordpress.com/2012/02/24/accessing-the-slicer-through-vba/#comments</comments>
		<pubDate>Fri, 24 Feb 2012 05:19:12 +0000</pubDate>
		<dc:creator>Paul te Braak</dc:creator>
				<category><![CDATA[SSAS]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[VBA]]></category>

		<guid isPermaLink="false">http://paultebraak.wordpress.com/?p=348</guid>
		<description><![CDATA[There may be times when we want to programmatically control slicers through VBA. For example, we may want to default a date to the current date or set a cost centre depending on who has opened the book. This post looks how a slicer can be controlled through VBA. In this example, we have added [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=paultebraak.wordpress.com&amp;blog=21358579&amp;post=348&amp;subd=paultebraak&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>There may be times when we want to programmatically control slicers through VBA.  For example, we may want to default a date to the current date or set a cost centre depending on who has opened the book.  This post looks how a slicer can be controlled through VBA.
</p>
<p>In this example, we have added a slicer to a worksheet that uses a date hierarchy as its source.  Because, we have included all levels of the hierarchy when the slicer was setup, we get three individual slicers for each level of the hierarchy.
</p>
<p>If we look at the settings for the slicer (right click on the slicer and select slicer settings), we can see that the slicer has a name and each level of the slicer hierarchy maintains the hierarchy level name.  For example, the Slicer_Dates_Hie below has a level Year, Month and Day.  Although we can change the name (for example the name Year in the picture below), the slicer retains the mdx level that the slicer belongs to.
</p>
<p><img src="http://paultebraak.files.wordpress.com/2012/02/022412_0519_accessingth11.png?w=600" alt="" />
	</p>
<p><span style="text-decoration:underline;"><strong>Accessing the Slicer<br />
</strong></span></p>
<p>We can access the slicer through the SlicerCaches object.  This is as simple as declaring the slicer cache and referencing it to the name of the slicer we want to use.  For example;
</p>
<p><span style="font-family:Courier New;font-size:9pt;">Dim sC As SlicerCache<br />
</span></p>
<p><span style="font-family:Courier New;font-size:9pt;">Set sC = ActiveWorkbook.SlicerCaches(&#8220;Slicer_Dates_Hie&#8221;)<br />
</span></p>
<p>
 </p>
<p><span style="text-decoration:underline;"><strong>Navigating the Structure of the Slicer<br />
</strong></span></p>
<p>Once we have a reference to the slicer we can navigate its structure using SlicerCacheLevels.  For example we can determine the number of levels of the slicer and iterate over them with the following code.
</p>
<p><span style="font-family:Courier New;font-size:9pt;">Dim sC As SlicerCache<br />
</span></p>
<p><span style="font-family:Courier New;font-size:9pt;">Dim sL As SlicerCacheLevel<br />
</span></p>
<p><span style="font-family:Courier New;font-size:9pt;">Set sC = ActiveWorkbook.SlicerCaches(&#8220;Slicer_Dates_Hie&#8221;)<br />
</span></p>
<p><span style="font-family:Courier New;font-size:9pt;">For Each sL In sC.SlicerCacheLevels<br />
</span></p>
<p><span style="font-family:Courier New;font-size:9pt;">    Debug.Print &#8220;Level &#8221; + CStr(sL.Ordinal) + &#8221; &#8211;&gt; &#8221; + sL.Name<br />
</span></p>
<p><span style="font-family:Courier New;font-size:9pt;">Next sL<br />
</span></p>
<p>
 </p>
<p><img src="http://paultebraak.files.wordpress.com/2012/02/022412_0519_accessingth21.png?w=600" alt="" />
	</p>
<p>Naturally, the level can be accessed through the cache level ordinal to produce the same result.  The highest level (year) takes the value 1 which increments for each level from the first level.  There is always a level (ie level 1) even if the slicer is based on a single attribute.
</p>
<p><span style="font-family:Courier New;font-size:9pt;">Set sC = ActiveWorkbook.SlicerCaches(&#8220;Slicer_Dates_Hie&#8221;)<br />
</span></p>
<p>
 </p>
<p><span style="font-family:Courier New;font-size:9pt;">For i = 1 To sC.SlicerCacheLevels.Count<br />
</span></p>
<p><span style="font-family:Courier New;font-size:9pt;">    Debug.Print &#8220;Level &#8221; + CStr(i) + &#8221; &#8211;&gt; &#8221; + sC.SlicerCacheLevels(i).Name<br />
</span></p>
<p><span style="font-family:Courier New;font-size:9pt;">Next i<br />
</span></p>
<p>
 </p>
<p><span style="text-decoration:underline;"><strong>Slicer Data Members<br />
</strong></span></p>
<p>We can gain access to the data items through slicer items, as mdx attributes, they have a caption, value and a key (member unique name).  For example the year 2011 in this slicer has a value of 2011 and a name (MDX unique name) of [Dates].[Dates Hie].[Year].&amp;[2011]
</p>
<p><span style="font-family:Courier New;font-size:9pt;">Dim sC As SlicerCache<br />
</span></p>
<p><span style="font-family:Courier New;font-size:9pt;">Dim SL As SlicerCacheLevel<br />
</span></p>
<p><span style="font-family:Courier New;font-size:9pt;">Dim sI As SlicerItem<br />
</span></p>
<p>
 </p>
<p><span style="font-family:Courier New;font-size:9pt;">Set sC = ActiveWorkbook.SlicerCaches(&#8220;Slicer_Dates_Hie&#8221;)<br />
</span></p>
<p><span style="font-family:Courier New;font-size:9pt;">Set SL = sC.SlicerCacheLevels(1)<br />
</span></p>
<p>
 </p>
<p><span style="font-family:Courier New;font-size:9pt;">Debug.Print &#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8221;<br />
</span></p>
<p><span style="font-family:Courier New;font-size:9pt;">For Each sI In SL.SlicerItems<br />
</span></p>
<p><span style="font-family:Courier New;font-size:9pt;">    Debug.Print &#8220;Caption &#8211;&gt; &#8221; &amp; sI.Caption<br />
</span></p>
<p><span style="font-family:Courier New;font-size:9pt;">    Debug.Print &#8220;Value &#8211;&gt; &#8221; + CStr(sI.Value)<br />
</span></p>
<p><span style="font-family:Courier New;font-size:9pt;">    Debug.Print &#8220;Unique Name &#8211;&gt; &#8221; + sI.Name<br />
</span></p>
<p><span style="font-family:Courier New;font-size:9pt;">    Debug.Print &#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8221;<br />
</span></p>
<p><span style="font-family:Courier New;font-size:9pt;">Next<br />
</span></p>
<p>
 </p>
<p><img src="http://paultebraak.files.wordpress.com/2012/02/022412_0519_accessingth31.png?w=600" alt="" />
	</p>
<p><span style="text-decoration:underline;"><strong>Setting the Slicer Value<br />
</strong></span></p>
<p>Slicer item selection must be set through the visible slicer items list and is specified using an array.  For example, we could set the SlicerCache (selected items) to 2011 and 2012 with the following code;
</p>
<p><span style="font-family:Courier New;font-size:9pt;">sC.VisibleSlicerItemsList = Array(&#8220;[Dates].[Dates Hie].[Year].&amp;[2011]&#8220;, &#8220;[Dates].[Dates Hie].[Year].&amp;[2012]&#8220;)<br />
</span></p>
<p>The name selected must be a data member of the level.  If not a runtime error will occur (as below)
</p>
<p><img src="http://paultebraak.files.wordpress.com/2012/02/022412_0519_accessingth41.png?w=600" alt="" />
	</p>
<p>Once the values are set, connected pivots are updated immediately
</p>
<p><span style="text-decoration:underline;"><strong>Conclusion<br />
</strong></span></p>
<p>The control of slicers through VBA could be used to provide some very nice personalisation to work books.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/paultebraak.wordpress.com/348/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/paultebraak.wordpress.com/348/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/paultebraak.wordpress.com/348/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/paultebraak.wordpress.com/348/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/paultebraak.wordpress.com/348/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/paultebraak.wordpress.com/348/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/paultebraak.wordpress.com/348/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/paultebraak.wordpress.com/348/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/paultebraak.wordpress.com/348/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/paultebraak.wordpress.com/348/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/paultebraak.wordpress.com/348/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/paultebraak.wordpress.com/348/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/paultebraak.wordpress.com/348/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/paultebraak.wordpress.com/348/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=paultebraak.wordpress.com&amp;blog=21358579&amp;post=348&amp;subd=paultebraak&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://paultebraak.wordpress.com/2012/02/24/accessing-the-slicer-through-vba/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3315127f61225b3ff0ec28cb45b825d6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">paultebraak</media:title>
		</media:content>

		<media:content url="http://paultebraak.files.wordpress.com/2012/02/022412_0519_accessingth11.png" medium="image" />

		<media:content url="http://paultebraak.files.wordpress.com/2012/02/022412_0519_accessingth21.png" medium="image" />

		<media:content url="http://paultebraak.files.wordpress.com/2012/02/022412_0519_accessingth31.png" medium="image" />

		<media:content url="http://paultebraak.files.wordpress.com/2012/02/022412_0519_accessingth41.png" medium="image" />
	</item>
		<item>
		<title>Australian SQL Saturday Goes Live</title>
		<link>http://paultebraak.wordpress.com/2012/02/17/australian-sql-saturday-goes-live/</link>
		<comments>http://paultebraak.wordpress.com/2012/02/17/australian-sql-saturday-goes-live/#comments</comments>
		<pubDate>Fri, 17 Feb 2012 22:39:53 +0000</pubDate>
		<dc:creator>Paul te Braak</dc:creator>
				<category><![CDATA[PASS]]></category>
		<category><![CDATA[SQL Saturday]]></category>

		<guid isPermaLink="false">http://paultebraak.wordpress.com/?p=339</guid>
		<description><![CDATA[The SQL Saturday tour of Australia and New Zealand has now gone live on the SQL Saturday website. You can check out each cities part of the tour out at the following sites; BRISBANE http://www.sqlsaturday.com/135/eventhome.aspx WELLINGTON http://www.sqlsaturday.com/136/eventhome.aspx CANBERRA http://www.sqlsaturday.com/137/eventhome.aspx SYDNEY http://www.sqlsaturday.com/138/eventhome.aspx ADELAIDE http://www.sqlsaturday.com/139/eventhome.aspx PERTH http://www.sqlsaturday.com/140/eventhome.aspx<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=paultebraak.wordpress.com&amp;blog=21358579&amp;post=339&amp;subd=paultebraak&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The SQL Saturday tour of Australia and New Zealand has now gone live on the SQL Saturday <a href="http://www.sqlsaturday.com/">website</a>. You can check out each cities part of the tour out at the following sites;</p>
<div>
<table style="border-collapse:collapse;" border="0">
<col style="width:113px;" />
<col style="width:526px;" />
<tbody valign="top">
<tr>
<td style="padding-left:7px;padding-right:7px;border:solid #d9d9d9 .5pt;"><span style="color:black;font-family:Segoe UI;font-size:10pt;">BRISBANE</span></td>
<td style="padding-left:7px;padding-right:7px;border-top:solid #d9d9d9 .5pt;border-left:none;border-bottom:solid #d9d9d9 .5pt;border-right:solid #d9d9d9 .5pt;"><a href="http://www.sqlsaturday.com/135/eventhome.aspx"><span style="font-family:Tahoma;font-size:10pt;">http://www.sqlsaturday.com/135/eventhome.aspx</span></a></td>
</tr>
<tr>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:solid #d9d9d9 .5pt;border-bottom:solid #d9d9d9 .5pt;border-right:solid #d9d9d9 .5pt;"><span style="color:black;font-family:Segoe UI;font-size:10pt;">WELLINGTON</span></td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #d9d9d9 .5pt;border-right:solid #d9d9d9 .5pt;"><a href="http://www.sqlsaturday.com/136/eventhome.aspx"><span style="font-family:Tahoma;font-size:10pt;">http://www.sqlsaturday.com/136/eventhome.aspx</span></a></td>
</tr>
<tr>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:solid #d9d9d9 .5pt;border-bottom:solid #d9d9d9 .5pt;border-right:solid #d9d9d9 .5pt;"><span style="color:black;font-family:Segoe UI;font-size:10pt;">CANBERRA</span></td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #d9d9d9 .5pt;border-right:solid #d9d9d9 .5pt;"><a href="http://www.sqlsaturday.com/137/eventhome.aspx"><span style="font-family:Tahoma;font-size:10pt;">http://www.sqlsaturday.com/137/eventhome.aspx</span></a></td>
</tr>
<tr>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:solid #d9d9d9 .5pt;border-bottom:solid #d9d9d9 .5pt;border-right:solid #d9d9d9 .5pt;"><span style="color:black;font-family:Segoe UI;font-size:10pt;">SYDNEY</span></td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #d9d9d9 .5pt;border-right:solid #d9d9d9 .5pt;"><a href="http://www.sqlsaturday.com/138/eventhome.aspx"><span style="font-family:Tahoma;font-size:10pt;">http://www.sqlsaturday.com/138/eventhome.aspx</span></a></td>
</tr>
<tr>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:solid #d9d9d9 .5pt;border-bottom:solid #d9d9d9 .5pt;border-right:solid #d9d9d9 .5pt;"><span style="color:black;font-family:Segoe UI;font-size:10pt;">ADELAIDE</span></td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #d9d9d9 .5pt;border-right:solid #d9d9d9 .5pt;"><a href="http://www.sqlsaturday.com/139/eventhome.aspx"><span style="font-family:Tahoma;font-size:10pt;">http://www.sqlsaturday.com/139/eventhome.aspx</span></a></td>
</tr>
<tr>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:solid #d9d9d9 .5pt;border-bottom:solid #d9d9d9 .5pt;border-right:solid #d9d9d9 .5pt;"><span style="color:black;font-family:Segoe UI;font-size:10pt;">PERTH</span></td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #d9d9d9 .5pt;border-right:solid #d9d9d9 .5pt;"><a href="http://www.sqlsaturday.com/140/eventhome.aspx"><span style="font-family:Tahoma;font-size:10pt;">http://www.sqlsaturday.com/140/eventhome.aspx</span></a></td>
</tr>
</tbody>
</table>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/paultebraak.wordpress.com/339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/paultebraak.wordpress.com/339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/paultebraak.wordpress.com/339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/paultebraak.wordpress.com/339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/paultebraak.wordpress.com/339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/paultebraak.wordpress.com/339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/paultebraak.wordpress.com/339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/paultebraak.wordpress.com/339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/paultebraak.wordpress.com/339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/paultebraak.wordpress.com/339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/paultebraak.wordpress.com/339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/paultebraak.wordpress.com/339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/paultebraak.wordpress.com/339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/paultebraak.wordpress.com/339/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=paultebraak.wordpress.com&amp;blog=21358579&amp;post=339&amp;subd=paultebraak&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://paultebraak.wordpress.com/2012/02/17/australian-sql-saturday-goes-live/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3315127f61225b3ff0ec28cb45b825d6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">paultebraak</media:title>
		</media:content>
	</item>
		<item>
		<title>Tabular verse Dimensional Design Concepts</title>
		<link>http://paultebraak.wordpress.com/2012/02/08/tabular-verse-dimension-design-concepts/</link>
		<comments>http://paultebraak.wordpress.com/2012/02/08/tabular-verse-dimension-design-concepts/#comments</comments>
		<pubDate>Wed, 08 Feb 2012 06:32:05 +0000</pubDate>
		<dc:creator>Paul te Braak</dc:creator>
				<category><![CDATA[BISM]]></category>
		<category><![CDATA[DAX]]></category>
		<category><![CDATA[MDX]]></category>
		<category><![CDATA[SSAS]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Tabular]]></category>

		<guid isPermaLink="false">http://paultebraak.wordpress.com/?p=334</guid>
		<description><![CDATA[The multidimensional model appears to provide a richer environment for model design. However, for the case of snapshot fact tables, the tabular design may offer a much faster design and refreshing options. This post looks at the snapshot design and how business requirements are modelled in both multidimensional and tabular platforms. The Snapshot Fact Snapshot [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=paultebraak.wordpress.com&amp;blog=21358579&amp;post=334&amp;subd=paultebraak&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The multidimensional model appears to provide a richer environment for model design.  However, for the case of snapshot fact tables, the tabular design may offer a much faster design and refreshing options.  This post looks at the snapshot design and how business requirements are modelled in both multidimensional and tabular platforms.
</p>
<p><span style="text-decoration:underline;"><strong>The Snapshot Fact</strong></span>
	</p>
<p>Snapshot data (or accumulating snapshot fact tables) are usually used to record process driven data where records change over time.  Consider, for example, the tables <span style="font-family:Courier New;font-size:10pt;">FactResellerSales </span>and  <span style="font-family:Courier New;font-size:10pt;">FactInternetSales </span>tables in AdventureWorks.  Here, the record shows Order Date, Due Date and a Ship Date.  When the sale is made, the Order Date is known and the Due date is probably known, however, the ship date can change and is only truly known after the order has shipped.  For this type of fact table, data should be added when the sale occurs and updated as information about the sale comes to light (that is, when it is shipped).
</p>
<p><span style="text-decoration:underline;"><strong>Classic Star Modelling<br />
</strong></span></p>
<p>The standard way to model this relationship is through the reuse of the date table.  That is, each fact field relates to the same Date.DateKey field in the dates table.  This is shown for the tabular and multidimensional design models below
</p>
<div>
<table style="border-collapse:collapse;" border="0">
<col style="width:334px;" />
<col style="width:305px;" />
<tbody valign="top">
<tr>
<td style="padding-left:7px;padding-right:7px;border-top:solid #f2f2f2 .5pt;border-left:solid #f2f2f2 .5pt;border-bottom:solid #f2f2f2 .5pt;border-right:solid #f2f2f2 .5pt;">
<p><strong>Tabular</strong></p>
</td>
<td style="padding-left:7px;padding-right:7px;border-top:solid #f2f2f2 .5pt;border-left:none;border-bottom:solid #f2f2f2 .5pt;border-right:solid #f2f2f2 .5pt;">
<p><strong>Multidimensional</strong></p>
</td>
</tr>
<tr>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:solid #f2f2f2 .5pt;border-bottom:solid #f2f2f2 .5pt;border-right:solid #f2f2f2 .5pt;">
<p><img src="http://paultebraak.files.wordpress.com/2012/02/020812_0631_tabularvers1.png?w=600" alt="" /></p>
</td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #f2f2f2 .5pt;border-right:solid #f2f2f2 .5pt;">
<p><img src="http://paultebraak.files.wordpress.com/2012/02/020812_0631_tabularvers2.png?w=600" alt="" /></p>
</td>
</tr>
</tbody>
</table>
</div>
<p>
 </p>
<p><span style="text-decoration:underline;"><strong>Multidimensional Interpretation<br />
</strong></span></p>
<p>When a cube is built from this design, the Dates dimension becomes a role playing dimension and is joined to the fact for each relationship identified in the data source view.  Thus, the Dates dimension is reused by the cube and with the dimension names appearing as the name of the fact field (after camel case conversion).  Notice that there is a single dimension in the solution however, there appears to be three date dimensions (Order Date, Due Date and Ship Date).
</p>
<div>
<table style="border-collapse:collapse;" border="0">
<col style="width:455px;" />
<col style="width:183px;" />
<tbody valign="top">
<tr>
<td style="padding-left:7px;padding-right:7px;border-top:solid #f2f2f2 .5pt;border-left:solid #f2f2f2 .5pt;border-bottom:solid #f2f2f2 .5pt;border-right:solid #f2f2f2 .5pt;">
<p><strong>Solution View</strong></p>
</td>
<td style="padding-left:7px;padding-right:7px;border-top:solid #f2f2f2 .5pt;border-left:none;border-bottom:solid #f2f2f2 .5pt;border-right:solid #f2f2f2 .5pt;">
<p><strong>Cube View</strong></p>
</td>
</tr>
<tr>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:solid #f2f2f2 .5pt;border-bottom:solid #f2f2f2 .5pt;border-right:solid #f2f2f2 .5pt;">
<p><img src="http://paultebraak.files.wordpress.com/2012/02/020812_0631_tabularvers3.png?w=600" alt="" /></p>
</td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #f2f2f2 .5pt;border-right:solid #f2f2f2 .5pt;">
<p><img src="http://paultebraak.files.wordpress.com/2012/02/020812_0631_tabularvers4.png?w=600" alt="" /></p>
</td>
</tr>
</tbody>
</table>
</div>
<p>
 </p>
<p>While this approach may provide answers to simple business questions (eg, What is that value / quantity of product shipped on date xyz), the modelling technique fails when the query becomes complicated across restrictive dates.  For example, it is not straight forward to determine the quantity ordered, shipped and due on date xyz.
</p>
<p><span style="text-decoration:underline;"><strong>Tabular Interpretation<br />
</strong></span></p>
<p>In contrast to the multidimensional model, the tabular model employees an active relationship as the default join between fact and dimensions and each table appears only once in the &#8216;dimensional representation&#8217; of the model.  For example, there is only one date table in the pivot view.
</p>
<p><img src="http://paultebraak.files.wordpress.com/2012/02/020812_0631_tabularvers5.png?w=600" alt="" />
	</p>
<p>By default, aggregation functions will use this relationship.  In this situation, the active relationship (solid line) is between the OrderDate and the Date table.  A sum measure ( <span style="font-family:Courier New;font-size:10pt;">sum([OrderQuantity])</span><span style="font-size:11pt;"><br />
		</span>) defined without context will therefore show the quantity ordered on each date.<span style="font-size:11pt;"><br />
		</span></p>
<p><img src="http://paultebraak.files.wordpress.com/2012/02/020812_0631_tabularvers6.png?w=600" alt="" />
	</p>
<p>The tabular model also allows functions to specify which relationship will be used as joins between tables.  Therefore, the quantity of products shipped on a date can be determined by specifying the relationship between ResellerSales.ShipDateKey and Dates.DateKey.  For example,
</p>
<p><span style="font-family:Courier New;font-size:10pt;">Ship Quantity:=CALCULATE(sum([OrderQuantity]),USERELATIONSHIP(&#8216;ResellerSales&#8217;[ShipDateKey],&#8217;Dates&#8217;[DateKey]))<br />
</span></p>
<p><span style="font-size:11pt;">This allows the determination of measures that relate to more generic dimensions.  For example, we can easily define [Order Quantity], [Ship Quantity], [Due Quantity] which specifies these values by date.  This is in direct contrast to the default multidimensional behaviour and allows for more native browsing.  For example, the date x value pivot below quickly identifies the sparse nature and trend of adventure works data.<br />
</span></p>
<div>
<table style="border-collapse:collapse;" border="0">
<col style="width:319px;" />
<col style="width:319px;" />
<tbody valign="top">
<tr>
<td style="padding-left:7px;padding-right:7px;border-top:solid #f2f2f2 .5pt;border-left:solid #f2f2f2 .5pt;border-bottom:solid #f2f2f2 .5pt;border-right:solid #f2f2f2 .5pt;">
<p><img src="http://paultebraak.files.wordpress.com/2012/02/020812_0631_tabularvers7.png?w=600" alt="" /></p>
</td>
<td style="padding-left:7px;padding-right:7px;border-top:solid #f2f2f2 .5pt;border-left:none;border-bottom:solid #f2f2f2 .5pt;border-right:solid #f2f2f2 .5pt;">
<p><span style="font-size:11pt;">I had never looked at adventure works data like this before.  Here we can easily see that products are ordered on the 1<sup>st</sup> of the month, shipped on the 8<sup>th</sup> and due on the 13<sup>th</sup>.  There are very few exceptions to this in the fact data.</span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p>
 </p>
<p><span style="font-size:11pt;text-decoration:underline;"><strong>Compromise?<br />
</strong></span></p>
<p><span style="font-size:11pt;">The UDM can be designed to produce this outcome; however, it is not part of the &#8216;default&#8217; behaviour.    One way to achieve this would be to conform all dates into a single field (for example through a union) and specify separate measures for each union join (ie; add the Order Data, then the Ship Data and finally the Due Date data).  However, this would require longer load times (since we are effectively staking facts) and increase the measure group size.  The tabular approach (in my opinion) is a much nicer compromise.<br />
</span></p>
<p><span style="font-size:11pt;"><em>NB It is also easy to mimic the multidimensional behaviour in tabular.  Mulitple date tables are added to the model (one for each fact date) and labelled &#8216;Ship Date&#8217; , &#8216;Due Date&#8217;, …<br />
</em></span></p>
<p>
 </p>
<p>
 </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/paultebraak.wordpress.com/334/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/paultebraak.wordpress.com/334/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/paultebraak.wordpress.com/334/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/paultebraak.wordpress.com/334/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/paultebraak.wordpress.com/334/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/paultebraak.wordpress.com/334/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/paultebraak.wordpress.com/334/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/paultebraak.wordpress.com/334/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/paultebraak.wordpress.com/334/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/paultebraak.wordpress.com/334/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/paultebraak.wordpress.com/334/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/paultebraak.wordpress.com/334/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/paultebraak.wordpress.com/334/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/paultebraak.wordpress.com/334/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=paultebraak.wordpress.com&amp;blog=21358579&amp;post=334&amp;subd=paultebraak&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://paultebraak.wordpress.com/2012/02/08/tabular-verse-dimension-design-concepts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3315127f61225b3ff0ec28cb45b825d6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">paultebraak</media:title>
		</media:content>

		<media:content url="http://paultebraak.files.wordpress.com/2012/02/020812_0631_tabularvers1.png" medium="image" />

		<media:content url="http://paultebraak.files.wordpress.com/2012/02/020812_0631_tabularvers2.png" medium="image" />

		<media:content url="http://paultebraak.files.wordpress.com/2012/02/020812_0631_tabularvers3.png" medium="image" />

		<media:content url="http://paultebraak.files.wordpress.com/2012/02/020812_0631_tabularvers4.png" medium="image" />

		<media:content url="http://paultebraak.files.wordpress.com/2012/02/020812_0631_tabularvers5.png" medium="image" />

		<media:content url="http://paultebraak.files.wordpress.com/2012/02/020812_0631_tabularvers6.png" medium="image" />

		<media:content url="http://paultebraak.files.wordpress.com/2012/02/020812_0631_tabularvers7.png" medium="image" />
	</item>
		<item>
		<title>Tentative Dates for SQL Saturday</title>
		<link>http://paultebraak.wordpress.com/2012/02/01/sqlsat2012date/</link>
		<comments>http://paultebraak.wordpress.com/2012/02/01/sqlsat2012date/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 05:03:24 +0000</pubDate>
		<dc:creator>Paul te Braak</dc:creator>
				<category><![CDATA[PASS]]></category>
		<category><![CDATA[SQL Saturday]]></category>

		<guid isPermaLink="false">http://paultebraak.wordpress.com/?p=323</guid>
		<description><![CDATA[Following from my previous post about the upcoming SQL Saturday events around Australia, the tentative dates for the events across Australia and New Zealand will be; Brisbane (AU) &#8211; April 12 Wellington (NZ) &#8211; April 14 Canberra (AU) &#8211; April 19 Sydney (AU) &#8211; April 21 Adelaide (AU) &#8211; April 24 Perth (AU) &#8211; April [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=paultebraak.wordpress.com&amp;blog=21358579&amp;post=323&amp;subd=paultebraak&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Following from my previous <a title="post" href="http://paultebraak.wordpress.com/2012/01/28/sql-saturdays-in-australia-2/" target="_blank">post </a>about the upcoming SQL Saturday events around Australia, the tentative dates for the events across Australia and New Zealand will be;</p>
<p>Brisbane (AU) &#8211; April 12<br />
Wellington (NZ) &#8211; April 14<br />
Canberra (AU) &#8211; April 19<br />
Sydney (AU) &#8211; April 21<br />
Adelaide (AU) &#8211; April 24<br />
Perth (AU) &#8211; April 27 or 28</p>
<p>These dates are fairly fixed and, any changes will only be by 1 or 2 days at most.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/paultebraak.wordpress.com/323/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/paultebraak.wordpress.com/323/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/paultebraak.wordpress.com/323/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/paultebraak.wordpress.com/323/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/paultebraak.wordpress.com/323/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/paultebraak.wordpress.com/323/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/paultebraak.wordpress.com/323/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/paultebraak.wordpress.com/323/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/paultebraak.wordpress.com/323/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/paultebraak.wordpress.com/323/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/paultebraak.wordpress.com/323/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/paultebraak.wordpress.com/323/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/paultebraak.wordpress.com/323/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/paultebraak.wordpress.com/323/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=paultebraak.wordpress.com&amp;blog=21358579&amp;post=323&amp;subd=paultebraak&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://paultebraak.wordpress.com/2012/02/01/sqlsat2012date/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3315127f61225b3ff0ec28cb45b825d6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">paultebraak</media:title>
		</media:content>
	</item>
		<item>
		<title>PowerPivot and Linked Table Names</title>
		<link>http://paultebraak.wordpress.com/2012/01/28/powerpivot-and-linked-table-names/</link>
		<comments>http://paultebraak.wordpress.com/2012/01/28/powerpivot-and-linked-table-names/#comments</comments>
		<pubDate>Sat, 28 Jan 2012 23:28:46 +0000</pubDate>
		<dc:creator>Paul te Braak</dc:creator>
				<category><![CDATA[BISM]]></category>
		<category><![CDATA[DAX]]></category>
		<category><![CDATA[PowerPivot]]></category>
		<category><![CDATA[Powerpivot]]></category>

		<guid isPermaLink="false">http://paultebraak.wordpress.com/?p=316</guid>
		<description><![CDATA[When PowerPivot creates a linked table, it appears to assign an arbitrary name to the import. The table name in powerpivot (Table1, Table2 etc) is then usually renamed as part of the design process. However, this practice is sloppy because the table name in excel is different to that of powerpivot and the name in [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=paultebraak.wordpress.com&amp;blog=21358579&amp;post=316&amp;subd=paultebraak&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>When PowerPivot creates a linked table, it appears to assign an arbitrary name to the import. The table name in powerpivot (Table1, Table2 etc) is then usually renamed as part of the design process. However, this practice is sloppy because the table name in excel is different to that of powerpivot and the name in excel is poorly defined (which may confuse anyone updating data at a later stage). This post looks at methods of managing linked tables in powerpivot and excel in order to provide more robust models.</p>
<p><span style="text-decoration:underline;"><strong>Import (without name)<br />
</strong></span></p>
<p>The standard way of creating a linked table in powerpivot is simply to select the data range, click on the powerpivot ribbon and select &#8216;Create Linked Table&#8217;. Once this is done the &#8216;Create Table&#8217; dialog displays (usually the user indicates the table has headers) and the table is imported into powerpivot.</p>
<p><img src="http://paultebraak.files.wordpress.com/2012/01/012812_2328_powerpivota1.png?w=438&#038;h=289" alt="" width="438" height="289" /></p>
<p>The imported table is then renamed in powerpivot with a double click (or right click <span style="font-family:Wingdings;">à</span> rename) so that table name has meaning in the pivot table.</p>
<p>In excel, we can see that this operation has also created an excel table by selecting the &#8216;Name Manager&#8217; button from the Formulas ribbon. A dialog showing all tables and ranges in the workbook is displayed. Note that Table1 has been created.</p>
<p><img src="http://paultebraak.files.wordpress.com/2012/01/012812_2328_powerpivota2.png?w=466&#038;h=230" alt="" width="466" height="230" /></p>
<p>The creation of the linked table in powerpivot has defined a table in excel and then created a connection for that table in powerpivot. We can see this in powerpivot by the definition of the linked table.</p>
<p><img src="http://paultebraak.files.wordpress.com/2012/01/012812_2328_powerpivota3.png?w=436&#038;h=232" alt="" width="436" height="232" /></p>
<p>While this may achieve the outcome of creating a usable powerpivot model, it can become frustrating for the user (or anyone updating excel data) because the definitions in excel (ie Table1) are not the same as the table names in powerpivot (eg Dates).</p>
<p><span style="text-decoration:underline;"><strong>Importing a Named Table<br />
</strong></span></p>
<p>One way around this is to define the excel table and its name before the excel data is imported into powerpivot. This is easily achieved by selecting a formatting style from the &#8216;Format as Table&#8217; button in the Home ribbon. The name of the table can be edited using the name manager (Formulas <span style="font-family:Wingdings;">à</span> Name Manager <span style="font-family:Wingdings;">à</span> Edit (after the appropriate table has been selected)).</p>
<p>Now, when the powerpivot linked table is created, it is automatically imported with the same name as the excel table.</p>
<p><span style="text-decoration:underline;"><strong>Rename the Table and Manage the Import<br />
</strong></span></p>
<p>Where the powerpivot table is created first and then the name of the table is changed in excel, the definition of the table in powerpivot will be in error. This does not present as a problem until the data in powerpivot is refreshed. When the data is refreshed, an &#8216;Errors in Linked Tables&#8217; dialog is shown (as below) so that the connection can be managed.</p>
<p><img src="http://paultebraak.files.wordpress.com/2012/01/012812_2328_powerpivota4.png?w=337&#038;h=146" alt="" width="337" height="146" /></p>
<p>The options for management (as below) are rather self-explanatory and allow for;</p>
<ul>
<li>The selection of another excel table. Note that this is any excel table (defined table) that is not linked to a power pivot table.</li>
<li>Materialising the table (that is, removing the link to excel)</li>
<li>Deleting the powerpivot table from the model</li>
</ul>
<p><img src="http://paultebraak.files.wordpress.com/2012/01/012812_2328_powerpivota5.png?w=284&#038;h=185" alt="" width="284" height="185" /></p>
<p>The selection of an existing excel table completely redefines the import so that the refresh will alter the columns and data in the table so that the powerpivot table will be exactly the same as the excel table. While this may seem intuitive, the implication for the model is enormous because the linked table in powerpivot can change structure (adding columns etc).</p>
<p><span style="text-decoration:underline;"><strong>Other Linked Table Management<br />
</strong></span></p>
<p>Alternatively, a linked table can be managed by the &#8216;table definition&#8217; button in the &#8216;Linked Table&#8217; ribbon in powerpivot (as highlighted below). When selected, the dropdown shows all tables that have been defined in the excel workbook <strong>(regardless of their usage as linked tables)</strong>, and, upon table change, imports the new definition and data.</p>
<p><img src="http://paultebraak.files.wordpress.com/2012/01/012812_2328_powerpivota6.png?w=267&#038;h=195" alt="" width="267" height="195" /></p>
<p>If the excel table is already used as a linked table in the powerpivot model, the user is warned that the table is already used in a link and continuing will break the link (as below). If the user continues, the &#8216;old linked table&#8217; is materialised and cannot be updated.</p>
<p><img src="http://paultebraak.files.wordpress.com/2012/01/012812_2328_powerpivota7.png?w=286&#038;h=106" alt="" width="286" height="106" /></p>
<p><span style="text-decoration:underline;"><strong>Conclusion<br />
</strong></span></p>
<p>The use of linked tables in powerpivot provides a flexible way of importing, managing and using data in the powerpivot model. However, the automatic creation of linked tables without good naming conventions between powerpivot and excel may be confusing as the model is further developed, changed and updated. <strong><em>In-fact, every excel workbook model regardless of the use of powerpivot should implement good naming conventions.</em></strong> However, this can be managed with excel and powerpivot in various ways at various stages of model development.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/paultebraak.wordpress.com/316/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/paultebraak.wordpress.com/316/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/paultebraak.wordpress.com/316/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/paultebraak.wordpress.com/316/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/paultebraak.wordpress.com/316/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/paultebraak.wordpress.com/316/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/paultebraak.wordpress.com/316/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/paultebraak.wordpress.com/316/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/paultebraak.wordpress.com/316/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/paultebraak.wordpress.com/316/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/paultebraak.wordpress.com/316/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/paultebraak.wordpress.com/316/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/paultebraak.wordpress.com/316/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/paultebraak.wordpress.com/316/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=paultebraak.wordpress.com&amp;blog=21358579&amp;post=316&amp;subd=paultebraak&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://paultebraak.wordpress.com/2012/01/28/powerpivot-and-linked-table-names/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3315127f61225b3ff0ec28cb45b825d6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">paultebraak</media:title>
		</media:content>

		<media:content url="http://paultebraak.files.wordpress.com/2012/01/012812_2328_powerpivota1.png" medium="image" />

		<media:content url="http://paultebraak.files.wordpress.com/2012/01/012812_2328_powerpivota2.png" medium="image" />

		<media:content url="http://paultebraak.files.wordpress.com/2012/01/012812_2328_powerpivota3.png" medium="image" />

		<media:content url="http://paultebraak.files.wordpress.com/2012/01/012812_2328_powerpivota4.png" medium="image" />

		<media:content url="http://paultebraak.files.wordpress.com/2012/01/012812_2328_powerpivota5.png" medium="image" />

		<media:content url="http://paultebraak.files.wordpress.com/2012/01/012812_2328_powerpivota6.png" medium="image" />

		<media:content url="http://paultebraak.files.wordpress.com/2012/01/012812_2328_powerpivota7.png" medium="image" />
	</item>
		<item>
		<title>SQL Saturdays in Australia</title>
		<link>http://paultebraak.wordpress.com/2012/01/28/sql-saturdays-in-australia-2/</link>
		<comments>http://paultebraak.wordpress.com/2012/01/28/sql-saturdays-in-australia-2/#comments</comments>
		<pubDate>Sat, 28 Jan 2012 21:21:55 +0000</pubDate>
		<dc:creator>Paul te Braak</dc:creator>
				<category><![CDATA[PASS]]></category>
		<category><![CDATA[SQL Saturday]]></category>

		<guid isPermaLink="false">http://paultebraak.wordpress.com/?p=304</guid>
		<description><![CDATA[As part of a teaser campaign, it is good to hint that SQL Saturdays will run in Australia this year.  This is a great opportunity to get in on some free training on SQL Server and the BI stack and catch up with your or just catch up with your peers.  The events will run [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=paultebraak.wordpress.com&amp;blog=21358579&amp;post=304&amp;subd=paultebraak&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>As part of a teaser campaign, it is good to hint that SQL Saturdays will run in Australia this year.  This is a great opportunity to get in on some free training on SQL Server and the BI stack and catch up with your or just catch up with your peers.</p>
<p> The events will run across most Australian capital cities from mid to end April .  Can’t make it on the week end?  Don’t worry, they will be run on week days.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/paultebraak.wordpress.com/304/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/paultebraak.wordpress.com/304/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/paultebraak.wordpress.com/304/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/paultebraak.wordpress.com/304/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/paultebraak.wordpress.com/304/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/paultebraak.wordpress.com/304/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/paultebraak.wordpress.com/304/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/paultebraak.wordpress.com/304/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/paultebraak.wordpress.com/304/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/paultebraak.wordpress.com/304/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/paultebraak.wordpress.com/304/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/paultebraak.wordpress.com/304/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/paultebraak.wordpress.com/304/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/paultebraak.wordpress.com/304/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=paultebraak.wordpress.com&amp;blog=21358579&amp;post=304&amp;subd=paultebraak&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://paultebraak.wordpress.com/2012/01/28/sql-saturdays-in-australia-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3315127f61225b3ff0ec28cb45b825d6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">paultebraak</media:title>
		</media:content>
	</item>
		<item>
		<title>BISM : Importing Text Files into Power Pivot</title>
		<link>http://paultebraak.wordpress.com/2012/01/09/bism-importing-text-files-into-power-pivot/</link>
		<comments>http://paultebraak.wordpress.com/2012/01/09/bism-importing-text-files-into-power-pivot/#comments</comments>
		<pubDate>Mon, 09 Jan 2012 02:31:16 +0000</pubDate>
		<dc:creator>Paul te Braak</dc:creator>
				<category><![CDATA[BISM]]></category>
		<category><![CDATA[Data Import]]></category>

		<guid isPermaLink="false">http://paultebraak.wordpress.com/?p=297</guid>
		<description><![CDATA[A recent post has shown an issue with the import of some text files into powerpivot. It would appear that, for some fields the default import for text files assumes integer data types regardless of the underlying type. Because the import utility cannot be configured to specify the data type for fields, the data in [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=paultebraak.wordpress.com&amp;blog=21358579&amp;post=297&amp;subd=paultebraak&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A recent <a href="http://social.technet.microsoft.com/Forums/en-US/sqlkjpowerpivotforexcel/thread/456699ec-b5a2-4ae9-bc9f-b7ed2d637959">post</a> has shown an issue with the import of some text files into powerpivot.  It would appear that, for some fields the default import for text files assumes integer data types regardless of the underlying type.  Because the import utility cannot be configured to specify the data type for fields, the data in columns are dropped from the import.
</p>
<p>Text files are imported into via the [From Text] button of the &#8216;Get External Data&#8217; section of the powerpivot ribbon.  The import options are very limited and only specify the file name and generic file properties (delimiter and first row field headings).  The advanced option only specifies text encoding.
</p>
<p><img src="http://paultebraak.files.wordpress.com/2012/01/010912_0230_bismimporti1.png?w=600" alt="" />
	</p>
<p>
 </p>
<p><img src="http://paultebraak.files.wordpress.com/2012/01/010912_0230_bismimporti2.png?w=600" alt="" />
	</p>
<p>This works where the fields to be imported are numeric types (as above) or capable of numeric conversion but not when the field contains a character type. For example; the following pictures show the outcome of text imports over a non-numeric field.  Here, the first record (NA) is not imported and the other records are converted to numeric data.
</p>
<div>
<table style="border-collapse:collapse;" border="0">
<col style="width:256px;" />
<col style="width:251px;" />
<tbody valign="top">
<tr>
<td style="padding-left:7px;padding-right:7px;border-top:solid #d9d9d9 .5pt;border-left:solid #d9d9d9 .5pt;border-bottom:solid #d9d9d9 .5pt;border-right:solid #d9d9d9 .5pt;">
<p><img src="http://paultebraak.files.wordpress.com/2012/01/010912_0230_bismimporti3.png?w=600" alt="" /></p>
</td>
<td style="padding-left:7px;padding-right:7px;border-top:solid #d9d9d9 .5pt;border-left:none;border-bottom:solid #d9d9d9 .5pt;border-right:solid #d9d9d9 .5pt;">
<p><img src="http://paultebraak.files.wordpress.com/2012/01/010912_0230_bismimporti4.png?w=600" alt="" /></p>
</td>
</tr>
</tbody>
</table>
</div>
<p>
 </p>
<p>After the import, specifying and reimporting the field as a text data type converts the field but does not import solve the dropping of non-numeric data.
</p>
<p>To import the file with the expected type (and all data), we need to provide a data file with quoted data.  For example, the following file will import correctly.
</p>
<div>
<table style="border-collapse:collapse;" border="0">
<col style="width:319px;" />
<col style="width:319px;" />
<tbody valign="top">
<tr>
<td style="padding-left:7px;padding-right:7px;border-top:solid #d9d9d9 .5pt;border-left:solid #d9d9d9 .5pt;border-bottom:solid #d9d9d9 .5pt;border-right:solid #d9d9d9 .5pt;">
<p><img src="http://paultebraak.files.wordpress.com/2012/01/010912_0230_bismimporti5.png?w=600" alt="" /></p>
</td>
<td style="padding-left:7px;padding-right:7px;border-top:solid #d9d9d9 .5pt;border-left:none;border-bottom:solid #d9d9d9 .5pt;border-right:solid #d9d9d9 .5pt;">
<p><img src="http://paultebraak.files.wordpress.com/2012/01/010912_0230_bismimporti6.png?w=600" alt="" /></p>
</td>
</tr>
</tbody>
</table>
</div>
<p>
 </p>
<p>
 </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/paultebraak.wordpress.com/297/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/paultebraak.wordpress.com/297/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/paultebraak.wordpress.com/297/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/paultebraak.wordpress.com/297/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/paultebraak.wordpress.com/297/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/paultebraak.wordpress.com/297/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/paultebraak.wordpress.com/297/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/paultebraak.wordpress.com/297/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/paultebraak.wordpress.com/297/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/paultebraak.wordpress.com/297/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/paultebraak.wordpress.com/297/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/paultebraak.wordpress.com/297/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/paultebraak.wordpress.com/297/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/paultebraak.wordpress.com/297/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=paultebraak.wordpress.com&amp;blog=21358579&amp;post=297&amp;subd=paultebraak&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://paultebraak.wordpress.com/2012/01/09/bism-importing-text-files-into-power-pivot/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3315127f61225b3ff0ec28cb45b825d6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">paultebraak</media:title>
		</media:content>

		<media:content url="http://paultebraak.files.wordpress.com/2012/01/010912_0230_bismimporti1.png" medium="image" />

		<media:content url="http://paultebraak.files.wordpress.com/2012/01/010912_0230_bismimporti2.png" medium="image" />

		<media:content url="http://paultebraak.files.wordpress.com/2012/01/010912_0230_bismimporti3.png" medium="image" />

		<media:content url="http://paultebraak.files.wordpress.com/2012/01/010912_0230_bismimporti4.png" medium="image" />

		<media:content url="http://paultebraak.files.wordpress.com/2012/01/010912_0230_bismimporti5.png" medium="image" />

		<media:content url="http://paultebraak.files.wordpress.com/2012/01/010912_0230_bismimporti6.png" medium="image" />
	</item>
		<item>
		<title>Whitepaper and Samples Released: Data Analysis Expressions (DAX) In the Tabular BI Semantic Model</title>
		<link>http://paultebraak.wordpress.com/2012/01/04/whitepaper-and-samples-released-data-analysis-expressions-dax-in-the-tabular-bi-semantic-model/</link>
		<comments>http://paultebraak.wordpress.com/2012/01/04/whitepaper-and-samples-released-data-analysis-expressions-dax-in-the-tabular-bi-semantic-model/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 23:46:29 +0000</pubDate>
		<dc:creator>Paul te Braak</dc:creator>
				<category><![CDATA[BISM]]></category>
		<category><![CDATA[DAX]]></category>
		<category><![CDATA[whitepaper]]></category>

		<guid isPermaLink="false">http://paultebraak.wordpress.com/?p=287</guid>
		<description><![CDATA[If your looking to get into DAX and the tabular model but not sure where to start or where dax fits in, theres a new whitepaper released.  It gives a good overview and will get you started in no time. http://www.microsoft.com/download/en/details.aspx?id=28572<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=paultebraak.wordpress.com&amp;blog=21358579&amp;post=287&amp;subd=paultebraak&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>If your looking to get into DAX and the tabular model but not sure where to start or where dax fits in, theres a new <a title="whitepaper" href="http://www.microsoft.com/download/en/details.aspx?id=28572">whitepaper </a>released.  It gives a good overview and will get you started in no time.</p>
<p><a href="http://www.microsoft.com/download/en/details.aspx?id=28572">http://www.microsoft.com/download/en/details.aspx?id=28572</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/paultebraak.wordpress.com/287/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/paultebraak.wordpress.com/287/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/paultebraak.wordpress.com/287/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/paultebraak.wordpress.com/287/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/paultebraak.wordpress.com/287/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/paultebraak.wordpress.com/287/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/paultebraak.wordpress.com/287/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/paultebraak.wordpress.com/287/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/paultebraak.wordpress.com/287/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/paultebraak.wordpress.com/287/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/paultebraak.wordpress.com/287/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/paultebraak.wordpress.com/287/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/paultebraak.wordpress.com/287/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/paultebraak.wordpress.com/287/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=paultebraak.wordpress.com&amp;blog=21358579&amp;post=287&amp;subd=paultebraak&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://paultebraak.wordpress.com/2012/01/04/whitepaper-and-samples-released-data-analysis-expressions-dax-in-the-tabular-bi-semantic-model/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3315127f61225b3ff0ec28cb45b825d6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">paultebraak</media:title>
		</media:content>
	</item>
		<item>
		<title>BISM : Competing &amp; Continuous Store Sales using DAX</title>
		<link>http://paultebraak.wordpress.com/2011/12/29/bism-competing-continuous-store-sales-using-dax/</link>
		<comments>http://paultebraak.wordpress.com/2011/12/29/bism-competing-continuous-store-sales-using-dax/#comments</comments>
		<pubDate>Thu, 29 Dec 2011 20:47:11 +0000</pubDate>
		<dc:creator>Paul te Braak</dc:creator>
				<category><![CDATA[BISM]]></category>
		<category><![CDATA[DAX]]></category>
		<category><![CDATA[DAX Calculations]]></category>

		<guid isPermaLink="false">http://paultebraak.wordpress.com/?p=281</guid>
		<description><![CDATA[Retail analysis models often include a competing outlet indicator to improve the quality of the model. The indicator does this by allowing the user to manage the effect that is associated with partial trading periods. For example, the true / false indicator shows whether the store has traded for all available weeks in a month. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=paultebraak.wordpress.com&amp;blog=21358579&amp;post=281&amp;subd=paultebraak&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Retail analysis models often include a competing outlet indicator to improve the quality of the model. The indicator does this by allowing the user to manage the effect that is associated with partial trading periods. For example, the true / false indicator shows whether the store has traded for all available weeks in a month. This post looks at how the competing store indicator can be implemented using powerpivot and DAX.</p>
<p><span style="text-decoration:underline;"><strong>The Competing Store Definition<br />
</strong></span></p>
<p>There are a few definitions of competitive stores (and perhaps another post to follow). In this post, the definition of competitive is a store that trades for every week in the month. If the store has not traded for all weeks, it is not considered competitive and this permits the identification of sales that occurred when;</p>
<ol>
<li>The store was open or closed for the month in question <em>or</em></li>
<li>The store didn&#8217;t trade for some other reason (eg refurbishment)</li>
</ol>
<p><span style="text-decoration:underline;"><strong>The Model<br />
</strong></span></p>
<p>The underlying model considers a store dimension, date dimension, and sales data. The grain for sales is { store x day } <span style="font-family:Wingdings;">à</span> sales amount. Although, this implementation treats the sales relation {store x day} as unique, there is no requirement to do so. The dates table follows standard structure of a date dimension table (grain of day) with the fiscal calendar attributes aligned along a 445 Calender. The fields fiscal_fullweek_key has the format YYYYWW and fiscal_fullmonth_key has the format YYYYMM. These are standard implementations where YYYY refers to the century, WW refers to the week of year and MM refers to the month of year.</p>
<p><img src="http://paultebraak.files.wordpress.com/2011/12/122911_2047_bismcompeti1.png?w=600" alt="" /><span style="text-decoration:underline;"><em><br />
</em></span></p>
<p>The store table is a type 1 dimension (showing the &#8216;current&#8217; state of the store). There is a strong argument to show the [competing store] as an attribute of the store dimension however, this would require a type 2 store dimension and intensive ETL. This is outside the management of the end user who consumes available data as it would require more intensive resources and relational constructs.</p>
<p><span style="text-decoration:underline;"><strong>Method<br />
</strong></span></p>
<p>The approach to determine whether the sale is competing or not is based on the comparison of the stores actual trading weeks in a month compared to the available trading weeks. When the two values are the same the sale is competitive, otherwise it is not. Additionally, note that this formula is applicable to each row of the sales fact because the sales fact is the only table that combines both store and date data and can therefore be used as the auto-exists cross-join of stores and dates.</p>
<p>For each row in the sales fact, we must determine;</p>
<ol>
<li>weeks_in_month as the number of weeks in the current month, <em>where current refers to the row context of date (ie the number of weeks in the month of the sales date). </em></li>
<li>sales_in_month as the number of weeks in the current month that the store traded. <em>Again, current refers to the row context of sale date.</em></li>
</ol>
<p>In order to improve readability of the formula the sales table has been extended to include a field full_month_key (formula = <span style="font-family:Courier New;">RELATED(fiscal_fullmonth_key)</span>) and full_week_key (formula = <span style="font-family:Courier New;">RELATED(fiscal_fullweek_key)</span>)</p>
<p><strong><em>Formula 1 – Available Trading Weeks in Current Month (weeks_in_month)<br />
</em></strong></p>
<p>The available weeks in the current month are the distinct count of weeks for the related month. We can achieve this by removing the filter context of the dates table and reapplying it so that the row sales month equals the dates month (below)</p>
<div>
<table style="border-collapse:collapse;" border="0">
<col style="width:638px;" />
<tbody valign="top">
<tr>
<td style="padding-left:7px;padding-right:7px;border:solid #d9d9d9 .5pt;"><span style="font-family:Courier New;">CALCULATE(<br />
</span></p>
<p><span style="font-family:Courier New;">        DISTINCTCOUNT(Dates[fiscal_fullweek_key])<br />
</span></p>
<p><span style="font-family:Courier New;">        , filter(all(Dates), Sales[fullmonth_key]=Dates[fiscal_fullmonth_key])<br />
</span></p>
<p><span style="font-family:Courier New;">        )</span></td>
</tr>
</tbody>
</table>
</div>
<p>If the sales table did not include the fullmonth_key field, we could use the related function directly in the formula.</p>
<div>
<table style="border-collapse:collapse;" border="0">
<col style="width:638px;" />
<tbody valign="top">
<tr style="height:43px;">
<td style="padding-left:7px;padding-right:7px;border:solid #d9d9d9 .5pt;"><span style="font-family:Courier New;">CALCULATE(<br />
</span></p>
<p><span style="font-family:Courier New;">            DISTINCTCOUNT(Dates[fiscal_weeks_key])<br />
</span></p>
<p><span style="font-family:Courier New;">            , filter(all(dates), RELATED(Dates[fiscal_fullmonth_key])=Dates[fiscal_fullmonth_key])<br />
</span></p>
<p><span style="font-family:Courier New;">        )</span></td>
</tr>
</tbody>
</table>
</div>
<p>Alternatively, we can remove the row filter context of the dates table to the extent that it only includes the current month. This is done with the <a href="http://technet.microsoft.com/en-us/library/ee634795.aspx">ALLEXCEPT</a> function so that the dates table filters are removed except for the listed column restrictions (as below)</p>
<div>
<table style="border-collapse:collapse;" border="0">
<col style="width:638px;" />
<tbody valign="top">
<tr>
<td style="padding-left:7px;padding-right:7px;border:solid #d9d9d9 .5pt;"><span style="font-family:Courier New;font-size:11pt;">CALCULATE(<br />
</span></p>
<p><span style="font-family:Courier New;font-size:11pt;">        DISTINCTCOUNT(Dates[fiscal_fullweek_key])<br />
</span></p>
<p><span style="font-family:Courier New;font-size:11pt;">        , ALLEXCEPT(Dates,Dates[fiscal_fullmonth_key])<br />
</span></p>
<p><span style="font-family:Courier New;font-size:11pt;">        )</span></td>
</tr>
</tbody>
</table>
</div>
<p>&nbsp;</p>
<p><strong><em>Formula 2 – Weeks Traded in the Current Month (weeks_sales_in_month)<br />
</em></strong></p>
<p>To determine the number of weeks that a store traded for (in the current month), we use a similar restriction but apply it to the sales table. That is, count distinct weeks after we remove the current row filter context and reapply it based on the current month of the rows sale date.</p>
<div>
<table style="border-collapse:collapse;" border="0">
<col style="width:638px;" />
<tbody valign="top">
<tr style="height:46px;">
<td style="padding-left:7px;padding-right:7px;border:solid #d9d9d9 .5pt;"><span style="font-family:Courier New;">CALCULATE(<br />
</span></p>
<p><span style="font-family:Courier New;">        DISTINCTCOUNT(sales[week_key])<br />
</span></p>
<p><span style="font-family:Courier New;">        , ALLEXCEPT(sales,sales[store_key], sales[fullmonth_key])<br />
</span></p>
<p><span style="font-family:Courier New;">        )</span></td>
</tr>
</tbody>
</table>
</div>
<p>&nbsp;</p>
<p><strong><em>Formula 3 – Continuing Sales<br />
</em></strong></p>
<p>The final (and only visible formula) is a simple if function that compares the trading weeks to those available for a true/false output.</p>
<p><span style="font-family:Courier New;"><span style="font-size:11pt;">=if([weeks_in_month]=[weeks_sales_in_month], &#8220;Yes&#8221;, &#8220;No&#8221;)</span><br />
</span></p>
<p><span style="text-decoration:underline;"><strong>Final Model<br />
</strong></span></p>
<p>The final schema for the model is shown below. The measure [Sales Amount] is simply the sum of the sales_amount field.</p>
<p><img src="http://paultebraak.files.wordpress.com/2011/12/122911_2047_bismcompeti2.png?w=600" alt="" /><span style="text-decoration:underline;"><strong><br />
</strong></span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/paultebraak.wordpress.com/281/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/paultebraak.wordpress.com/281/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/paultebraak.wordpress.com/281/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/paultebraak.wordpress.com/281/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/paultebraak.wordpress.com/281/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/paultebraak.wordpress.com/281/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/paultebraak.wordpress.com/281/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/paultebraak.wordpress.com/281/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/paultebraak.wordpress.com/281/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/paultebraak.wordpress.com/281/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/paultebraak.wordpress.com/281/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/paultebraak.wordpress.com/281/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/paultebraak.wordpress.com/281/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/paultebraak.wordpress.com/281/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=paultebraak.wordpress.com&amp;blog=21358579&amp;post=281&amp;subd=paultebraak&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://paultebraak.wordpress.com/2011/12/29/bism-competing-continuous-store-sales-using-dax/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3315127f61225b3ff0ec28cb45b825d6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">paultebraak</media:title>
		</media:content>

		<media:content url="http://paultebraak.files.wordpress.com/2011/12/122911_2047_bismcompeti1.png" medium="image" />

		<media:content url="http://paultebraak.files.wordpress.com/2011/12/122911_2047_bismcompeti2.png" medium="image" />
	</item>
		<item>
		<title>Powerview in the Cloud</title>
		<link>http://paultebraak.wordpress.com/2011/12/28/powerview-in-the-cloud/</link>
		<comments>http://paultebraak.wordpress.com/2011/12/28/powerview-in-the-cloud/#comments</comments>
		<pubDate>Wed, 28 Dec 2011 23:30:22 +0000</pubDate>
		<dc:creator>Paul te Braak</dc:creator>
				<category><![CDATA[BISM]]></category>
		<category><![CDATA[Powerview]]></category>
		<category><![CDATA[Tabular]]></category>

		<guid isPermaLink="false">http://paultebraak.wordpress.com/?p=277</guid>
		<description><![CDATA[If your interested in trying powerview (the new MS data exploration tool), checkout http://blogs.msdn.com/b/oneclickbi/archive/2011/12/27/more-demos-of-power-view-available.aspx .  The site has a quick tutorial on getting started, some datasets to explore and (of course) a cloud version of powerview to play with.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=paultebraak.wordpress.com&amp;blog=21358579&amp;post=277&amp;subd=paultebraak&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>If your interested in trying powerview (the new MS data exploration tool), checkout <a href="http://blogs.msdn.com/b/oneclickbi/archive/2011/12/27/more-demos-of-power-view-available.aspx">http://blogs.msdn.com/b/oneclickbi/archive/2011/12/27/more-demos-of-power-view-available.aspx</a> . </p>
<p>The site has a quick tutorial on getting started, some datasets to explore and (of course) a cloud version of powerview to play with.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/paultebraak.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/paultebraak.wordpress.com/277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/paultebraak.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/paultebraak.wordpress.com/277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/paultebraak.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/paultebraak.wordpress.com/277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/paultebraak.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/paultebraak.wordpress.com/277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/paultebraak.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/paultebraak.wordpress.com/277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/paultebraak.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/paultebraak.wordpress.com/277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/paultebraak.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/paultebraak.wordpress.com/277/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=paultebraak.wordpress.com&amp;blog=21358579&amp;post=277&amp;subd=paultebraak&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://paultebraak.wordpress.com/2011/12/28/powerview-in-the-cloud/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3315127f61225b3ff0ec28cb45b825d6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">paultebraak</media:title>
		</media:content>
	</item>
	</channel>
</rss>
