<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://sqlblog.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Search results matching tags 'Business Intelligence' and 'QueryUnit'</title><link>http://sqlblog.com/search/SearchResults.aspx?o=DateDescending&amp;tag=Business+Intelligence,QueryUnit&amp;orTags=0</link><description>Search results matching tags 'Business Intelligence' and 'QueryUnit'</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61129.1)</generator><item><title>QueryUnit 0.0.0.8 – Trust No One</title><link>http://sqlblog.com/blogs/davide_mauri/archive/2010/04/13/queryunit-0-0-0-8-trust-no-one.aspx</link><pubDate>Tue, 13 Apr 2010 06:22:01 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:24232</guid><dc:creator>manowar</dc:creator><description>&lt;p&gt;Yesterday I’ve release an updated version of QueryUnit, the version 0.0.0.8.&lt;/p&gt;  &lt;p&gt;QueryUnit now supports AreNotEqual, Greater, and Less assertions and is more capable of managing strings results.&lt;/p&gt;  &lt;p&gt;I must say that I cannot live anymore without a proper Unit Testing of a BI solution. Just yesterday happened that one of the unit tests at a customer site failed showing a subtle situation where the release of a new version of custom application would have corrupted the source of BI data with a very low chance that someone would have noticed it before several days. It may happen when you have more the 15 systems that handles the data needed by your BI solution.&lt;/p&gt;  &lt;p&gt;The key message of this situation is “&lt;strong&gt;Trust No One&lt;/strong&gt;”: &lt;em&gt;if your data hasn’t passed quality testing it’s not trustable. Period.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;So QueryUnit is now officialy an hero (at least for me) :) No superpowers still, but useful above all.&lt;/p&gt;  &lt;p&gt;&lt;a title="http://queryunit.codeplex.com/" href="http://queryunit.codeplex.com/"&gt;http://queryunit.codeplex.com/&lt;/a&gt;&lt;/p&gt;</description></item><item><title>The importance of Unit Testing in BI</title><link>http://sqlblog.com/blogs/davide_mauri/archive/2010/04/01/the-importance-of-unit-testing-in-bi.aspx</link><pubDate>Thu, 01 Apr 2010 16:50:06 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:23978</guid><dc:creator>manowar</dc:creator><description>&lt;p&gt;One of the main steps in the process we internally use to develop a BI solution is the implementation of Unit Test of you BI Data.&lt;/p&gt;  &lt;p&gt;As you may already know, I’ve create a simple (for now) tool that leverages NUnit to allow us to quickly create Unit Testing without having to resort to use Visual Studio Database Professional:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://queryunit.codeplex.com/" href="http://queryunit.codeplex.com/"&gt;http://queryunit.codeplex.com/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Once you have a tool like this one, you can start also to make sure that your BI solution (DWH and CUBE) is not only structurally sound (I mean, the cube or the report gets processed correctly), but you can also check that the &lt;em&gt;logical integrity of your business rules is enforced&lt;/em&gt;.&lt;/p&gt;  &lt;p&gt;For example let’s say that the customer tell you that they will never create an invoice for a specific product-line in 2010 since that product-line is dismissed and will never be sold again. Ok we know that this &lt;em&gt;in theory&lt;/em&gt; is true, but a lot of this business rule effectiveness depends on the fact the people does not do a mistake while inserting new orders/invoices and the ERP used implements a check for this business logic. Unfortunately these last two hypotesis are not always true, so you may find yourself really having some invoices for a product line that doesn’t exists anymore.&lt;/p&gt;  &lt;p&gt;Maybe this kind of situation in future will be solved using Master Data Management but, meanwhile, how you can give and idea of the data quality to your customers? How can you check that logical integrity of the analytical data you produce is exactly what you expect?&lt;/p&gt;  &lt;p&gt;Well, Unit Testing of a DWH or a CUBE can be a solution.&lt;/p&gt;  &lt;p&gt;Once you have defined your test suite, by writing SQL and MDX queries that checks that your data is what you expect to be, if you use NUnit (and QueryUnit does), you can then use a tool like &lt;a href="http://nunit2report.sourceforge.net/" target="_blank"&gt;NUnit2Report&lt;/a&gt; to create a nice HTML report that can be shipped via email to give information of data quality:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/davide_mauri/UnitTesting_1E3B08A7.png" target="_blank"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="UnitTesting" border="0" alt="UnitTesting" src="http://sqlblog.com/blogs/davide_mauri/UnitTesting_thumb_6DC48430.png" width="244" height="123" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;In addition to that, since NUnit produces an XML file as a result, you can also import it into a SQL Server Database and then monitor the quality of data over time.&lt;/p&gt;  &lt;p&gt;I’ll be speaking about this approach (and more in general about how to “engineer” a BI solution) at the next European SQL PASS&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Adaptive BI Best Practices     &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://www.sqlpass.org/summit/eu2010/Agenda/ProgramSessions/AdaptiveBIBestPratices.aspx" href="http://www.sqlpass.org/summit/eu2010/Agenda/ProgramSessions/AdaptiveBIBestPratices.aspx"&gt;http://www.sqlpass.org/summit/eu2010/Agenda/ProgramSessions/AdaptiveBIBestPratices.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I’ll enjoy discussing with you all about this, so see you there!&lt;/p&gt;  &lt;p&gt;And remember: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;“if ain't tested it's broken!”&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt; (Sorry I don’t remember how said that in first place :-))&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;</description></item><item><title>Agile BI Development: QueryUnit is born!</title><link>http://sqlblog.com/blogs/davide_mauri/archive/2009/07/27/agile-bi-development-queryunit-is-born.aspx</link><pubDate>Mon, 27 Jul 2009 16:29:39 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:15530</guid><dc:creator>manowar</dc:creator><description>&lt;p&gt;Having a developer background I’m used to work trying to apply an Agile approach to projects. In these last years I focused my work primary on BI projects, and so I tried to apply an Agile approach also to them, since I really believe that Agile is the path to follow.&lt;/p&gt;  &lt;p&gt;While Agile methods in the classic Object-Oriented field are quite widespread nowadays, in the BI field they are basically totally unknown to masses (at least this is my experience). Of course this means also that there is a total lack of tools and instruments to properly adopt Agile in your approach.&lt;/p&gt;  &lt;p&gt;Unit-Testing is surely something that is absolutely necessary if you want or need to refactor a solution. Since now, to unit-test staging databases, datawarehouses and cubes was a pain. I needed a tool to automate everything. I searched on the web but I found nothing I really liked. So I started to wrote something by myself.&lt;/p&gt;  &lt;p&gt;The first release is more a proof of concept that anything else, but I’ve started to use it in current BI project I’m working one with a lot of satisfaction. Now each time I change something in DWH or Cube I can automatically tests hundreds of queries. If all lights are green I can ask the customer to test the new implementation being sure that all existing reports, cubes, queries and so no will still be working perfectly. Otherwise I have some more work to do [:)].&lt;/p&gt;  &lt;p&gt;Here’s a&amp;#160; sample screenshot:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/davide_mauri/clip_image001_74122C7B.png" target="_blank"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="clip_image001" border="0" alt="clip_image001" src="http://sqlblog.com/blogs/davide_mauri/clip_image001_thumb_23809B48.png" width="240" height="155" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;As you can see I’m using NUnit as Unit-Testing framework. It will allow to test SQL and MDX queries stored into an XML file, so that no .NET coding is required.&lt;/p&gt;  &lt;p&gt;I’m going to release this first release ASAP, hope you’ll enjoy it as much as I am doing, and that you start to embrace Agile also in the DB field, if you’re not already with it. :)&lt;/p&gt;</description></item></channel></rss>