<?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>Luke Hayler - SQL Server developer</title>
	<atom:link href="http://www.lukehayler.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.lukehayler.com</link>
	<description>A blog about Integration services, Reporting services, and the things that interest me</description>
	<lastBuildDate>Wed, 17 Mar 2010 09:00:00 +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>CV Tips for landing an IT Interview</title>
		<link>http://www.lukehayler.com/2010/03/cv-tips-for-landing-an-it-interview/</link>
		<comments>http://www.lukehayler.com/2010/03/cv-tips-for-landing-an-it-interview/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 09:00:00 +0000</pubDate>
		<dc:creator>Luke Hayler</dc:creator>
				<category><![CDATA[Everything Else]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Professional Development]]></category>
		<category><![CDATA[CV]]></category>
		<category><![CDATA[jobs]]></category>
		<category><![CDATA[opportunities]]></category>
		<category><![CDATA[Recruitment]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.lukehayler.com/2010/03/cv-tips-for-landing-an-it-interview/</guid>
		<description><![CDATA[The recruitment industry is a cut-throat and ruthless arena. Or so I’ve been told. It’s fast paced, with no time to spare on ifs, buts and maybes. Recruiters have a race against time to find the right candidate and get their details over to their prospective client. This race against time is not necessarily to [...]]]></description>
			<content:encoded><![CDATA[<p>The recruitment industry is a cut-throat and ruthless arena. Or so I’ve been told. It’s fast paced, with no time to spare on ifs, buts and maybes. Recruiters have a race against time to find the right candidate and get their details over to their prospective client. This race against time is not necessarily to fulfil the start date of the position. It is more about finding candidates before any other recruiter does &#8211; and those ‘other recruiters’ may well be in the same company and indeed, on the same team. It’s a competitive environment. Understanding this fact helps us to understand which tools work and why others don’t in the struggle to find that next opportunity. Let’s face it, they may be 1000 candidates that could do the job (you included), but are you part of the 10-15 that are returned in the recruiter’s search? Getting your CV into that shortlist is what counts and hopefully I’ll be able to help you get there. </p>
<p>Recruiters much prefer trying to find candidates before they advertise a job on one of the online job boards. This is primarily because having to wade through the hundreds of CVs they get emailed on day one of posting an advertisement is not very efficient. Those CVs are not searchable or in a standard format, they are literally a heap of emails that the recruiter has to go through one-by-one to find the right candidate. Far too time consuming. They would much rather be doing the searching, and hunting for candidates through the online job websites and their own internal systems/databases is their preferred method for doing so.</p>
<p>Note &#8211; this post is angled at the UK&#160; market, although some tips may also be useful in other countries.</p>
<h4>Spreading yourself far and wide. </h4>
<p>Set up a folder in your web browser favourites and give it an applicable name (recruitment, IT Job sites, etc) and then add the following websites:</p>
<ul>
<li><a href="http://www.jobserve.co.uk" target="_blank">www.jobserve.co.uk</a> &#8211; great for searching for available positions (contract/permanent) </li>
<li><a href="http://www.monster.co.uk" target="_blank">www.monster.co.uk</a> &#8211; good for storing your CV for recruiters to find </li>
<li><a href="http://www.cwjobs.co.uk" target="_blank">www.cwjobs.co.uk</a> &#8211; CV storage for recruiters searches </li>
<li><a href="http://www.itjobboard.co.uk" target="_blank">www.itjobboard.co.uk</a> &#8211; good for finding available positions </li>
<li><a href="http://www.jobsite.co.uk" target="_blank">www.jobsite.co.uk</a> &#8211; great for storing your CV for recruiters to find </li>
</ul>
<p>Now go to each and create a profile and upload your CV. The most important part of creating your profile is completing the skills and experience section as it applies to each site. This is important as it is what the recruiters will use to search for potential candidates. Put down as much information as you can as this will mean that you appear in more search results. </p>
<p>To make sure that you are on the radar, ‘refresh’ your profile at least once a week (simply making your profile private and then public again has this effect). Refreshing your profile has the effect of putting a ‘last activity’ date onto your profile, which recruiters will use to narrow down the search for candidates to just those who have been ‘active’ in the last <em>n</em> days. The best website to use to generate a lot of calls is <a href="http://www.jobsite.co.uk" target="_blank">Jobsite</a>, as this site has the best search facility from a recruitment point of view (apparently).</p>
<p>Don’t bother with emailing the recruiter about a job that you have seen (refer to earlier point about the hundreds they receive). if the job posting does include a telephone number, <strong>CALL THEM!</strong> I can’t stress this enough. If you send an email, you’ll just be one of hundreds of others doing the same thing. Calling affords you the benefit of having the recruiters ear and instantly being on their radar. Then, when they ask for you CV (and they will) send it to them <strong><em>while you are still on the phone.</em></strong> Check that they have received it and then you can be sure that you have done everything you can for that particular position. Wash, rinse, repeat.</p>
<h4>The search is on</h4>
<p><a href="http://www.lukehayler.com/wp-content/uploads/2010/03/Recruitment_CVSearchOrigination.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="Recruitment_CVSearchOrigination" border="0" alt="Recruitment_CVSearchOrigination" align="right" src="http://www.lukehayler.com/wp-content/uploads/2010/03/Recruitment_CVSearchOrigination_thumb.png" width="444" height="276" /></a> </p>
<p>Whenever I get a call from a recruiter about a potential job I try to find out from them where they found my details and what search they did to get them. For many of them this is Jobsite (as mentioned above), but, more calls stem from recruiters searching their own in-house databases for candidates. Knowing this helps to understand what the best options are for placing your CV. </p>
<p>Now, when I get an email from a recruiter asking for an updated CV, I add ALL of their details to my address book and label them as a recruiter and then reply with the following information:</p>
<ul>
<li>Summary of skills and experience (i.e. SQL Server 2005 5yrs) </li>
<li>Start Availability &#8211; for current available start dates (this may be 3 months off, but still worth stating). </li>
<li>Call availability &#8211; for when the recruiter should check in with me for an update on my situation. </li>
<li>Rate &#8211; the day/hour/annual rate that I’ll be looking for. It’s important to have a range here as this will make more jobs available to you. And while some may be at a lower rate there may be other factors that will make this preferable over one paying a bit more. An example of this is finding a job close to home &#8211; how much is that worth? </li>
<li>Job type &#8211; contract/temp/perm. This ensures that recruiters don’t waste their time and yours when marketing for positions. </li>
<li>Contact details &#8211; your primary email address and phone number. I have set up a gmail account just for recruitment purposes, which I auto-forward to my personal account. This ensure that all my recruitment-related conversations (and contacts) are kept separate from my personal ones and helps to control the spam (well a little anyway).&#160; </li>
</ul>
<p>You WANT to be on their database. Trust me. As long as you are clear about all the facts then you should find that you are only called about applicable jobs at applicable times for applicable rates. You need to “help them, help you”. You are (mostly) database professionals, you know the value of good clean data and what you can make of it. Conversely, you also know that incomplete data can lead to all sorts of problems when it comes to marketing. I know that you are concerned about spam, I am too (that’s why I have a separate email address), but don’t let this one fact detract from the major benefits of having your details readily available to the recruiter who may have your dream job.</p>
<p>Think of this another way. You are searching for your next vehicle, you know you want a 5-door hatch, between £6000 &#8211; £7500. You get hundreds of results. So you start to narrow your search criteria, entering a max distance from where you are, max engine size, etc. This is what happens in a recruitment search. Initially, you are part of the hundreds of candidates that have “SQL Server, Reporting Services, Integration Services” listed as skills, but are you part of the few that also have their availability, rate, contact details, location, etc listed? If the recruiter refines their search by including a rate range and you have not filled this in, then you will be automatically excluded from any of the results. Recruiters need to find the <em>most likely</em> candidate to fill the position, and not appearing in their search means that you are not one of them.</p>
<h4>LinkedIn. Use it or lose it</h4>
<p>Yes, I’m on <a href="http://www.linkedin.com/in/lukehayler" target="_blank">LinkedIn</a> and yes most of my ‘connections’ are recruiters. Whilst I have not had many (comparatively) opportunities originating from this site, I have had a few and those tended to result in more CV-forwards and interviews than other channels. There is also an <a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=288429040&amp;mt=8" target="_blank">iPhone app</a>, which is great at making it easy to stay up-to-date with what’s going on in your LinkedIn world.</p>
<p>There are many websites offering online CV creation and storage, but LinkedIn has the added bonus of professional networking. Linking you to many other people through your own contacts &#8211; have you looked at how many people are contactable through the 2nd/3rd level? Use this single fact to generate leads.</p>
<p>Love it or loathe it, LinkedIn does open the door. Sometimes.</p>
<h4>A heads-up to Recruiters (if you are listening)</h4>
<p>I doubt that a) any recruiters will be reading this and, b) even if they do, that they’ll take some of this to heart, but it’s worth trying:</p>
<p>When you leave me a voicemail, <strong>clearly</strong> state your name, company and contact number so that I can call you back. I’ve had several calls that have been so rushed that I couldn’t catch some of the pertinent information and effectively meant that I could not call that person back. Also, leaving a message with “I have a few openings I’d like to discuss with you..” being the extent of the details of your call, means it will be deleted. If you leave message with a short but specific description of a job that you’d like to discuss then I’ll more than likely call you back. My time is precious too and being an information source for you is not how I want to spend 5 &#8211; 10 (15?) minutes of my day. The call needs to be win win. </p>
<p>Thanks for listening.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lukehayler.com/2010/03/cv-tips-for-landing-an-it-interview/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Setting the SQL Command Property using Expressions in SSIS 2005</title>
		<link>http://www.lukehayler.com/2010/03/setting-the-sql-command-property-using-expressions-in-ssis-2005/</link>
		<comments>http://www.lukehayler.com/2010/03/setting-the-sql-command-property-using-expressions-in-ssis-2005/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 12:15:00 +0000</pubDate>
		<dc:creator>Luke Hayler</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SSIS]]></category>
		<category><![CDATA[data sources]]></category>
		<category><![CDATA[expressions]]></category>
		<category><![CDATA[properties]]></category>
		<category><![CDATA[sql server 2005]]></category>
		<category><![CDATA[variables]]></category>

		<guid isPermaLink="false">http://www.lukehayler.com/2010/03/setting-the-sql-command-property-using-expressions-in-ssis-2005/</guid>
		<description><![CDATA[&#160;
OLE DB Source Adapter
The OLE DB source connection has several Access Modes:

Openrowset 
Openrowset From Variable 
SQL Command 
SQL Command From Variable 

For now, I am going to focus on the SQL Command options. Using the SQL Command Access Mode requires you to set the SqlCommand property (typing in your SQL query directly), effectively ‘hard coding’ [...]]]></description>
			<content:encoded><![CDATA[<p>&#160;</p>
<h4>OLE DB Source Adapter</h4>
<p>The OLE DB source connection has several <em>Access Modes:</em></p>
<ul>
<li>Openrowset </li>
<li>Openrowset From Variable </li>
<li>SQL Command </li>
<li>SQL Command From Variable </li>
</ul>
<p>For now, I am going to focus on the SQL Command options. Using the <em>SQL Command</em> Access Mode requires you to set the SqlCommand property (typing in your SQL query directly), effectively ‘hard coding’ the sql statement into the package. Using the <em>SQL Command From Variable</em> option allows you to set the SqlCommand property using a variable and subsequently by using an expression. </p>
<p><a href="http://www.lukehayler.com/wp-content/uploads/2010/03/SSIS2005_DataSource_AccessMode_Properties_OLEDBSource.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SSIS2005_DataSource_AccessMode_Properties_OLEDBSource" border="0" alt="SSIS2005_DataSource_AccessMode_Properties_OLEDBSource" src="http://www.lukehayler.com/wp-content/uploads/2010/03/SSIS2005_DataSource_AccessMode_Properties_OLEDBSource_thumb.png" width="560" height="268" /></a></p>
<p>&#160;</p>
<h4>Data Reader Source</h4>
<p>The Data Reader Source connection has only one Access Mode, and that is <em>SQL Command</em>. Don’t ask me why. At this level you can only set the SqlCommand property by typing in your query, or indeed, copy &amp; paste. </p>
<p><a href="http://www.lukehayler.com/wp-content/uploads/2010/03/SSIS2005_DataSource_AccessMode_Properties_DataReaderSource.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SSIS2005_DataSource_AccessMode_Properties_DataReaderSource" border="0" alt="SSIS2005_DataSource_AccessMode_Properties_DataReaderSource" src="http://www.lukehayler.com/wp-content/uploads/2010/03/SSIS2005_DataSource_AccessMode_Properties_DataReaderSource_thumb.png" width="560" height="272" /></a> </p>
<p>&#160;</p>
<h4>Using an Expression to set the SqlCommand Property</h4>
<p>“So then,” you ask, “how might I set the SqlCommand property for each of these Data Sources when it seems that I can’t?”. Here’s how. Let’s first concentrate on the OLE DB Source:</p>
<ol>
<li>Create a new Variable of type string and set your SQL statement </li>
<li>Open up the OLE DB Source and select the ‘SQL Command from Variable’ option </li>
<li>Now, select the the variable created in step 1 as the variable that contains the SQL statement </li>
</ol>
<p><a href="http://www.lukehayler.com/wp-content/uploads/2010/03/SSIS2005_DataAccessMode_OLEDBSource_Editor.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SSIS2005_DataAccessMode_OLEDBSource_Editor" border="0" alt="SSIS2005_DataAccessMode_OLEDBSource_Editor" src="http://www.lukehayler.com/wp-content/uploads/2010/03/SSIS2005_DataAccessMode_OLEDBSource_Editor_thumb.png" width="520" height="200" /></a> </p>
<p>At this point your OLE DB source is defined by the query that you have set in the Variable. We now need to create the expression that will define the query at runtime. We do this by navigating to the variable’s properties, setting the <em>EvaluateAsExpression </em>property to <strong>True</strong> and then configuring the expression in the <em>Expression</em> property.</p>
<p>Moving on to the Data Reader Source. With this adapter we only have the option of setting the SqlCommand directly. Or so I thought until recently. If you switch to the Control Flow design surface and select the Data Flow task that contains the Data Reader Source adapter, you will be able to set the SqlCommand using an expression.</p>
<ol>
<li>Select the Data Flow task to bring up its properties </li>
<li>Click the ellipsis (…) to bring up the Expression Editor </li>
<li>Select the [DataReader Source].[SqlCommand] Property </li>
<li>Set your expression. </li>
</ol>
<p><a href="http://www.lukehayler.com/wp-content/uploads/2010/03/SSIS2005_DataSource_AccessMode_Properties_DataFlowTask_Expressions.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SSIS2005_DataSource_AccessMode_Properties_DataFlowTask_Expressions" border="0" alt="SSIS2005_DataSource_AccessMode_Properties_DataFlowTask_Expressions" src="http://www.lukehayler.com/wp-content/uploads/2010/03/SSIS2005_DataSource_AccessMode_Properties_DataFlowTask_Expressions_thumb.png" width="560" height="262" /></a> </p>
<p><a href="http://www.lukehayler.com/wp-content/uploads/2010/03/SSIS2005_DataSource_AccessMode_Properties_DataFlowTask_ExpressionProperties.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SSIS2005_DataSource_AccessMode_Properties_DataFlowTask_ExpressionProperties" border="0" alt="SSIS2005_DataSource_AccessMode_Properties_DataFlowTask_ExpressionProperties" src="http://www.lukehayler.com/wp-content/uploads/2010/03/SSIS2005_DataSource_AccessMode_Properties_DataFlowTask_ExpressionProperties_thumb.png" width="560" height="382" /></a> </p>
<p>Using variables &amp; expressions to set your queries enables you to centralise your queries, use configuration files to set database connections and capture the queries you are running in logging operations.&#160;&#160; </p>
]]></content:encoded>
			<wfw:commentRss>http://www.lukehayler.com/2010/03/setting-the-sql-command-property-using-expressions-in-ssis-2005/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating Subtotals in a Matrix in SSRS (2005/2008)</title>
		<link>http://www.lukehayler.com/2010/03/creating-subtotals-in-a-matrix-in-ssrs-20052008/</link>
		<comments>http://www.lukehayler.com/2010/03/creating-subtotals-in-a-matrix-in-ssrs-20052008/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 12:15:00 +0000</pubDate>
		<dc:creator>Luke Hayler</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SSRS]]></category>
		<category><![CDATA[Matrix]]></category>
		<category><![CDATA[subtotals]]></category>

		<guid isPermaLink="false">http://www.lukehayler.com/2010/03/creating-subtotals-in-a-matrix-in-ssrs-20052008/</guid>
		<description><![CDATA[This is a quick look at how to create and use subtotals in your Matrix objects.
Subtotals 101
SQL Server Reporting Services makes it relatively easy to add totals to your columns and rows in a matrix object. In short, it’s as easy as right-click&#62;Subtotal. Seriously, that’s it. Well, unless you want to format them, but that’s [...]]]></description>
			<content:encoded><![CDATA[<p>This is a quick look at how to create and use subtotals in your Matrix objects.</p>
<h4>Subtotals 101</h4>
<p>SQL Server Reporting Services makes it relatively easy to add totals to your columns and rows in a matrix object. In short, it’s as easy as <em><strong>right-click&gt;Subtotal</strong>. </em>Seriously, that’s it. Well, unless you want to format them, but that’s another issue entirely (an not quite as straight forward).</p>
<p>Let’s do this step-by-step :</p>
<ol>
<li>Open or create a new SSRS project</li>
<li>Add a report item to your project.</li>
<li>Add a dataset</li>
<li>Add a matrix object</li>
<li>Configure matrix to desired specification</li>
<li>Add totals to outer groups by right-clicking the outer column/row group for which you require the subtotals and select <strong>subtotal</strong>.</li>
<li>Add subtotals for inner groups by right-clicking the inner column/row group for which you require the subtotals and select <strong>subtotal</strong>.</li>
<li>Tidy up by hiding the inner group line items initially &#8211; by right-clicking the inner group and selecting <strong>Properties&gt;Visibility</strong> and then setting the properties accordingly.</li>
</ol>
<p>Here’s a quick 2 minute screen cast of how to create subtotals in a Matrix object in SSRS 2005. It illustrates creating row group Totals &amp; subtotals, but applies to column groups as well:</p>
<div id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:fbb8fe51-17e2-4ad7-901f-123d691c3bc1" class="wlWriterEditableSmartContent" style="margin: 0px; display: inline; float: none; padding: 0px;">
<div><object id="scPlayer" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="437" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="quality" value="high" /><param name="bgcolor" value="#FFFFFF" /><param name="flashVars" value="thumb=http://content.screencast.com/users/lukehayler/folders/Default/media/f2ba6211-69ab-4dc9-b41c-af6dcf3d8d50/FirstFrame.jpg&amp;containerwidth=640&amp;containerheight=437&amp;content=http://content.screencast.com/users/lukehayler/folders/Default/media/f2ba6211-69ab-4dc9-b41c-af6dcf3d8d50/SSRS_2005_MatrixSubtotals.swf" /><param name="allowFullScreen" value="true" /><param name="scale" value="showall" /><param name="allowScriptAccess" value="always" /><param name="base" value="http://content.screencast.com/users/lukehayler/folders/Default/media/f2ba6211-69ab-4dc9-b41c-af6dcf3d8d50/" /><param name="src" value="http://content.screencast.com/users/lukehayler/folders/Default/media/f2ba6211-69ab-4dc9-b41c-af6dcf3d8d50/bootstrap.swf" /><param name="flashvars" value="thumb=http://content.screencast.com/users/lukehayler/folders/Default/media/f2ba6211-69ab-4dc9-b41c-af6dcf3d8d50/FirstFrame.jpg&amp;containerwidth=640&amp;containerheight=437&amp;content=http://content.screencast.com/users/lukehayler/folders/Default/media/f2ba6211-69ab-4dc9-b41c-af6dcf3d8d50/SSRS_2005_MatrixSubtotals.swf" /><param name="allowfullscreen" value="true" /><embed id="scPlayer" type="application/x-shockwave-flash" width="640" height="437" src="http://content.screencast.com/users/lukehayler/folders/Default/media/f2ba6211-69ab-4dc9-b41c-af6dcf3d8d50/bootstrap.swf" base="http://content.screencast.com/users/lukehayler/folders/Default/media/f2ba6211-69ab-4dc9-b41c-af6dcf3d8d50/" allowscriptaccess="always" scale="showall" allowfullscreen="true" flashvars="thumb=http://content.screencast.com/users/lukehayler/folders/Default/media/f2ba6211-69ab-4dc9-b41c-af6dcf3d8d50/FirstFrame.jpg&amp;containerwidth=640&amp;containerheight=437&amp;content=http://content.screencast.com/users/lukehayler/folders/Default/media/f2ba6211-69ab-4dc9-b41c-af6dcf3d8d50/SSRS_2005_MatrixSubtotals.swf" bgcolor="#FFFFFF" quality="high"></embed></object></div>
</div>
<p>Here’s a link to another version if you are having any trouble: <a href="http://www.screencast.com/t/OGE1MmI4">http://www.screencast.com/t/OGE1MmI4</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lukehayler.com/2010/03/creating-subtotals-in-a-matrix-in-ssrs-20052008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Current Favourite iPhone (3G) Apps</title>
		<link>http://www.lukehayler.com/2010/02/my-current-favourite-iphone-3g-apps/</link>
		<comments>http://www.lukehayler.com/2010/02/my-current-favourite-iphone-3g-apps/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 12:00:00 +0000</pubDate>
		<dc:creator>Luke Hayler</dc:creator>
				<category><![CDATA[Everything Else]]></category>
		<category><![CDATA[iPhone 3G]]></category>
		<category><![CDATA[iPhone Apps]]></category>
		<category><![CDATA[Other]]></category>
		<category><![CDATA[Random]]></category>

		<guid isPermaLink="false">http://www.lukehayler.com/2010/02/my-current-favourite-iphone-3g-apps/</guid>
		<description><![CDATA[
This is a list of my current favourite iPhone Apps. Most of these are free and where they aren’t, they’re almost free. I use each of these regularly and can highly recommend them. Just thought I’d share the love….&#160; 
 
Tweetdeck&#160; 
Cost: free
Category: Social Networking
Multiple accounts, multiple columns to segregate your groups &#38; searches, synchronization [...]]]></description>
			<content:encoded><![CDATA[</p>
<p>This is a list of my current favourite iPhone Apps. Most of these are free and where they aren’t, they’re <em>almost</em> free. I use each of these regularly and can highly recommend them. Just thought I’d share the love….&#160; </p>
<h4><a href="http://www.lukehayler.com/wp-content/uploads/2010/02/iPhoneApps_TweetDeck.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="iPhoneApps_TweetDeck" border="0" alt="iPhoneApps_TweetDeck" align="right" src="http://www.lukehayler.com/wp-content/uploads/2010/02/iPhoneApps_TweetDeck_thumb.png" width="244" height="61" /></a> </h4>
<h4>Tweetdeck&#160; </h4>
<p>Cost: free</p>
<p>Category: Social Networking</p>
<p>Multiple accounts, multiple columns to segregate your groups &amp; searches, synchronization with your desktop version, Facebook integration (if you like that sort of thing), choice of picture services (twitpic, yfrog, tweetphoto), geo tagging, In-app browser. I could go on. It’s my app of choice for Twitter. Follow <a href="http://twitter.com/iandodsworth" target="_blank">@iandodsworth</a> if you want updates from ‘the horses mouth’.&#160; <a href="http://www.lukehayler.com/wp-content/uploads/2010/02/iPhoneApps_QikVideo.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="iPhoneApps_QikVideo" border="0" alt="iPhoneApps_QikVideo" align="right" src="http://www.lukehayler.com/wp-content/uploads/2010/02/iPhoneApps_QikVideo_thumb.png" width="244" height="63" /></a> </p>
<h4>Qik&#160; </h4>
<p>Cost: £1.29</p>
<p>Category: Utilities</p>
<p>Video recording on iPhone 3G anyone? No limits on length of recording, wifi sharing, 200&#215;152 or 400&#215;304 resolution (higher resolution means slower frame rate though), on-screen settings for zoom | brightness | resolution | audio boost | special effects (normal, Black &amp; white, Red only, ‘Avatar’). Size of files only limited by size of your device. </p>
<p>I had tried iVideoRecorder for a while but the 1 minute recording limit kept catching me out, especially when it then takes another minute to save the video you’ve just recorded. I will say this however, iVideoRecorder’s video quality is better. Both apps are the same price. <a href="http://www.lukehayler.com/wp-content/uploads/2010/02/iPhoneApps_SmartRecorder.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="iPhoneApps_SmartRecorder" border="0" alt="iPhoneApps_SmartRecorder" align="right" src="http://www.lukehayler.com/wp-content/uploads/2010/02/iPhoneApps_SmartRecorder_thumb.png" width="244" height="63" /></a> </p>
<h4>Smart Record&#160; </h4>
<p>Cost: £0.59</p>
<p>Category: Utilities</p>
<p>Way better than the Voice Recorder that comes standard with iPhone (3G). Records for as long as you want (caveat &#8211; the most I have attempted was about 2.5 hours). App is quick to get started, is simple to use and quality of recordings is good, if not great. Syncs with <a href="http://www.box.net" target="_blank">Box.net</a>, SyncDocs &amp; over wifi, sharing via email, takes pictures during a session (remembers place in conversation when the picture was taken), appending to previous recordings. It also has a great help section if you do get stuck, which is rare.</p>
<h4><a href="http://www.lukehayler.com/wp-content/uploads/2010/02/iPhoneApps_UltimateToDos.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="iPhoneApps_UltimateToDos" border="0" alt="iPhoneApps_UltimateToDos" align="right" src="http://www.lukehayler.com/wp-content/uploads/2010/02/iPhoneApps_UltimateToDos_thumb.png" width="244" height="63" /></a> </h4>
<h4>Todo </h4>
<p>Cost: £</p>
<p>Category: Productivity</p>
<p>Getting Things Done anyone? If you’ve read the book you’ll know what you need. This is the ‘electronic device’ that you’ll be wanting to play with all the time. It syncs to Toodledo, an web-based version of the app. This is the single most used app on my phone. The one thing I feel it is lacking though, is geo tagging of your to-dos (which is a feature of Remember-The-Milk). So if a future update of the app gets this feature it’ll be complete.</p>
<h4><a href="http://www.lukehayler.com/wp-content/uploads/2010/02/iPhoneApps_AmazonMobile.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="iPhoneApps_AmazonMobile" border="0" alt="iPhoneApps_AmazonMobile" align="right" src="http://www.lukehayler.com/wp-content/uploads/2010/02/iPhoneApps_AmazonMobile_thumb.png" width="244" height="63" /></a> </h4>
<h4>Amazon UK </h4>
<p>Cost: free</p>
<p>Category: Online shopping</p>
<p>It’s amazon.co.uk in the palm of your hand, need I really say more? My only gripe with this one is that it took so long to come out (in the UK).&#160;&#160; </p>
<p><a href="http://www.lukehayler.com/wp-content/uploads/2010/02/iPhoneApps_NationalRail.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="iPhoneApps_NationalRail" border="0" alt="iPhoneApps_NationalRail" align="right" src="http://www.lukehayler.com/wp-content/uploads/2010/02/iPhoneApps_NationalRail_thumb.png" width="244" height="63" /></a> </p>
<h4>National Rail&#160;&#160; </h4>
<p>Cost: £4.99</p>
<p>Category: Travel</p>
<p>Up-to-the-minute updates on your trains whereabouts, location aware, set a ‘home’ station, next-train-home router planner, journey planner, live departures &amp; arrivals, platform information.</p>
<p>After debating over the purchase price for a while I finally cracked and bought it. I still think £5 is steep for what you can do via their website for free, however, they have managed to make their site so unusable (from an iPhone) that you don’t have a lot of choice. A while ago a chap named <a href="http://mbarclay.net" target="_blank">Malcom Barclay</a> developed an app that showed all the train information (route planning, etc) and gave it away for FREE. Sure enough, National Rail decided this was too much of a good thing so took away his license to publish information and created their own application. Make what your will of it. </p>
<p>Is it a good app? Yes, for all the pain they put you through (on purpose in my opinion) on their website (via iPhone), they make up for in the usability of this app. If you travel on British rail I think that it’s something that you can’t do without (Well, you can, but this makes your life a LOT easier). For the price of two high-street coffees you get an app that is stable, user friendly, intuitive, and (in my case) the information provided has been spot on. </p>
<h4><a href="http://www.lukehayler.com/wp-content/uploads/2010/02/iPhoneApps_Ping.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="iPhoneApps_Ping!" border="0" alt="iPhoneApps_Ping!" align="right" src="http://www.lukehayler.com/wp-content/uploads/2010/02/iPhoneApps_Ping_thumb.png" width="244" height="63" /></a> </h4>
<h4>Ping! </h4>
<p>Cost: £0.59 (+ in-app purchase of £0.59 for picture messaging &#8211; worth it)</p>
<p>Category: Communication</p>
<p>You pay £0.59 for the app and you text for free. Add to that an in-app purchase for picture messaging and you are good to go. Any messages that you send or receive are free of charges &#8211; just make sure you have an internet connection. Only one other thing with this is to say that it only works between Ping! apps. So, in order to send a text/picture, your intended recipient will also need to have Ping! installed. </p>
<p>With the growth in application-based mobile devices nowadays it won’t be long until many more handsets/Mobile OSes are supported.</p>
<h4><a href="http://www.lukehayler.com/wp-content/uploads/2010/02/iPhoneApps_DropBox.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="iPhoneApps_DropBox" border="0" alt="iPhoneApps_DropBox" align="right" src="http://www.lukehayler.com/wp-content/uploads/2010/02/iPhoneApps_DropBox_thumb.png" width="244" height="63" /></a> </h4>
<h4>Dropbox&#160; </h4>
<p>Cost: free</p>
<p>Category: Utilities</p>
<p>Sign up for a <a href="http://www.getdropbox.com" target="_blank">Dropbox</a> account and sync all your files to the cloud and with any other computer you want. This is the app version, so now you can view all your files right on your iPhone. Sharing is by way of a link to the file in your Dropbox (which is placed in a email for you). In order for you to quickly view files you need right away you can select any number as favourites. These then are downloaded to your phone for when you don’t have a connection to the tubez. What would make this more of a killer app? Being able to attach the files directly to an email. </p>
<p><a href="http://www.lukehayler.com/wp-content/uploads/2010/02/iPhoneApps_WhiteNoise.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="iPhoneApps_WhiteNoise" border="0" alt="iPhoneApps_WhiteNoise" align="right" src="http://www.lukehayler.com/wp-content/uploads/2010/02/iPhoneApps_WhiteNoise_thumb.png" width="244" height="63" /></a> </p>
<h4>WhiteNoise&#160; </h4>
<p>Cost: Free</p>
<p>Category: Utilities</p>
<p>When I was growing up I always had a [desk] fan going (it was helluva hot where I used live and it kept away the mosquitoes), so I’m used to having some sort of drone whilst I am sleeping. White Noise does this wonderfully. It has loads of background sounds that help to immerse you in audible bliss. I find that the ‘Brown noise’ works brilliantly in drowning out all other sounds &#8211; and on the rare occasion that we have a party we use this to help our son sleep. It works wonders.</p>
<p><a href="http://www.lukehayler.com/wp-content/uploads/2010/02/iPhoneApps_LetsGolf.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="iPhoneApps_LetsGolf" border="0" alt="iPhoneApps_LetsGolf" align="right" src="http://www.lukehayler.com/wp-content/uploads/2010/02/iPhoneApps_LetsGolf_thumb.png" width="244" height="62" /></a> </p>
<h4>Let’s Golf&#160; </h4>
<p>Cost: £1.59</p>
<p>Category: Games</p>
<p>Golf fan? This might make you one. A simple little game with great graphics and good challenges. Play a course at Fiji, USA, Scotland &amp; England at varying levels. Earn a few prizes and get your name in lights along the way. A great way to pass the time waiting for trains….</p>
<h4><a href="http://www.lukehayler.com/wp-content/uploads/2010/02/iPhoneApps_NetNEwsWire.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="iPhoneApps_NetNEwsWire" border="0" alt="iPhoneApps_NetNEwsWire" align="right" src="http://www.lukehayler.com/wp-content/uploads/2010/02/iPhoneApps_NetNEwsWire_thumb.png" width="244" height="63" /></a> </h4>
<h4>NetNewsWire&#160; </h4>
<p>Cost: free</p>
<p>Category: Utilities</p>
<p>Get all your RSS feeds into one place on your iPhone. Download the feeds whilst you have an internet connection and you’ll have something to read where ever you go. That is unless some blogs only give an excerpt in their feed, which narks me off royally. For those of you that don’t feed the whole post go read this post.</p>
<h4><a href="http://www.lukehayler.com/wp-content/uploads/2010/02/iPhoneApps_Units.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="iPhoneApps_Units" border="0" alt="iPhoneApps_Units" align="right" src="http://www.lukehayler.com/wp-content/uploads/2010/02/iPhoneApps_Units_thumb.png" width="244" height="66" /></a> </h4>
<h4>Units&#160; </h4>
<p>Cost: free</p>
<p>Category: Utilities</p>
<p>All your conversions in one handy place. For free. </p>
<p><a href="http://www.lukehayler.com/wp-content/uploads/2010/02/iPhoneApps_AbsoluteRadio.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="iPhoneApps_AbsoluteRadio" border="0" alt="iPhoneApps_AbsoluteRadio" align="right" src="http://www.lukehayler.com/wp-content/uploads/2010/02/iPhoneApps_AbsoluteRadio_thumb.png" width="244" height="63" /></a> </p>
<h4>Absolute&#160; </h4>
<p>Cost: free</p>
<p>Category: Entertainment</p>
<p>Absolute radio. Absolutely awesome. Absolutely Free. Internet connection required. </p>
<h4><a href="http://www.lukehayler.com/wp-content/uploads/2010/02/iPhoneApps_AngryBirds.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="iPhoneApps_AngryBirds" border="0" alt="iPhoneApps_AngryBirds" align="right" src="http://www.lukehayler.com/wp-content/uploads/2010/02/iPhoneApps_AngryBirds_thumb.png" width="244" height="66" /></a> </h4>
<h4>Angry Birds&#160; </h4>
<p>Cost: £0.59 </p>
<p>Category: Games</p>
<p>Because it’s addictive. Apparently some Pigs stole eggs from the Birds and now the Birds are pissed. Your aim (‘scuse the pun) is to destroy the pigs by flinging different [angry] birds at various structures housing the <strike>bacon</strike> pigs. Loads of fun and fairly simple, what more could you ask for to waste away the time? </p>
<p><a href="http://www.lukehayler.com/wp-content/uploads/2010/02/iPhoneApps_LondonTubeDelux.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="iPhoneApps_LondonTubeDelux" border="0" alt="iPhoneApps_LondonTubeDelux" align="right" src="http://www.lukehayler.com/wp-content/uploads/2010/02/iPhoneApps_LondonTubeDelux_thumb.png" width="244" height="63" /></a> </p>
<h4>London Tube Deluxe&#160; </h4>
<p>Cost £0.59</p>
<p>Category: Utilities, Travel</p>
<p>This app is another must for those in London. Covering all of the underground lines, London Tube Deluxe has an up-to-date status for each line (including a description of the fault, if any), a map overview (PDF), journey planner, departure times and locates your nearest tube station. </p>
<p>&#160;</p>
<p>That’s my list for now. I’m always on the lookout for more great apps so if you have any recommendations let’s hear about them!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lukehayler.com/2010/02/my-current-favourite-iphone-3g-apps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Custom Visibility Toggling SSRS 2008</title>
		<link>http://www.lukehayler.com/2010/02/custom-visibility-toggling-ssrs-2008/</link>
		<comments>http://www.lukehayler.com/2010/02/custom-visibility-toggling-ssrs-2008/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 11:00:00 +0000</pubDate>
		<dc:creator>Luke Hayler</dc:creator>
				<category><![CDATA[SSRS]]></category>
		<category><![CDATA[report design]]></category>
		<category><![CDATA[report formatting]]></category>
		<category><![CDATA[report layout]]></category>
		<category><![CDATA[sql server 2008]]></category>
		<category><![CDATA[SSRS 2008]]></category>

		<guid isPermaLink="false">http://www.lukehayler.com/2010/02/custom-visibility-toggling-ssrs-2008/</guid>
		<description><![CDATA[A while back I wrote a post about how to toggle the visibility of rows/columns in tables/matrices for SSRS 2005. In the comments of that article someone asked how this was done in SSRS 2008. The short answer was that the method is the same. However, setting all the properties can be confusing as their [...]]]></description>
			<content:encoded><![CDATA[<p>A while back I wrote <a href="http://www.lukehayler.com/2009/07/custom-visibility-toggling-in-ssrs/" target="_blank">a post about how to toggle the visibility of rows/columns in tables/matrices for SSRS 2005</a>. In the comments of that article someone asked how this was done in SSRS 2008. The short answer was that the method is the same. However, setting all the properties can be confusing as their whereabouts is a little different. Hopefully this post will clear things up.</p>
<p>Let’s do this by way of example:</p>
<p>I created a project with a single report. The Data source is AdventureWorks2008 and we are looking at Total Sales figures by Year &amp; Month (keep it simple right?). I have set up a matrix object and added the required fields and set subtotals for Month &amp; Year. See Fig 1. below:</p>
<div id="scid:8747F07C-CDE8-481f-B0DF-C6CFD074BF67:a1c7e7a5-d745-4bd8-aaec-d4842b51d68e" class="wlWriterEditableSmartContent" style="margin: 0px; display: inline; float: none; padding: 0px;"><a title="Fig 1. The design surface with a Matrix Object" rel="thumbnail" href="http://www.lukehayler.com/wp-content/uploads/2010/02/InitialToggleState_SSRS2008_DesignSurface8x6.png"><img src="http://www.lukehayler.com/wp-content/uploads/2010/02/InitialToggleState_SSRS2008_DesignSurface.png" border="0" alt="" width="600" height="392" /></a></div>
<h6>Objective: Enable Toggling of the Month group, using the Year Group as the Toggle Item</h6>
<p>At this point I want to point out two key areas, as this is where we will be concentrating our efforts:</p>
<ol>
<li>The Row/Column Groups section at the bottom of the designer</li>
<li>The Visibility Properties at the bottom right corner (Last item in the Properties list &#8211; <em>but only when an object is selected</em>)</li>
</ol>
<p>Now, select the drop-down arrow for the <strong>Month</strong> Row group (See Fig 2.), choose <strong>Properties</strong> and then select the <strong>Visibility</strong> tab.</p>
<div id="scid:8747F07C-CDE8-481f-B0DF-C6CFD074BF67:35a4a701-2301-498f-a113-dd12cc705a53" class="wlWriterEditableSmartContent" style="margin: 0px; display: inline; float: none; padding: 0px;"><a title="Fig 2. Accessing the Row Group Properties" rel="thumbnail" href="http://www.lukehayler.com/wp-content/uploads/2010/02/InitialToggleState_SSRS2008_RowGroupProperties8x6.png"><img src="http://www.lukehayler.com/wp-content/uploads/2010/02/InitialToggleState_SSRS2008_RowGroupProperties.png" border="0" alt="" width="425" height="413" /></a></div>
<p>The objective is to enable toggling of the <strong>Month</strong> rows in the Matrix. We could choose to Show or Hide the <strong>Month</strong> rows when the report is initially run, or to make this decision based on an expression. Using an expression will determine which rows are expanded and which are collapsed when the report is run initially. I have chosen to use an expression:</p>
<blockquote><p>=IIF(Fields!YEAR.value=2001, False, True)</p></blockquote>
<p>This says that if the Year group value is ‘2001’ then show the Month Sales Total values (‘Expanded’), else Hide the Month Sales Total values (‘Collapsed’). See Fig 3. below:</p>
<div id="scid:8747F07C-CDE8-481f-B0DF-C6CFD074BF67:15396b28-610f-4a51-a7d1-b7a0a1e9e5bc" class="wlWriterEditableSmartContent" style="margin: 0px; display: inline; float: none; padding: 0px;"><a title="Fig. 3 The Month Group Visibility Properties" rel="thumbnail" href="http://www.lukehayler.com/wp-content/uploads/2010/02/InitialToggleState_SSRS2008_RowGroupProperties_VisibilityExpression8x6.png"><img src="http://www.lukehayler.com/wp-content/uploads/2010/02/InitialToggleState_SSRS2008_RowGroupProperties_VisibilityExpression.png" border="0" alt="" width="600" height="318" /></a></div>
<p>Also note (in Fig 3. above) that I have set the <strong>YEAR</strong> cell as the Toggle Item. We’ll configure this next.</p>
<p>Once you have set the above properties go back to the designer and highlight the <strong>YEAR</strong> cell in order to view its properties. These should be on the bottom right, otherwise right-click the cell to bring up the properties window. Find the <strong>Visibility</strong> &gt; <strong>InitialToggleState</strong> property and set it using the following Expression:</p>
<blockquote><p>=IIF(Fields!YEAR.Value = 2001, True, False)</p></blockquote>
<p>This says that if the Year group value is ‘2001’ then show the toggle icon as ‘Expanded’ (True), else show it as ‘Collapsed’ (False). This allows us to ensure that we are in sync with the expression we used to set the initial visibility of the Month rows. Fig 4. shows the end result of all this hard work:</p>
<div id="scid:8747F07C-CDE8-481f-B0DF-C6CFD074BF67:755fb2c3-916d-4a9b-875a-5e2b327ddc2e" class="wlWriterEditableSmartContent" style="margin: 0px; display: inline; float: none; padding: 0px;"><a title="Fig 4. Result!" rel="thumbnail" href="http://www.lukehayler.com/wp-content/uploads/2010/02/InitialToggleState_SSRS2008_result8x6.png"><img src="http://www.lukehayler.com/wp-content/uploads/2010/02/InitialToggleState_SSRS2008_result.png" border="0" alt="" width="381" height="424" /></a></div>
<div id="scid:8747F07C-CDE8-481f-B0DF-C6CFD074BF67:ce9f2350-42e3-446e-a2b8-56356e803cb0" class="wlWriterEditableSmartContent" style="margin: 0px; display: inline; float: right; padding: 0px;">
</div>
<h4></h4>
<h4>The Visibility Properties</h4>
<p><a title="TextBox Visibility Properties" rel="thumbnail" href="http://www.lukehayler.com/wp-content/uploads/2010/02/InitialToggleState_SSRS2008_VisibilityProperties8x6.png"><img class="alignright" style="border: 0px initial initial;" src="http://www.lukehayler.com/wp-content/uploads/2010/02/InitialToggleState_SSRS2008_VisibilityProperties.png" border="0" alt="" width="300" height="311" /></a></p>
<p>Understanding what each of the three visibility properties does will help to use them effectively.</p>
<p><strong>Hidden &#8211; </strong>Can be set to either ‘True’ or ‘False’. This can be done by selecting True or False from the drop down, or by using an expression to set either of those values after evaluating a condition. True equates to the object being hidden and False to the object being shown (tricky eh?).</p>
<p><strong>InitialToggleState</strong> &#8211; This is only applicable if the object that you have selected can toggle the visibility of other objects. It refers to the state of the toggle icon and can either be ‘Collapsed’ (‘+’) or ‘Expanded’ (‘-‘). As explained by way of example above, setting this to &#8216;’True’ sets the icon to the ‘Expanded’ state, and False to the ‘Collapsed’ state.</p>
<p><strong>ToggleItem</strong> &#8211; Use this property to set the object that will enable the user to toggle the visibility of another item. In the example above, I have chosen <strong>YEAR</strong> as my toggle item for the <strong>Month Group</strong>.</p>
<div id="scid:8747F07C-CDE8-481f-B0DF-C6CFD074BF67:4d34549f-83cb-4e47-af5f-7f400f868789" class="wlWriterEditableSmartContent" style="margin: 0px; display: inline; float: right; padding: 0px;"><a title="Fig 4. Oops" rel="thumbnail" href="http://www.lukehayler.com/wp-content/uploads/2010/02/InitialToggleState_SSRS2008_Oops8x6.png"><img src="http://www.lukehayler.com/wp-content/uploads/2010/02/InitialToggleState_SSRS2008_Oops.png" border="0" alt="" width="342" height="524" /></a></div>
<h4>Beware the Gremlins</h4>
<p>You need to be aware of setting properties for the right objects or groups, or you may find that your report does not display correctly:</p>
<p>Fig 4. shows what happens when you set the Visibility properties for the <strong>Month &amp; Data CELLS</strong> in the report instead of the <strong>Month Group</strong> properties. Setting the Month Group visibility properties means that you won’t get that nasty white space, and there’s no need to set the visibility of the cells (in this instance).</p>
<p>I have placed the example project in <a href="http://www.lukehayler.com/wp-content/uploads/2010/02/VisibilityTogglingSSRS2008.zip" target="_blank">a nice little zip file</a> for all you folks that might want such a thing.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lukehayler.com/2010/02/custom-visibility-toggling-ssrs-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQLBits VI has been announced!</title>
		<link>http://www.lukehayler.com/2010/02/sqlbits-vi-has-been-announced/</link>
		<comments>http://www.lukehayler.com/2010/02/sqlbits-vi-has-been-announced/#comments</comments>
		<pubDate>Fri, 12 Feb 2010 22:48:20 +0000</pubDate>
		<dc:creator>Luke Hayler</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Professional Development]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[sqlbits]]></category>
		<category><![CDATA[conferences]]></category>

		<guid isPermaLink="false">http://www.lukehayler.com/2010/02/sqlbits-vi-has-been-announced/</guid>
		<description><![CDATA[That’s right folks. Another SQLBits is almost upon us. And this time it’s in London! This SQLbits is to be held at the Church House Conference Center on the 16th April 2010. Details will be updated over at www.sqlbits.com. Simon is on lookout for volunteers, so if you are interested in helping out in anyway [...]]]></description>
			<content:encoded><![CDATA[<p>That’s right folks. Another SQLBits is almost upon us. And this time it’s in London! This SQLbits is to be held at the Church House Conference Center on the 16th April 2010. Details will be updated over at <a href="http://www.sqlbits.com">www.sqlbits.com</a>. <a href="http://twitter.com/simon_sabin" target="_blank">Simon</a> is on lookout for volunteers, so if you are interested in helping out in anyway you can, <a href="http://sqlblogcasts.com/blogs/simons/default.aspx" target="_blank">contact him</a> or leave a comment here (&amp; i will forward the details to him).</p>
<p>See you there!</p>
</p>
<p> <iframe height="500" marginheight="0" src="http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=Church+house+conference+center&amp;sll=51.500152,-0.126236&amp;sspn=0.069246,0.209255&amp;ie=UTF8&amp;hq=Church+house+conference+center&amp;hnear=&amp;cid=6236426317796403770&amp;ll=51.508849,-0.132179&amp;spn=0.05342,0.094414&amp;z=13&amp;iwloc=A&amp;output=embed" frameborder="0" width="550" marginwidth="0" scrolling="no"></iframe>  <br /><small><a style="text-align: left; color: #0000ff" href="http://maps.google.com/maps?f=q&amp;source=embed&amp;hl=en&amp;geocode=&amp;q=Church+house+conference+center&amp;sll=51.500152,-0.126236&amp;sspn=0.069246,0.209255&amp;ie=UTF8&amp;hq=Church+house+conference+center&amp;hnear=&amp;cid=6236426317796403770&amp;ll=51.508849,-0.132179&amp;spn=0.05342,0.094414&amp;z=13&amp;iwloc=A">View Larger Map</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lukehayler.com/2010/02/sqlbits-vi-has-been-announced/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>SQLBits (V) Videos available for Download</title>
		<link>http://www.lukehayler.com/2010/02/sqlbits-v-videos-available-for-download/</link>
		<comments>http://www.lukehayler.com/2010/02/sqlbits-v-videos-available-for-download/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 12:00:00 +0000</pubDate>
		<dc:creator>Luke Hayler</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[presentations]]></category>
		<category><![CDATA[sql server 2005]]></category>
		<category><![CDATA[sql server 2008]]></category>
		<category><![CDATA[sqlbits]]></category>

		<guid isPermaLink="false">http://www.lukehayler.com/2010/02/sqlbits-v-videos-available-for-download/</guid>
		<description><![CDATA[That’s right folks. If you missed out on some (or indeed all) of the awesome presentations at SQLBits V, you can now view them online or download them for viewing at your leisure. Simon Sabin has done a great job once again, so a big thanks to him and the rest of the SQLBits team.
Here’s [...]]]></description>
			<content:encoded><![CDATA[<p>That’s right folks. If you missed out on some (or indeed all) of the awesome presentations at <a href="http://www.sqlbits.com/" target="_blank">SQLBits V</a>, you can now view them online or download them for viewing at your leisure. Simon Sabin has done a great job once again, so a big thanks to him and the rest of the SQLBits team.</p>
<p>Here’s a taster for what is available:</p>
<ul>
<li><a href="http://www.sqlbits.com/Agenda/event5/A_whistlestop_tour_of_SSIS_add-ins/default.aspx" target="_blank">A Whistle-stop tour of SSIS Add-ins</a> </li>
<li><a href="http://www.sqlbits.com/Agenda/event5/Data_Visualisation_with_Bing_Maps_for_Enterprise/default.aspx" target="_blank">Data Visualisation with Bing Maps for Enterprise</a> </li>
<li><a href="http://www.sqlbits.com/Agenda/event5/Let_s_make_SQL_fly___a_technical_session_for_developers_and_administrators_who_believe_in_magic_/default.aspx" target="_blank">Let’s make SQL Fly</a> </li>
<li><a href="http://www.sqlbits.com/Agenda/event5/Microsoft_SQL_Server_2008_R2__What_s_New_in_Reporting_Services/default.aspx" target="_blank">Microsoft SQL Server 2008 R2: What’s new in Reporting Services</a> </li>
<li><a href="http://www.sqlbits.com/Agenda/event5/T-SQL_Tuning_with_Colin_Chapman__Enzo_Ferrari__and_The_Stig/default.aspx" target="_blank">T-SQL Tuning with Colin Chapman, Enzo Ferrari, and The Stig</a> </li>
</ul>
<p>And of course the link to the entire list is right there under each of the presentation descriptions.</p>
<p>If you need a recap of SQLBits V you can read all about it here (<a href="http://www.lukehayler.com/2009/11/sqlbits-v-conference-session-recap-part-1/" target="_blank">Part 1</a>) and here (<a href="http://www.lukehayler.com/2009/12/sqlbits-v-conference-session-recap-part-ii/" target="_blank">Part 2</a>).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lukehayler.com/2010/02/sqlbits-v-videos-available-for-download/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Download Reports (.RDL) files for editing (SSRS 2005)</title>
		<link>http://www.lukehayler.com/2010/02/download-reports-rdl-files-for-editing-4/</link>
		<comments>http://www.lukehayler.com/2010/02/download-reports-rdl-files-for-editing-4/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 12:50:23 +0000</pubDate>
		<dc:creator>Luke Hayler</dc:creator>
				<category><![CDATA[SSRS]]></category>
		<category><![CDATA[sql server 2005]]></category>

		<guid isPermaLink="false">http://www.lukehayler.com/2010/02/download-reports-rdl-files-for-editing-4/</guid>
		<description><![CDATA[If you ever happen to be in a situation were you do not have access to or have ‘misplaced’ the SSRS report files (.rdl) and you need to edit one (or more) of the reports on your server, there is an easy way to download the .rdl files. 
Follow these easy steps:

Open SQL Server Management [...]]]></description>
			<content:encoded><![CDATA[<p>If you ever happen to be in a situation were you do not have access to or have ‘misplaced’ the SSRS report files (.rdl) and you need to edit one (or more) of the reports on your server, there is an easy way to download the <strong>.rdl</strong> files. </p>
<p>Follow these easy steps:</p>
<ol>
<li>Open SQL Server Management Studio, </li>
<li>Log on to the Reporting Services Instance that contains the reports you are looking for </li>
<li>Browser through the directory structure to the report that needs to be updated </li>
<li>Right-click the report and choose <strong>Edit…</strong> </li>
<li>Now follow the prompts to save the file to a destination of your choice </li>
<li>Open BIDS &amp; create a new project/solution </li>
<li>Import the (previously) saved .rdl file into your SSRS project. </li>
<li>Edit away to your hearts content…. </li>
</ol>
<p>&#160;</p>
<p>I’m not going to ask why you don’t have access to or have misplaced the files in the first place (No source code management? Seriously?). I am sure there are a myriad of reasons that you can come up with. This post merely provides a quick way to recover your files and continue edits/updates that may be required.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lukehayler.com/2010/02/download-reports-rdl-files-for-editing-4/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SQLBits V &#8211; Conference &amp; Session Recap (Part II)</title>
		<link>http://www.lukehayler.com/2009/12/sqlbits-v-conference-session-recap-part-ii/</link>
		<comments>http://www.lukehayler.com/2009/12/sqlbits-v-conference-session-recap-part-ii/#comments</comments>
		<pubDate>Fri, 18 Dec 2009 14:00:00 +0000</pubDate>
		<dc:creator>Luke Hayler</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Professional Development]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SSIS]]></category>
		<category><![CDATA[SSRS]]></category>
		<category><![CDATA[sqlbits]]></category>

		<guid isPermaLink="false">http://www.lukehayler.com/2009/12/sqlbits-v-conference-session-recap-part-ii/</guid>
		<description><![CDATA[This is the second part in my recap of SQLBits V. You can read Part 1 here.
Sessions
I was assigned as a room monitor on the Saturday, and as 3 of the sessions I was planning on attending were in the BI track, this is where I ended up. The day for Room 1 went as [...]]]></description>
			<content:encoded><![CDATA[<p>This is the second part in my recap of SQLBits V. You can <a href="http://www.lukehayler.com/2009/11/sqlbits-v-conference-session-recap-part-1/">read Part 1 here</a>.</p>
<h3>Sessions</h3>
<p>I was assigned as a room monitor on the Saturday, and as 3 of the sessions I was planning on attending were in the BI track, this is where I ended up. The day for Room 1 went as follows:</p>
<h6>Getting Dimensional with Data -  Chris Testa O&#8217;Neill (<a href="http://sqlblogcasts.com/blogs/testas/">Blog</a> | <a href="http://sqlbits.com/Agenda/event5/Getting_Dimensional_with_Data/default.aspx" target="_blank">Slides</a>)</h6>
<p>Chris took us through the basics of building a cube, highlighting the use of data sources and data source views, the importance of dimensions and hierarchies, and of course the measures that will hold the business metrics. This was a good talk on getting started with building your first cubes.</p>
<h6>A Whistle Stop Tour of SSIS Add-ins &#8211; Jamie Thomson (<a href="http://sqlblog.com/blogs/jamie_thomson" target="_blank">Blog</a> | <a href="http://twitter.com/jamiet" target="_blank">Twitter</a> | <a href="http://sqlbits.com/Agenda/event5/A_whistlestop_tour_of_SSIS_add-ins/default.aspx" target="_blank">Slides</a>)</h6>
<p>Jamie introduced us to a number of free/paid for SSIS add-ins. He described each add-in, how it was configured and demoed a practical use for each. I have already written about this session in <a href="http://www.lukehayler.com/2009/11/sqlbits-v-conference-session-recap-part-1/">Part 1 of the Conference Recap</a>. Jamie put a lot of work into his demos, so a big thanks to him.</p>
<h6>Self Service Business Intelligence (Project Gemini) &#8211; Bob Duffy (<a href="http://blogs.msdn.com/boduff/default.aspx" target="_blank">Blog</a> | <a href="http://sqlbits.com/Agenda/event5/Self_Service_Business_Intelligence-_Project_Gemini/default.aspx" target="_blank">Slides</a>)</h6>
<p>Bob took us once again through building a business intelligence solution with Office 2010 and Gemini. It seems that no matter how many times I see presentations on this stuff I don’t get tired of it. Looking forward to the moment I can use these tools in a commercial setting. Whenever that might be….</p>
<h6>SSIS in SQL Server 2008 &#8211; Allan Mitchell (<a href="http://www.sqlis.com" target="_blank">SQLIS.com</a> | <a href="http://www.sqldts.com" target="_blank">SQLDTS.com</a>| <a href="http://sqlbits.com/Agenda/event5/SSIS_in_SQL_Server_2008/default.aspx" target="_blank">Slides</a>)</h6>
<p>Allan did a great job (even though he overran his session by &#8216;a few minutes’) of informing us of a couple of differences in Threading between SSIS in SQL Server 2005 &amp; 2008, why you need to be using the Cache &amp; the Lookup Transform, the Data Profiling Task and Change Data Capture. Another enjoyable and informative session.</p>
<h6>Report Builder 3 &#8211; Andrew Fryer (<a href="http://blogs.technet.com/Andrew" target="_blank">Blog</a> | <a href="http://twitter.com/deepfat" target="_blank">Twitter</a> | <a href="http://sqlbits.com/Agenda/event5/Report_Builder_3/default.aspx" target="_blank">Slides</a>)</h6>
<p>Andrew wowed us all. Again. Even with some demo trouble (he was plagued with ‘technical issues’) it was a fabulous session. He took us through all the features of Report Builder 3 as a Managed Self-Service BI tool. Items to note:</p>
<ul>
<li>The Tablix Object</li>
<li>Improved Visualizations (Better Charts &amp; Gauges, Maps, Sparklines, Data Bars, Indicators)</li>
<li>Interesting layouts (see slides)</li>
<li>Support for Spatial Data</li>
<li>Integration with Virtual Earth tiles.</li>
<li>Multiple Map Layers</li>
<li>A number of Layout enhancements (new functions, new data sources, Expression-based page breaks &amp; chart headers, Excel tab naming, Bottom-to-top text rotation)</li>
<li>Aggregating aggregates</li>
</ul>
<p>This was the last presentation of the day and of the conference and it ended on an high note.</p>
<p>Everyone then piled out into the foyer for drinks &amp; games. About an hour after the social started Simon gathered everyone for prize giving &#8211; There were several prizes and winners were chosen by selecting completed feedback forms from a box (that contained all of them). I couldn’t believe it (cue <a href="http://en.wikipedia.org/wiki/Victor_Meldrew" target="_blank">Victor Meldrew</a>). On the fourth attempt a feedback form of mine was pulled out and my name was called. Score! I still wonder at how the <a href="http://www.red-gate.com/products/SQL_Compare/index_v2.htm?utm_source=google&amp;utm_medium=cpc&amp;utm_content=brand_aware&amp;utm_campaign=sqlcompare&amp;gclid=CPio3NXu354CFUQA4wodx0iCIA" target="_blank">Redgate SQLComapre</a> license was still there for the taking. This is after 3 other winners had taken mice, &amp; webcams from the pile. I think I did pretty well. Thanks Redgate!</p>
<h3>Volunteering</h3>
<p>As I have mentioned before, SQLBits is a not commercial conference. It is organised and run by <a href="http://sqlbits.com/about/WhosWho.aspx">a handful of professionals</a> that do it in their own time. I offered to be one of the helpers at this November’s conference and was glad I did so, as I got to meet and interact with a number of great people. It can sometimes be difficult to start a conversation with someone you don’t know (<a href="http://www.lukehayler.com/2009/09/sqlbits-here-i-come/" target="_blank">as I mentioned here</a>) unless you have something in common, or an icebreaker. Volunteering can be the icebreaker. It forces you to meet a bunch of new people and gets the ball rolling.</p>
<p>So what did volunteering at SQLBits involve? About an hour of my time on the Friday evening, and playing room monitor in one of the rooms (BI Track) for the day &#8211; which meant that I couldn’t attend all of the sessions that I was aiming to, but as most of them were in the same room this wasn’t too much of an issue for me. To be honest, it was a lot less work than I had expected &#8211; <em>note to self: must get involved earlier next time</em>.</p>
<p>And what did I gain out it? A better understanding for what is involved in organising a SQLBits conference, meeting and conversing with the organisers, speakers and other volunteers, making new contacts and friends, being part of the community, a wonderful dinner late on Saturday night, and a great bonus from the organisers which was totally unexpected. So a HUGE thanks to Simon, Chris, James, Darren, Martin &amp; Allan. You have pulled off (another) great conference and I am sure that I am not alone in saying that I can’t wait for the next one.</p>
<h3>The People I met</h3>
<p>Meeting more sql folks was one of my goals for the conference and I think I did pretty well. What remains to be seen is if I managed to leave a good enough impression. Over the two days I was at SQLBits I had the privilege of meeting and chatting to a number of people, some for just a brief few minutes, others for good enough chunk of time to get to know them a little better. Here’s a few of those awesome folks:</p>
<ul>
<li>Allan Mitchell (<a href="http://www.sqlis.com" target="_blank">Site</a>)</li>
<li>Andre Kamman (<a href="http://andrekamman.com/" target="_blank">Blog</a> | <a href="http://twitter.com/AndreKamman" target="_blank">Twitter</a>)</li>
<li>Andrew Fryer (<a href="http://blogs.technet.com/Andrew" target="_blank">Blog</a> | <a href="http://twitter.com/deepfat" target="_blank">Twitter</a>)</li>
<li>Ashwani Roy(<a href="http://ashwaniroy.spaces.live.com/" target="_blank">Blog</a>)</li>
<li>Bob Duffy (<a href="http://blogs.msdn.com/boduff/default.aspx" target="_blank">Blog</a>)</li>
<li>Brent Ozar &#8211; finally! (<a href="http://www.brentozar.com" target="_blank">Blog</a> | <a href="http://twitter.com/brento" target="_blank">Twitter</a>)</li>
<li>Chris Alcock (<a href="http://blog.cwa.me.uk" target="_blank">Blog</a> | <a href="http://twitter.com/calcock" target="_blank">Twitter</a>)</li>
<li>Chris Testa-O’Neill (<a href="http://sqlblogcasts.com/blogs/testas/" target="_blank">Blog</a>)</li>
<li>Chris Webb (<a href="http://cwebbbi.spaces.live.com/" target="_blank">Blog</a>)</li>
<li>Darren Green (<a href="http://www.sqlis.com" target="_blank">Site</a>)</li>
<li>David Baker (<a href="http://www.xpert360.com" target="_blank">Site</a>)</li>
<li>Derek Neighbour</li>
<li>James Rowland Jones (<a href="http://blogs.conchango.com/jamesrowlandjones" target="_blank">Blog</a> | <a href="http://www.twitter.com/jrowlandjones" target="_blank">Twitter</a>)</li>
<li>Jamie Thomson (<a href="http://sqlblog.com/blogs/jamie_thomson" target="_blank">Blog</a> | <a href="http://twitter.com/jamiet" target="_blank">Twitter</a>)</li>
<li>Jenifer Stirrup (<a href="http://jenstirrup.blogspot.com/" target="_blank">Blog</a> | <a href="http://twitter.com/jenstirrup" target="_blank">Twitter</a>)</li>
<li>Marcus Ford (<a href="http://twitter.com/MarcusDotFord" target="_blank">Twitter</a>)</li>
<li>Martin Bell (<a href="http://sqlblogcasts.com/blogs/martinbell/" target="_blank">Blog</a>)</li>
<li>Phil Carter (<a href="http://www.xpert360.com" target="_blank">Site</a> | <a href="http://twitter.com/philcarter" target="_blank">Twitter</a>)</li>
<li>Rachel Clements (<a href="http://www.norbtechnologies.com" target="_blank">Site</a> | <a href="http://www.twitter.com/RachelClements" target="_blank">Twitter</a>)</li>
<li>Rob Farley (<a href="http://msmvps.com/blogs/robfarley" target="_blank">Blog</a> | <a href="http://twitter.com/rob_farley" target="_blank">Twitter</a>)</li>
<li>Simon Sabin (<a href="http://sqlblogcasts.com/blogs/simons" target="_blank">Blog</a> | <a href="http://twitter.com/simon_sabin" target="_blank">Twitter</a>)</li>
<li>Vivek Sekrou (<a href="http://www.sqlserver007.com" target="_blank">Blog</a> | <a href="http://twitter.com/Vivekserou" target="_blank">Twitter</a>)</li>
</ul>
<p>A fantastic group of people, all knowledgeable in their own sphere of SQL Server, and great personalities. I found I had the best conversations later in the evening once things had quietened down a bit. I think it would be great if there were more opportunities for quiet times like these, as sometimes they are of the most benefit. I believe that some others actually forego sessions when they’re having a great conversation with a new (or indeed old) acquaintance.</p>
<p>It would be nice to see a little more time (and possibly structure) attributed to mealtimes during the conference. These are times that could be used to great benefit for that all important networking. I have a few ideas that I’d like to pass around and will possibly write another post about it later. At the very least I’ll pass them along to the organisers (or possibly something that I could organise???). For those that were lucky enough to go to the PASS Summit, what opportunities did you have for catching up with old friends &amp; getting to know some new folks?</p>
<h3>So, what did I learn at SQLBits?</h3>
<p>I have mentioned previously the sessions that were my highlights and have gone into some details there. This is a list of other things</p>
<ul>
<li>Arrive early &#8211; to the conference and to each session. You’ll get the lay-of-the-land and you get to meet a few people before it begins to get crazy. At the very least, get to your sessions on time. Speakers have a set time to give their presentations and need to have some time for questions. Your questions. If they have to start late due to interruptions, there’s less or no time for questions.</li>
<li>Leave late &#8211; Stay over on the last evening. I found this to be the best time for conversations with speakers, MVPS, organisers and attendees (that also stayed over). The stress of the sessions and the conference has abated and people are much easier to talk to and get to know.</li>
<li>A book/laptop/netbook/napkin/whatever &#8211; Bring something to take notes. Anything. Just ensure that you take notes for things that spark your interest. The sessions can be fairly intense (speakers try and pack in as much as they can) and your brain will be overflowing pretty quick (well, maybe I only speak for myself here), so taking notes enables you to revisit the key points at a later date when you have the time.</li>
<li>Business/Contact cards &#8211; get some made and hand them out. I met many more people than those on my list but due to my overflowing brain, just couldn’t keep track. Go get some cards people! If you weren’t on the receiving end of one of mine (care of <a href="http://www.moo.com" target="_blank">moo.com</a>), here’s an electronic copy:</li>
<li><img style="display: inline; border-width: 0px;" title="Luke_Hayler_Contact_Cards" src="http://www.lukehayler.com/wp-content/uploads/2009/12/MiniBusinesCardPhoto_Front.jpg" border="0" alt="Luke_Hayler_Contact_Cards" width="266" height="116" /> <img style="display: inline; border-width: 0px;" title="Luke_Hayler_Contact_Cards" src="http://www.lukehayler.com/wp-content/uploads/2009/12/MiniBusinessCards_text_Back2.jpg" border="0" alt="Luke_Hayler_Contact_Cards" width="272" height="116" /></li>
<li>Ask questions &#8211; if you don’t you’re missing out on some valuable first-hand information from some of the brightest sql folks around. It also helps to prepare some ahead of time. The sessions and speakers are listed well ahead of time, so take a note of those sessions you would like to attend and write down the questions you may have.</li>
<li>Time to digest &#8211; set aside some time, even just an hour, during the day to digest what you’ve learned and who you may have met. You’ll be surprised how easily this information will escape you if you if don’t. So, got get your favourite beverage, find a quiet spot and go through your notes, you may find that you have a few questions, which you can now go pose to the speaker of the session, or indeed any others.</li>
<li>Attend a Donald Farmer presentation. ‘nuff said.</li>
<li>PowerPivot, Excel 2010, Reporting Services in 2008 R2 &#8211; are all pretty awesome. I can’t wait to get my hands on these and building some mind blowing data analysis and reporting solutions.</li>
</ul>
<h3>Some Suggestions &amp; Ideas</h3>
<ul>
<li>Better information about sessions &#8211; I found that while most of the sessions were well described (in the schedule), there were some that held little or not information about the session, and one or two that had misleading titles. This makes it pretty difficult to know what to expect when you are attending. Given that feedback is so valuable to speakers (and organisers), I would have though that if someone’s expectations were not met then the speaker might receive poor feedback. Ambiguity about the session also leads to more disruptions &#8211; people will leave during the session if they feel that it’s not quite what they expected. Personally, I would like to know exactly what the session is about before I make a decision to attend. Most of the speakers I saw had an agenda slide. This is perfect for the session description.</li>
<li>Several screens in the foyer (TVs/projectors/etc) with any important announcements (room updates, next sessions, etc)</li>
<li>Live Twitter stream in each session room &#8211; which could be managed by a room monitor perhaps.</li>
<li>More time to mingle &#8211; I know that the sessions are the core of the conference, but wouldn’t having more time to get to know people and ask the MVPs/Speakers/other attendees questions help too? There was barely enough time between the sessions to get a cup of coffee &amp; a biscuit (or cookie for our US readers) let alone meeting and having a meaningful conversation. I am not sure how much of a nightmare it would be to start sessions earlier and finish later in the day, but it might make the day easier to handle &#8211; from an attendee point of view.</li>
</ul>
<p>Did you attend SQLBits? Do you have any comments on any of the above Suggestions &amp; Ideas (or indeed anything else I’ve mentioned)? Let’s hear from you!</p>
<h3>You’re still reading this??</h3>
<p>This has been a fairly epic post, so if you have made it all the way down here I applaud you. Thanks for sticking it out!</p>
<p>This has been my experience. I hope it provides a good summary of what SQLBits is about and if you weren’t already thinking about going to the next one you should definitely make plans to do so. It’s worth it.</p>
<p>See you at SQLBits VI!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lukehayler.com/2009/12/sqlbits-v-conference-session-recap-part-ii/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SQLBits V &#8211; Conference &amp; Session Recap (Part 1)</title>
		<link>http://www.lukehayler.com/2009/11/sqlbits-v-conference-session-recap-part-1/</link>
		<comments>http://www.lukehayler.com/2009/11/sqlbits-v-conference-session-recap-part-1/#comments</comments>
		<pubDate>Fri, 27 Nov 2009 17:22:54 +0000</pubDate>
		<dc:creator>Luke Hayler</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Professional Development]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SSIS]]></category>
		<category><![CDATA[SSRS]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[sqlbits]]></category>

		<guid isPermaLink="false">http://www.lukehayler.com/2009/11/sqlbits-v-conference-session-recap-part-1/</guid>
		<description><![CDATA[Better late than never
I’ve been a little under the weather since getting back from SQLBits V so this post has been days in the making instead of just s a few hours. But here it is. This post focuses on the conference sessions, I am going to follow up with another post on people, conference [...]]]></description>
			<content:encoded><![CDATA[<h6>Better late than never</h6>
<p>I’ve been a little under the weather since getting back from SQLBits V so this post has been days in the making instead of just s a few hours. But here it is. This post focuses on the conference sessions, I am going to follow up with another post on people, conference feedback and things I might do differently next time.</p>
<h6>Even the birds aren’t up this early…</h6>
<p>Friday started swimmingly. Up at the crack o’ dawn,  taxi to a mainline station (my local didn’t have an early enough train to get me into London), only to find that the train has been delayed by 18 minutes. Pants. There goes all my hard work ‘being early’. The good news is that I made it on to the Newport Train (from Paddington). With just 2 minutes to spare. And I got a seat with a power outlet. Bonus! All my good intentions at getting a head start on an article have gone out the window as I am a little tired, so I try to catch up on some much needed shut eye.</p>
<h5>Keynote by Donald Farmer</h5>
<p>I arrived at the Celtic Manor, having shared a taxi, just in time for registration and a quick bacon bap before the welcome started. The keynote was given by Donald Farmer (<a href="http://www.beyeblogs.com/donaldfarmer/">Blog</a> | <a href="http://twitter.com/donalddotfarmer">Twitter</a>). He gave us a great preview of the simply awesome PowerPivot and a few features in SQL Server 2008 R2. See <a href="http://www.brentozar.com/archive/2009/11/donald-farmer-sqlbits-keynote-on-powerpivot/comment-page-1/#comment-14683">this recap by Brent Ozar</a>.</p>
<p>Below is a recap of the sessions that I found I got the most out of.</p>
<h5>Friday Session 1 &#8211; New Development Features in SQL Server 2008 [Simon Sabin]</h5>
<p>The first session of the day, that I attended, was Simon Sabin’s (<a href="http://sqlblogcasts.com/blogs/simons/default.aspx">Blog</a> | <a href="http://twitter.com/simon_sabin">Twitter</a>) overview of the new development features that can be found in SQL Server 2008. Simon favours the demo approach for sessions and so had relatively few slides. Not a bad thing. Among other features available in SQL Server 2008, the following were discussed/demoed:</p>
<ul>
<li><strong>Variable declaration and initialisation</strong> &#8211; this can now be done in the same line (Declare @i Int = 1)</li>
<li><strong>Named regions </strong>- You can create these using BEGIN &amp; END blocks &amp; naming it with a comment. Named regions will enable you to collapse the blocks for readability.</li>
<li><strong>Intellisense</strong> &#8211; as has been available to .NET programmers for years. My only query here is, why not use the syntax that can be found in C# when writing LINQ queries [where you specify the FROM TABLENAME line first and then the SELECT statement). As such, you find yourself writing the FROM line first and then going back up to the SELECT statement….</li>
<li><strong>Highlighted Syntax errors </strong>- think MS Word red squiggly lines to highlight that something is the matter.</li>
<li><strong>Code validation at design time</strong> -</li>
<li><strong>Date &amp; Time datatypes</strong> - new Date datatype allows dates before 01/01/1753, and only takes up 4 bytes of storage. great for when you don’t actually need time precision. Time datatype handles precision down to the nano second, for when you do. The Time datatype also only refers to the time of day and not a time interval.</li>
<li><strong>No longer allowed implicit calculations on dates - </strong>you now <span style="text-decoration: underline;">must</span> use Date functions to perform calculations on Date datatypes (i.e. DateAdd(), Not “MyDatetime + 1”).</li>
<li><strong>DateTime Offset</strong> - Allows you to store the date and time that has time zone awareness (based on the 24-hour clock)</li>
<li><strong>Debugging</strong> - You can now debug your code! breakpoints, watch lists, view locals, etc</li>
<li><strong>MERGE Statement</strong> - enables you to perform updates/deletes/inserts all within one statement.</li>
</ul>
<p>Whilst this list is not conclusive, it certainly highlighted a number of new features that are now available in SQL Server 2008 and incentivises you to at least find out what else is available that could simplify you SQL development.</p>
<p>This was a great session, and if you find out that Simon is doing a presentation near you (UK User Groups), I suggest going.</p>
<h5>Friday Session 2 - SQL Server 2008 R2: What’s new in Reporting Services? [Donald Farmer]</h5>
<p>Donald Farmer (Twitter | Blog) blew my mind. Not once, but twice. First, in his keynote, he talked about the awesomeness of PowerPivot. Then in this session, he did it again. I loved this session and quickly realised that there’s going to be quite a learning curve and an altering of mindset of how reporting ‘gets done’ in the future. Why? Because the lines between the business &amp; IT are blurring.</p>
<p>With the new Self Service Analysis and Reporting tools, there’s a new approach to finding out and tracking how the business is performing. So, if you are a Reporting Services Developer or Data/MI(S) Analyst. Things are going to change:</p>
<ul>
<li>PowerPivot &amp; Excel 2010 bring a lot more functionality ( &amp; power) to business users. Enabling them to analyse data at length straight from the data source.</li>
<li>The arrival of report components in report builder, means that reports can be built quicker using existing parts of reports or report items. Think sub-reports, but on a more granular scale. Each report item can be a reusable component, which can be tweaked by the user for use in their own report.This includes the reuse of datasets, as components. These components are centrally managed by IT (or a reporting team).</li>
</ul>
<p>So what did we learn? Here’s a bulleted summary:</p>
<ul>
<li>Business users analyse data through tools like PowerPivot &amp; Excel 2010, digging for answers to business questions. This analysis is an iterative process and gives rise to metrics that can be monitored. Enter reporting services. Reports are built to monitor the ‘answers’ discovered by the business analysts.</li>
<li>Reports can be created using components. Components are pre-built report objects that reside in a library that anyone can reuse. Think of sub-reports, but in a centrally managed way.</li>
<li>Created reports that are saved to the Server are saved as a report in its entirety, as well as individual report components. These components are then available to other users to include/tweak in their own reports.</li>
<li>When Publishing reports, you can choose which components of the reports you want to publish.</li>
<li>Report Data can be subscribed to via feeds (rss anyone?). This can be used to in PowerPivot to run Excel-based analyses using Pivot tables</li>
<li>New features of Reporting Services:
<ul>
<li>Spark lines &#8211; think inline charts. No x/y axes. Just used to illustrate a trend.</li>
<li>Data bars &#8211; no more having to use expressions to calculate cell padding and the applying a background colour. Pick your element &amp; configure.</li>
<li>KPI’s &#8211; like those in SSAS, you can now add a KPI and configure it’s value, goal, status &amp; trend. KPI’s can be ‘componentised’ and reused in other reports.</li>
<li>Lookup functions</li>
<li>Aggregates of Aggregates</li>
<li>New data sources (Project Madison, SQL Azure)</li>
<li>Ability to reset page numbers based on groups</li>
<li>Expression-based page breaks</li>
<li>Expression-based chart headers</li>
<li>Naming Excel Worksheet tabs (on render to excel)</li>
<li>Bottom-top text rotation</li>
<li>Session variables</li>
</ul>
</li>
<li>R2 to be released in first half of 2010 (CTP is already out).</li>
</ul>
<h5>Saturday Session 2 &#8211; Jamie Thomson’s Whistle Stop Tour of SSIS Add-ins</h5>
<p>In this session Jamie took us through the fact that there are a number of SSIS custom tasks available on the intertubez. Many of them are free and can be found on <a href="http://www.codeplex.com">CodePlex</a>. There were only one or two slides (Jamie’s contact info), as the whole session was taken up demoing each of the tasks he had chosen.</p>
<li>XMLify Task</li>
<li>Kimball SCD (Slowly Changing Dimensions) Task</li>
<li>TwitterTask</li>
<li>Term Extraction Task</li>
<li>Normaliser Task</li>
<li>Rank Transform Task</li>
<li>Compression &amp; Decompression Task</li>
<li>FileWatcher Task</li>
<li>Trace File Task</li>
<li>Dynamic Data Flow Task</li>
<p><strong>XMLify</strong> (<a href="http://xmlify.codeplex.com">http://xmlify.codeplex.com</a>) &#8211; takes columns that you specify (from a query/view) and loads them into an xml block. Jamie demoed this for capturing error outputs.</p>
<p><strong>Kimball SCD </strong>(<a href="http://kimballscd.codeplex.com">http://kimballscd.codeplex.com</a>) &#8211; For slowly changing dimensions. Takes all data in the destination and for each column you can define it’s usage ( type 1 change, type 2 change, business key, surrogate key, etc). Type 1 changes will update the destination data based on the source data. This task is a monster. Loads of options for configurability.</p>
<p><strong>Twitter task </strong>(<a href="http://ssistwittersuite.codeplex.com/">http://ssistwittersuite.codeplex.com/</a>)<strong> &#8211; </strong> I think this is awesome. You can automate sending your tweets. Careful though, password is in full view in design mode. You can also get all replies/mentions and then data mine them using the Term Extraction task. I can see this being used as a substitute for text (SMS) messaging notifications, for whatever you need to be notified about (if you’re always on Twitter).</p>
<p><strong>Term Extraction</strong> &#8211; A data mining task to pick out nouns, verbs, phrases. Although not an add-in (comes with SSIS) this is still a neat task that I had not used previously. Jamie is using it to sift through the Twitter feed to his @ssisdemo Twitter account. Very cool use to see what people are saying (words &amp; phrases), and how often each occurs. Could be useful, I guess.</p>
<p><strong>Normaliser</strong> (<a href="http://normaliser.codeplex.com">http://normaliser.codeplex.com</a>) &#8211; Normalises the data from an incoming data stream. Pure. Simple. Awesome. Data must be sorted as a prerequisite. This task only handles one to many relationships.</p>
<p><strong>Rank Transform</strong> (<a href="http://ranktransform.codeplex.com">http://ranktransform.codeplex.com</a>) &#8211; Ranks a dataset by Partition. Enables you to view a dataset ordered and ranked (by specified column), as well as being able to specify a partition for the ranking (i,e, month). The dataset must be sorted before use. Rank &amp; Dense Rank have their differences, specifically where you have two ranked values that are equal (a ranking ‘tie’). So, if you have two values that are equal and ranked ‘2’, then for the column RANK the next value will be ranked as ‘4’ whereas the column DENSE RANK the next value will be ranked as ‘3’. Still confused? Go <a href="http://www.sqlservercurry.com/2009/04/rank-vs-denserank-with-example-using.html">here</a>.</p>
<p><strong>Zip task</strong> (<a href="http://cozyroc.com/ssis/zip-task">http://cozyroc.com/ssis/zip-task</a>)- this task takes a source file and compresses it into a gzip file (.gz). That’s it. Decompression decompresses the file. This will only work with a single file and not for a folder or multiple files. I think I would prefer to use 7zip and an Execute</p>
<p><strong>FileWatcher</strong> (<a href="http://www.sqlis.com/post/File-Watcher-Task.aspx">http://www.sqlis.com/post/File-Watcher-Task.aspx</a>) &#8211; This task ‘watches’ a directory, when a file is detected it will progress the flow to the next task. Placed in an endless loop this will continually execute, and will pick up files as they arrive. Neat.</p>
<p><strong>Trace File</strong> (<a href="http://www.sqlis.com/post/Trace-File-Source-Adapter.aspx">http://www.sqlis.com/post/Trace-File-Source-Adapter.aspx</a>) &#8211; understands a sql trace file and enables you to handle the trace file contents.</p>
<p><strong>Data Flow</strong> <strong>Plus</strong> (<a href="http://www.cozyroc.com/ssis/data-flow-task">http://www.cozyroc.com/ssis/data-flow-task</a>) &#8211; Enables you to populate two different tables with the same data flow. Neat.</p>
<p><strong>Trash Destination</strong> (<a href="http://www.sqlis.com/post/Trash-Destination-Adapter.aspx">http://www.sqlis.com/post/Trash-Destination-Adapter.aspx</a>) &#8211; Enables you to send any data flow to a trash destination. No configuration required, so ideal for a number development scenarios.</p>
<p>This session, along with those by Donald Farmer, was the most enjoyable and one that I probably took the most away from. It opened my eyes to the world of custom SSIS tasks and that fact that so many of them are freely available (with source code so that you can tweak at leisure). Jamie definitely seems to be the go-to guy for SSIS related  info. If you haven’t checked out his site yet, I suggest doing so: <a href="http://sqlblog.com/blogs/jamie_thomson/default.aspx">http://sqlblog.com/blogs/jamie_thomson/default.aspx</a></p>
<p><strong>Other SSIS Add-in Links:</strong></p>
<ul>
<li><a href="http://www.cozyroc.com">http://www.cozyroc.com</a></li>
<li><a href="http://ssisctc.codeplex.com/">http://ssisctc.codeplex.com/</a></li>
<li><a href="http://www.sqlis.com/category/Component-Downloads.aspx">http://www.sqlis.com/category/Component-Downloads.aspx</a></li>
</ul>
<p>Go to <a href="http://www.lukehayler.com/2009/12/sqlbits-v-conference-session-recap-part-ii/">Part II of the SQLBits recap</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lukehayler.com/2009/11/sqlbits-v-conference-session-recap-part-1/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
