<?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>The Frog-Blog</title>
	<atom:link href="http://www.purplefrogsystems.com/blog/index.php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.purplefrogsystems.com/blog</link>
	<description>Purple Frog-Blog for all that is Business Intelligence</description>
	<lastBuildDate>Mon, 26 Jul 2010 13:41:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Leap before you can land</title>
		<link>http://www.purplefrogsystems.com/blog/index.php/2010/07/leap-before-you-can-land/</link>
		<comments>http://www.purplefrogsystems.com/blog/index.php/2010/07/leap-before-you-can-land/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 13:10:57 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Business Intelligence]]></category>
		<category><![CDATA[Frog]]></category>

		<guid isPermaLink="false">http://www.purplefrogsystems.com/blog/?p=119</guid>
		<description><![CDATA[Leap before you can land…
Research scientists at the Southern Illinois University have concluded that primitive frogs learned to jump before they learned to land. The result being a rather inelegant crash landing. I’m sure the frogs were happy that they achieved their goal of getting from A to B, but I do feel sorry for [...]]]></description>
			<content:encoded><![CDATA[<p>Leap before you can land…</p>
<p>Research scientists at the Southern Illinois University have concluded that <a href=http://www.newscientist.com/article/dn19221-bellyflopping-frogs-shed-light-on-evolution.html?DCMP=OTC-rss&#038;nsref=online-news target=”_blank”>primitive frogs learned to jump before they learned to land</a>. The result being a rather inelegant crash landing. I’m sure the frogs were happy that they achieved their goal of getting from A to B, but I do feel sorry for them having to endure the presumably painful landing, not to mention the indignity of having the rest of the pond witness the proceedings!</p>
<p>What struck me about this story, aside from the obvious frog reference (albeit not purple!), was the parallel to Business Intelligence projects that we encounter time and time again. BI systems that are put in place, but whilst the project teams are basking in the glory of accomplishing their goal, often sporting a couple of bruises picked up along the way, the wider business looks on not really knowing what has just happened or understanding how the company or their department are going to benefit from this leap in technology.</p>
<p>Although BI, as both a business function and technical toolset, has long since reached maturity, its adoption within SMEs is still surprisingly in its youth. Most companies who embark on a BI project seem to do so either because they have been sold on a fantastic vision of the future of information management, or because they have a specific business need to solve. Whatever the reasons for initiating a BI project, there is often very little thought given to how this new information system is likely to impact the wider business, or how the system can be utilised to provide far more benefit than the original project scope called for.</p>
<p>There are two aspects to this impact, the pain and the gain.</p>
<h3>The gain</h3>
<p>When the company’s data is cleaned, consolidated and remodelled to make reporting and analysis more simple (one of the primary goals of a BI project), the tendency is to use that system to reproduce the company’s old static reports but in a slightly more glossy fashion, only faster and more accurate. This stops far short of what a good data warehouse or cube is capable of. Enter self-service BI.</p>
<p>Self-service BI essentially allows your employees to have a level of (secured) access to the underlying BI data, combined with the right tools to perform their own analysis. This enables them to not just consume their old static reports, but to pro-actively go digging for information, knowledge and a greater understanding of your company. Gone are the days when requiring a change to a report has to be documented, requested, specified, programmed, tested &#038; released. A well designed data warehouse and cube, along with the right client tools (often just Excel), enables a user to just do it themselves with the bare minimum of training (if any), whilst retaining the confidence that the resulting report is accurate; the warehouse/cube take care of ensuring the underlying business logic is right.</p>
<h3>The pain</h3>
<p>A data warehouse is, by definition, a combined set of data from a variety of source systems. This means that any change to the source systems must be assessed for their impact on the warehouse. After putting a sparkly new BI infrastructure in place, you don’t want it to fall over because someone changed the structure of a source database or extract file! This adds a layer of change control that may not have existed before, and can cause some headaches.</p>
<p>There is usually a moderately large requirement for business users’ time, both to help the BI architect to understand and model the business properly, and also in testing.</p>
<h3>Pain but no gain?</h3>
<p>So, if the benefits such as self service BI (with dashboards, data mining, KPIs, PowerPivot etc. etc) are not adopted and utilised, the business is left having made an impressive technology leap, but is then stuck with the impact on source systems, a bill, and confusion from staff who don’t see the benefit of getting their old reports via a different method. </p>
<p>Evolution taught the frog that by landing properly, he can quickly jump again to go even further, and avoid the pain in the meantime.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.purplefrogsystems.com/blog/index.php/2010/07/leap-before-you-can-land/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL User Group Session 24 June 2010</title>
		<link>http://www.purplefrogsystems.com/blog/index.php/2010/06/sql-user-group-session-24-june-2010/</link>
		<comments>http://www.purplefrogsystems.com/blog/index.php/2010/06/sql-user-group-session-24-june-2010/#comments</comments>
		<pubDate>Wed, 09 Jun 2010 20:01:53 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Analysis Services]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Data Warehouse]]></category>
		<category><![CDATA[Modelling]]></category>
		<category><![CDATA[Star Schema]]></category>

		<guid isPermaLink="false">http://www.purplefrogsystems.com/blog/?p=117</guid>
		<description><![CDATA[I&#8217;m excited to be presenting another session to the South Wales SQL Server User Group.
On Thursday 24th June 2010, Eversheds in Cardiff are kindly hosting the event, to run from 18:45 to 21:00.
The event is free, and you&#8217;ll even get pizza thrown in &#8211; what more can you ask for? Oh yes, some BI content&#8230;
My [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m excited to be presenting another session to the South Wales SQL Server User Group.</p>
<p>On Thursday 24th June 2010, Eversheds in Cardiff are kindly hosting the event, to run from 18:45 to 21:00.<br />
The event is free, and you&#8217;ll even get pizza thrown in &#8211; what more can you ask for? Oh yes, some BI content&#8230;</p>
<p>My session will cover data warehouse modelling, including a number of hands on business case studies including transactional data, account balances and duration based data.</p>
<p>Please feel free to bring your own data modelling problems along and I&#8217;ll try and cover as many as I can.</p>
<p>Register for free here: <a href="http://www.sqlserverfaq.com/events/235/Data-warehouse-design-case-studies-Other-BI-related-session-TBC.aspx" target="_blank">http://www.sqlserverfaq.com/events/235/Data-warehouse-design-case-studies-Other-BI-related-session-TBC.aspx</a></p>
<p>Hope to see you there!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.purplefrogsystems.com/blog/index.php/2010/06/sql-user-group-session-24-june-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL Server 2008 R2 &#8211; PowerPivot and Master Data Services</title>
		<link>http://www.purplefrogsystems.com/blog/index.php/2010/05/sql-server-2008-r2-powerpivot-and-master-data-services/</link>
		<comments>http://www.purplefrogsystems.com/blog/index.php/2010/05/sql-server-2008-r2-powerpivot-and-master-data-services/#comments</comments>
		<pubDate>Tue, 18 May 2010 20:13:48 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Analysis Services]]></category>
		<category><![CDATA[Integration Services]]></category>
		<category><![CDATA[Reporting Services]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[DAX]]></category>
		<category><![CDATA[Master Data Services]]></category>
		<category><![CDATA[PowerPivot]]></category>

		<guid isPermaLink="false">http://www.purplefrogsystems.com/blog/?p=114</guid>
		<description><![CDATA[Purple Frog spent a very interesting day at Microsoft last week, at one of their many events promoting the launch of SQL Server 2008 R2. Rafal Lukewiecki presented an entertaining (as always!) and informative series of talks covering the release, focusing on the enhanced Business Intelligence tools available.
The primary changes to note are

Power Pivot – [...]]]></description>
			<content:encoded><![CDATA[<p>Purple Frog spent a very interesting day at Microsoft last week, at one of their many events promoting the launch of SQL Server 2008 R2. Rafal Lukewiecki presented an entertaining (as always!) and informative series of talks covering the release, focusing on the enhanced Business Intelligence tools available.</p>
<p>The primary changes to note are</p>
<ul>
<li><strong>Power Pivot</strong> – An in memory, client side add-in to Excel, that allows users to create virtual cubes on their desktop and analyse over 100m records of data virtually instantly</li>
<li><strong>DAX </strong>– A new expression language, designed for non-technical (probably more realistically, semi-technical) users to extend pivot tables and power pivot tables without having to learn MDX</li>
<li><strong>Report Components</strong> – In a report consisting of a couple of tables, a chart and a few gauges (gauges, sparklines &amp; maps are all new features of SSRS), you can save each element as a component and re-use it in different reports. This should result in much less duplication of work.</li>
<li><strong>Report Builder 3</strong> – A thin-client tool allowing end users to create Reporting Services reports. This is a big enhancement over its predecessor s it is finally fully compatible with reports created in the Business Intelligence Development Studio (BIDS), including report components.</li>
<li><strong>Master Data Services</strong> – A centralised tool and database intended to provide governance of your organisation’s master data (centralised list of products, fiscal calendar, regions etc.).</li>
</ul>
<p>The enhancements to <strong>Reporting Services</strong> (SSRS) are very welcome, and should be of huge benefit to anyone either currently using SSRS or considering using it. I firmly believe that there are no comparable web based reporting engines that even come close for SME organisations when looking at the whole picture including cost of implementation, ease of use, flexibility and capability.</p>
<p><strong>Master Data Services</strong> as a concept has been around for a long time, but there has never been a tool available to organisations to effectively implement it. This is Microsoft’s first proper stab at delivering a workable solution, and although I’m a big fan of the concept, and have no doubt of its benefit to a SME, I’m yet to be convinced that the tool is ready for a large scale corporate environment. Time will tell how scalable and manageable the system is, and credit has to go to Microsoft for starting the ball rolling.</p>
<p>The most impressive addition is without a doubt <strong>PowerPivot</strong>. In a nutshell, it’s a user defined OLAP cube wrapped up within Excel 2010, running entirely in memory on a user’s workstation. If you’ve not yet played with it or seen a demo, I’ll try and elaborate for you… Think about loading Excel with 1 million rows, and then imagine sorting and filtering a number of those columns [cue going out to lunch whilst waiting for Excel to catch up]. With PowerPivot, you can sort and filter over 100 million rows of data almost in an instant – it’s very impressive indeed!</p>
<p>That’s the snazzy demo bit, but to reduce it to a glorified spreadsheet is very harsh indeed. It allows a user to import multiple data sources and combine them together into a single dimensional data model, PowerPivot will create your own personal cube, without you having to build a warehouse, without knowing anything about MDX, dimension hierarchies, attribute relationships, granularity etc. etc.</p>
<p>Microsoft’s vision and reason for creating this tool is self-service BI, allowing users to create their own cubes, data analysis environments and reporting systems. And this is where I start to have a problem…</p>
<p>I can’t remember the last time I designed a data warehouse, where I did not find significant data quality problems, conflicting data, missing data, duplicated data etc.. I also find it hard to think of a situation where an end user (even a power user) is sufficiently clued up about the intricacies of a source OLTP database to be able to extract the right data and know what to do with it. Or if they are, a dozen other people in different departments have a different idea about how things work, resulting in many different versions of the truth.</p>
<p>I’m therefore (for now!) sticking with the opinion that it is still absolutely vital for an organisation to provide a clean, consistent, dimensionally modelled data warehouse as the basis for their BI/MI infrastructure. Tools like PowerPivot then sit very nicely on top to provide an incredibly powerful and beneficial user experience, but to try and use the emergence of self-service BI tools to usher in a new ‘non-data warehouse’ era is a very dangerous route which I hope people will avoid.</p>
<p>In summary – this release brings with it a fantastic host of new tools, but with great power comes great responsibility…</p>
]]></content:encoded>
			<wfw:commentRss>http://www.purplefrogsystems.com/blog/index.php/2010/05/sql-server-2008-r2-powerpivot-and-master-data-services/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQLBits and Microsoft BI conferences</title>
		<link>http://www.purplefrogsystems.com/blog/index.php/2010/04/sqlbits-and-microsoft-bi-conferences/</link>
		<comments>http://www.purplefrogsystems.com/blog/index.php/2010/04/sqlbits-and-microsoft-bi-conferences/#comments</comments>
		<pubDate>Thu, 15 Apr 2010 20:08:05 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Business Intelligence]]></category>
		<category><![CDATA[Conference]]></category>
		<category><![CDATA[SQLBits]]></category>

		<guid isPermaLink="false">http://www.purplefrogsystems.com/blog/?p=110</guid>
		<description><![CDATA[Following the launch of SQL Server 2008 R2 this week, the ever dedicated SQL Bits team are putting on the next installment tomorrow with SQL Bits VI &#8211; &#8216;the Sixth Sets&#8217;. The Purple Froggers will of course be there, hopefully in time for a pre-conference bacon butty!
Also worth mentioning is &#8216;Microsoft Solutions for Business Intelligence&#8217;, [...]]]></description>
			<content:encoded><![CDATA[<p>Following the launch of SQL Server 2008 R2 this week, the ever dedicated SQL Bits team are putting on the next installment tomorrow with <a href="http://www.sqlbits.co.uk" target="_blank">SQL Bits VI &#8211; &#8216;the Sixth Sets&#8217;</a>. The Purple Froggers will of course be there, hopefully in time for a pre-conference bacon butty!</p>
<p>Also worth mentioning is <a href="https://msevents.microsoft.com/cui/EventDetail.aspx?culture=en-GB&#038;eventid=1032446024" target="_blank">&#8216;Microsoft Solutions for Business Intelligence&#8217;</a>, a seminar that Microsoft are holding at their Reading campus on May 12 2010. Rafal Lukewiecki is speaking, anyone who has seen him before will know what an entertaining and knowlegable presenter he is. Whether you are currently implementing a BI solution or are just &#8216;BI curious&#8217;, a technical developer or a business manager, the day will provide an insight into the direction BI is heading in, and what we can expect in the years to come. </p>
<p>We hope to see you at either/both!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.purplefrogsystems.com/blog/index.php/2010/04/sqlbits-and-microsoft-bi-conferences/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Clearing SSRS Query cache</title>
		<link>http://www.purplefrogsystems.com/blog/index.php/2010/04/clearing-ssrs-query-cache/</link>
		<comments>http://www.purplefrogsystems.com/blog/index.php/2010/04/clearing-ssrs-query-cache/#comments</comments>
		<pubDate>Wed, 07 Apr 2010 08:32:23 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[Reporting Services]]></category>
		<category><![CDATA[Cache]]></category>
		<category><![CDATA[Macro]]></category>
		<category><![CDATA[Query Refresh]]></category>
		<category><![CDATA[SSRS]]></category>

		<guid isPermaLink="false">http://www.purplefrogsystems.com/blog/?p=100</guid>
		<description><![CDATA[When developing SQL Server Reporting Services (SSRS) reports, BIDS caches the query results when you preview the report. This cache is then used next time you run a preview. This has the benefit of speeding up report development, but it does cause a problem when you want to test changing data.
A simple way of forcing [...]]]></description>
			<content:encoded><![CDATA[<p>When developing SQL Server Reporting Services (SSRS) reports, BIDS caches the query results when you preview the report. This cache is then used next time you run a preview. This has the benefit of speeding up report development, but it does cause a problem when you want to test changing data.</p>
<p>A simple way of forcing the cache to refresh is to open the folder containing the .rdl report files, and delete the corresponding .rdl.data files. The next time you preview the report SSRS will be forced to requery the source.</p>
<p>To save time, I use the following macro to take care of it.</p>
<p>Press ALT+F8 to open the Macro Explorer, and add a new module called “RemoveRDLDataFiles” under MyMacros. Edit the file and add the following code to the file. (This is for SQL Server 2008, you may need to tweak the references for 2005).</p>
<blockquote><p><small><br />
Imports System<br />
Imports EnvDTE<br />
Imports EnvDTE80<br />
Imports EnvDTE90<br />
mports System.Diagnostics<br />
Imports System.IO</p>
<p>Public Module RemoveRDLDataFiles</p>
<p>Sub RemoveRDLDataFiles()</p>
<p>        Dim project As Project<br />
        Dim Folder As String</p>
<p>        project = DTE.ActiveSolutionProjects(0)</p>
<p>        Dim fi As New FileInfo(project.FullName.ToString)<br />
        Folder = fi.DirectoryName</p>
<p>        For Each FileFound As String In Directory.GetFiles(Folder, &#8220;*.rdl.data&#8221;)<br />
            File.Delete(FileFound)<br />
        Next</p>
<p>End Sub</p>
<p>End Module</small></p></blockquote>
<p>You can then run it by either double clicking on the macro, or assigning a keyboard shortcut to it (via Tools, Customize, Keyboard).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.purplefrogsystems.com/blog/index.php/2010/04/clearing-ssrs-query-cache/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Excel Cube Pivot drillthrough limited to 1000 rows</title>
		<link>http://www.purplefrogsystems.com/blog/index.php/2010/03/excel-cube-pivot-drillthrough-limited-to-1000-rows/</link>
		<comments>http://www.purplefrogsystems.com/blog/index.php/2010/03/excel-cube-pivot-drillthrough-limited-to-1000-rows/#comments</comments>
		<pubDate>Thu, 25 Mar 2010 09:17:45 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Analysis Services]]></category>
		<category><![CDATA[Cube]]></category>
		<category><![CDATA[Drillthrough]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Pivot]]></category>
		<category><![CDATA[SSAS]]></category>

		<guid isPermaLink="false">http://www.purplefrogsystems.com/blog/?p=95</guid>
		<description><![CDATA[When browsing a cube using Excel 2007, you can drillthrough the measures to display up to 1000 rows of the transaction level source data.
I often get asked whether this limit of 1000 rows is configurable &#8211; well the good news is yes it is.
There is an option in the actions tab of the BIDS cube [...]]]></description>
			<content:encoded><![CDATA[<p>When browsing a cube using Excel 2007, you can drillthrough the measures to display up to 1000 rows of the transaction level source data.</p>
<p>I often get asked whether this limit of 1000 rows is configurable &#8211; well the good news is yes it is.</p>
<p>There is an option in the actions tab of the BIDS cube designer which allows you to specify the maximum rows, but helpfully this is ignored by Excel. Instead, you have to set it in Excel when you create a pivot.</p>
<p>Just click &#8220;<strong>Options</strong>&#8221; on the &#8220;<strong>PivotTable Tools</strong>&#8221; ribon, then in the &#8220;<strong>Change Data Source</strong>&#8221; dropdown click on &#8220;<strong>Connection Properties</strong>&#8220;. In this screen, just change the &#8220;<strong>Maximum number of records to retrieve</strong>&#8221; property.</p>
<p><a href="http://www.purplefrogsystems.com/blog/wp-content/uploads/2010/03/excelpivotdrillthrough.png"><img class="aligncenter size-full wp-image-96" title="excelpivotdrillthrough" src="http://www.purplefrogsystems.com/blog/wp-content/uploads/2010/03/excelpivotdrillthrough.png" alt="Excel 2007 Pivot Options" width="458" height="662" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.purplefrogsystems.com/blog/index.php/2010/03/excel-cube-pivot-drillthrough-limited-to-1000-rows/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Loan Amortisation in SQL Server (PMT, FV, IPMT, PPMT)</title>
		<link>http://www.purplefrogsystems.com/blog/index.php/2010/03/loan-amortisation-in-sql-server-pmt-fv-ipmt-ppmt/</link>
		<comments>http://www.purplefrogsystems.com/blog/index.php/2010/03/loan-amortisation-in-sql-server-pmt-fv-ipmt-ppmt/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 19:57:20 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Amortisation]]></category>
		<category><![CDATA[CLR]]></category>

		<guid isPermaLink="false">http://www.purplefrogsystems.com/blog/?p=76</guid>
		<description><![CDATA[Whilst designing a data warehouse for a banking client recently, I needed to calculate projected future loan payments (including breaking this down by interest and capital payments) for every customer throughout the life of the loan.

In Excel this is a pretty simple job, as Microsoft helpfully provide a number of functions to do just that [...]]]></description>
			<content:encoded><![CDATA[<p>Whilst designing a data warehouse for a banking client recently, I needed to calculate projected future loan payments (including breaking this down by interest and capital payments) for every customer throughout the life of the loan.</p>
<p><a href="http://www.purplefrogsystems.com/blog/wp-content/uploads/2010/03/loanamortisation.png"><img class="aligncenter size-full wp-image-74" title="Loan Amortisation" src="http://www.purplefrogsystems.com/blog/wp-content/uploads/2010/03/loanamortisation.png" alt="" width="440" height="210" /></a></p>
<p>In Excel this is a pretty simple job, as Microsoft helpfully provide a number of functions to do just that (namely PMT, FV, IPMT and PPMT). In SQL Server however we do not have the luxury of having ready made functions, so I set about making my own.</p>
<p>Initially I coded them up as SQL Server functions, only to find that the internal rounding that SQL performs renders the results too inacurate to be usable. It was therefore necessary to write the functions in a C#, and wrap them up in a CLR library. SQL Server can then import them as scalar functions, to be used by any query that requires them.</p>
<p>To overcome this, the Purple Frog team have written a .Net CLR library which add four loan amortisation functions to SQL Server, which can be called from within a query as scalar functions, such as:</p>
<blockquote><p><small>SELECT dbo.PMT(@APR/12.0, @Term, @LoanValue, 0, 0)</small></p></blockquote>
<p>The functions provided are:</p>
<ul>
<li><small>PMT   (The monthly payment of a loan)</small></li>
<li><small>FV    (The future value of a loan at a given month)</small></li>
<li><small>IPMT  (The interest portion of the monthly payment at a given month)</small></li>
<li><small>PPMT  (The capital portion of the monthly payment at a given month)</small></li>
</ul>
<p>These are designed to mirror the parameters and results of the Excel functions, and have been written in C# using Visual Studio 2008, and tested against SQL Server 2008 Enterprise.</p>
<p>The functions perform surprisingly well; in tests I was able to calculate over 3 million monthly payments per minute, and that was on a relatively underpowered development server.</p>
<p>I must thank <a href="http://www.experts-exchange.com/M_2758051.html" target="_blank">Kevin/MWVisa1</a> for writing a superb article explaining the finer points of the calculation process in his post <a href="http://www.experts-exchange.com/articles/Other/Math_Science/A-Guide-to-the-PMT-FV-IPMT-and-PPMT-Functions.html" target="_blank">here</a>, on which the bulk of this code is derived.</p>
<p>You can download the C# code, or the pre-compiled binary from the <a href="/blog/index.php/downloads/" target="_self">Frog-Blog download section</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.purplefrogsystems.com/blog/index.php/2010/03/loan-amortisation-in-sql-server-pmt-fv-ipmt-ppmt/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SQL Bits 6 &#8211; Registration Open</title>
		<link>http://www.purplefrogsystems.com/blog/index.php/2010/03/sql-bits-6-registration-open/</link>
		<comments>http://www.purplefrogsystems.com/blog/index.php/2010/03/sql-bits-6-registration-open/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 12:34:50 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Conference]]></category>
		<category><![CDATA[SQLBits]]></category>

		<guid isPermaLink="false">http://www.purplefrogsystems.com/blog/?p=39</guid>
		<description><![CDATA[For anyone interested in SQL Server, the unmissable SQL Bits conference is returning for round six. &#8220;SQL Bits &#8211; The 6th Sets&#8221; is being held in central London for the first time, and unlike previous conferences it will be for one day only on Friday 16th April 2010.
It&#8217;s being held as part of the SQL [...]]]></description>
			<content:encoded><![CDATA[<p>For anyone interested in SQL Server, the unmissable SQL Bits conference is returning for round six. &#8220;SQL Bits &#8211; The 6th Sets&#8221; is being held in central London for the first time, and unlike previous conferences it will be for one day only on Friday 16th April 2010.</p>
<p>It&#8217;s being held as part of the SQL Server 2008 R2 release, also happening that week in London.</p>
<p>Registration is now open, you can find out more at the <a href="http://sqlbits.com/" target="_blank">SQL Bits website</a>.</p>
<p>We highly recommend the event, hope to see you there&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.purplefrogsystems.com/blog/index.php/2010/03/sql-bits-6-registration-open/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MDX Sub select Vs WHERE clause</title>
		<link>http://www.purplefrogsystems.com/blog/index.php/2010/03/mdx-sub-select-vs-where-clause/</link>
		<comments>http://www.purplefrogsystems.com/blog/index.php/2010/03/mdx-sub-select-vs-where-clause/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 09:23:15 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Analysis Services]]></category>
		<category><![CDATA[Cube]]></category>
		<category><![CDATA[MDX]]></category>
		<category><![CDATA[WHERE]]></category>

		<guid isPermaLink="false">http://www.purplefrogsystems.com/blog/?p=36</guid>
		<description><![CDATA[I&#8217;ve just read an interesting thread on the SQL Server Developer Center forum, regarding how to filter results. Specifically the difference in MDX between using a subselect
SELECT x on COLUMNS, y on ROWS
FROM ( SELECT z on COLUMNS FROM cube))
or using a where clause
SELECT x on COLUMNS, y on ROWS
FROM cube
WHERE z
In a simple query [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just read an interesting thread on the SQL Server Developer Center forum, regarding how to filter results. Specifically the difference in MDX between using a subselect</p>
<blockquote><p>SELECT x on COLUMNS, y on ROWS<br />
FROM ( SELECT z on COLUMNS FROM cube))</p></blockquote>
<p>or using a where clause</p>
<blockquote><p>SELECT x on COLUMNS, y on ROWS<br />
FROM cube<br />
WHERE z</p></blockquote>
<p>In a simple query they produce the same results, but what is the actual difference? You can read the full thread <a href="http://social.msdn.microsoft.com/Forums/en-US/sqlanalysisservices/thread/3f0a2aba-93de-4f67-8402-181798a6225f" target="_blank">here</a>, but to summarise Darren Gosbell&#8217;s response&#8230;</p>
<p>Using the WHERE clause sets the query context and consequently the CurrentMember. This then enables functions such as YTD and PerdiodsToDate to work.</p>
<p>Using a subselect can provide improved performance, but does not set the context.</p>
<p>Simples..!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.purplefrogsystems.com/blog/index.php/2010/03/mdx-sub-select-vs-where-clause/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Data Warehouse Presentation</title>
		<link>http://www.purplefrogsystems.com/blog/index.php/2010/02/data-warehouse-presentation/</link>
		<comments>http://www.purplefrogsystems.com/blog/index.php/2010/02/data-warehouse-presentation/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 23:26:23 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Business Intelligence]]></category>
		<category><![CDATA[OLAP]]></category>

		<guid isPermaLink="false">http://www.purplefrogsystems.com/blog/?p=34</guid>
		<description><![CDATA[Purple Frog is presenting a session on data warehouse design concepts at the South Wales SQL Server User Group on Thursday 25th February 2010.
If you&#8217;re in the area and want to come along you can register for free here. Eversheds are hosting the event in their Cardiff office.
Adam Morton will be demonstrating an ETL control [...]]]></description>
			<content:encoded><![CDATA[<p>Purple Frog is presenting a session on data warehouse design concepts at the South Wales SQL Server User Group on Thursday 25th February 2010.</p>
<p>If you&#8217;re in the area and want to come along you can register for free <a href="http://sqlserverfaq.com/events/210/BI-Fundamentals-Building-an-Enterprise-ETL-Framework-in-SSIS-other-stuff-tbc.aspx" target="_blank">here</a>. Eversheds are hosting the event in their Cardiff office.</p>
<p>Adam Morton will be demonstrating an ETL control framework in SSIS, and Alex Whittles will be discussing the concepts of data warehousing and the fundamental differences in architecture between OLTP and OLAP systems.</p>
<p>Hope to see you there!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.purplefrogsystems.com/blog/index.php/2010/02/data-warehouse-presentation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
