SQLBits 8 – Pre Conference seminars announced

The Pre Conference full day training seminars have been announced for SQLBits VIII, 

held on Thursday 7th of April 2011 at The Grand in Brighton. I am delighted to say that I’m doing a session on data visualisation and its implementation in Reporting Services! It’s not just me speaking however; there are 7 other great sessions, all of which are listed here:

So, what will I be covering? Well, the focus will be on advanced, business-oriented analysis in SSRS, using data visualisation so that the ‘stories’ contained in the data are revealed rather than distorted. The main focus of the day will be on the practical application of data visualisation using SSRS 2008 R2, with supporting cognitive psychology theory where relevant. This one-day seminar is aimed at those who are Excel ‘power users’ or have some SSRS experience, and delegates are encouraged to ask questions throughout the day. If you would like more details, please visit the SQLBits site here or see here for Pricing and Booking Information. 

On the day registration opens at 08:30, with the sessions starting at 09:30, and finishing at 17:00. 

I hope to see you there! 

Any questions, please get in touch or please feel free to comment on this blog.


Presentation Tips for Girls

I’ve been asked about my experiences presenting as a girl, and what advice I would give to other women presenters. Here goes; you may not like all or any of what I’ve got to say however, and please do feel free to comment at the end of the blog. I would be interested to hear your opinions.
The audience should remember what you said, not what you wore
Jeff Porro of the Washington Business Journal notes that, when Hillary Clinton wore a coral jacket to one of the early Presidential speeches, next day’s press talked about her jacket rather than her message. Unfortunately, as a woman, what you wear matters; it’s not right that it does, but it does matter. Believe me, I’m no expert on fashion and it’s risable that I tell people what to wear. I can only tell you what I do, which is to stick to plain clothes and cover up so that the audience are not distracted by anything else.
Marilyn Monroe used to do a quick ‘spin’ in the mirror before leaving, dressed up, to go out to a big event. If a brooch or hairclip was more obvious than her dress, then she removed it on the grounds of that it was distracting. I think this is a good idea. She was a more clever woman than people gave her credit for, although the focus is usually on her appearance. 
The audience should remember what you said, not what you didn’t wear
I realise that there is the ‘Spice Girl’ school of thought, which is that a woman can dress in revealing clothes if she wants to do that, and it’s nobody’s business but hers. I think that’s fair enough if we lived in an academic world where people stuck to high principles. However, we live in a real world with real people, where clarity and meaning are not guaranteed (but it doesn’t stop us from looking for it). So, how do we find a way forward?
However, in a business or technical environment, I don’t think it’s appropriate, and it’s a complex issue. Some people can see it as an unfair advantage if a woman is wearing something revealing and gets attention for it, and this can cause some resentment. In my own opinion, I don’t think that dressing in a revealing way is a way of building credibility in the long-term. It does not matter if it is right or not that this is the case; this is just living in the real world. 
When you’re presenting, if you wear a low-cut top and you’re leaning over a laptop, the people in the front row will get a good look at your belly button; not perhaps the best way to build any credibility! If in doubt, it’s best to cover up. People’s memories of presentations are quite limited in terms of what they take away from the session. So, if you distract them by showing a lot of flesh, then unfortunately that’s one of the things that they are more likely to remember, rather than some detail of the finely-prepared presentation that you’ve been working on for months.
Rule of Three
The rule of three probably applies: so you are so inclined, you can choose one of the following:
(a) wear a mini skirt 
(b) wear a push up bra or 
(c) wear stiletto high heels.  
If you’re lucky, you might get away with two of the above items. However, in my opinion, you are unlikely to get away with all three.
I don’t bother with any of the above; I’m not comfortable with it, so I don’t do it. This is just my opinion and you are welcome to differ with me; your choice!
Practical Elements: wear a bra!
If you’re being recorded, then you will need to place your microphone under your clothing and clip the microphone to something. A bra is ideal for this. Ideally, leave some time to prepare to do this beforehand, and a place to undress so you can put the microphone on with some privacy. I’ve had adventures with this previously, which I’m still mortified about, and won’t confess here!
There are probably other things, but there’s some food for thought for now.

SQLBits Feedback Post-Mortem

Recently, I did a presentation at on report design in SSRS at SQLBits, which is Europe’s largest SQL Server community conference. If you are interested, please click here to go and view the video.

The attendees are encouraged to submit session feedback. I have decided to visualise the feedback that I was given for my session here on my blog, and the full, unedited feedback can be downloaded as a text file.  If you provided feedback for my session; thank you very much for the feedback. As a speaker, I do pay attention to it in order to improve. The comments don’t make always easy reading, but you can view the video and comments, and decide for yourself.

Generally speaking, rating data is interesting from the cognitive psychology perspective since it involves thinking about how humans categorise, rank and rate objects and ideas. If you’re interested in reading more about this, I can suggest Lakoff’s Women, Fire and Dangerous Things as an introduction to this topic. 

Specifically, the SQLBits session feedback data is interesting because it gives me data about myself, that I use and investigate. The data itself is non-parametric: this means that there are very few assumptions made about the data. For instance, no assumption is made about the shape of the data, and only ordinal data is assumed. By ordinal data, this means that points on the scale are ordered e.g. a score of 9 for ‘Quality of Demos’ would be higher than a score of 8 for the same metric. 

For the data to be considered parametric, then it would need to be interval data at a minimum. An example of interval data is temperature, because the units allow us to equate intervals between points e.g. the difference between 10 and 20 degrees Centigrade is the same as the difference between 20 and 30 degrees Centigrade. For example, what one person gives as a ‘5’ out of a possible 9 isn’t equivalent to what someone else’s criteria. Further, it isn’t possible to say that the differences between the points is equivalent across all cases; so a person who gives a rating of 9 isn’t exactly 3 times more satisfied than the person who gives a rating of 3.

As long as the issues around rating data are borne in mind, the data can still yield insights via data visualisation, whereby we look for patterns in the data. In order to do this, I have produced a heatmap to display the data, which you can see below. The ‘Rating (bin)’ columns refer to the actual rating number given, where ‘1’ is the lowest level of satisfaction, and ‘9’ is the highest:


Heatmaps are can be described as a visualisation where colour is primarily used to encode quantitative data, or where there is a large amount of data that may produce over-plotting on a line graph. Heatmaps can take many forms.  For example, they can be used for binary displays i.e. one colour for ‘true’, and another colour for ‘false’. Alternatively, heatmaps can simply look like a coloured ‘block’ spreadsheet, where the cells display a matrix of rows and columns. I have used Tableau in order to quickly produce the above visual.

Heatmaps, as in the above example, can be used to display multivariate data.  Here, the ‘ratings’ are ‘bucketed’ as per the columns, so we can see approximately how many people placed a rank in each category.  The rows display the quantitative variables, and constitute of the following items:

  • Speaker’s knowledge of the subject area 
  • Speaker’s presentation skills 
  • Quality of Demos 
  • Accuracy of session abstract 
  • Were your expectations met 
  • Overall performance of the session

The combination of the colours display the profile of the rating criteria. The way that I personally see this is as a ‘birds eye view’ of a line graph. In other words, where is the darkest colour reside, and where is the ‘tail’? Fortunately for me, the darker colours are on the right hand side of the visualisation, which shows that I received more ratings on the ‘higher’ end of the scale rather than the lower.

In order to make the heatmap more clear, I have included the following thoughts:

  • Higher values are represented by brighter and darker colours; so the lighter colour means that there were not as many ratings given.
  • Blue has been chosen, since red and green are not ‘colour blind’ friendly.
  • Element size is also used in order to double-encode the actual quantity. In other words, the smaller ‘blocks’ show that smaller number of ratings were given for the ranks ‘1’, ‘2’ and so on, and more votes were given to the higher value spectrums.

So, all that remains is for you to have a look at the video and see what you think! I will look forward to your comments on this and other commentary, as always.

Jen x

Intelligent Laziness: Connecting to a GoDaddy SQL Server using SSIS and Tableau

I try to apply the principle of Intelligent Laziness to make life as straightforward as possible. It’s hard to find meaning and clarity in a world that guarantees neither, and the Absurd perspective means that I do not stop trying in any case. Please note that I’m not associated with GoDaddy in any way, and I’ll be pleased to hear of any other hosting options that you use; please leave a comment below.

One aspect is to try and get access to the data I need to deliver Business Intelligence projects, as quickly and effectively as possible. As a freelancer, however, there is an additional issue around physical location: mine and the clients. I don’t always work at the client site, and can work from home. In this case, I need access to data in a way that does not necessarily mean that I have access to the client’s network or VPN.

One solution I’ve found is to get client data via a GoDaddy hosted SQL Server databases, and I use SSIS to consume the data directly from there. There are a lot of posts already on connecting to GoDaddy hosted SQL Server databases using .Net and so on, but it’s very easy to connect directly from within SSIS. This post is aimed at showing you how easy it is to do that.

In order to show what we’re aiming towards, here is an example of a very simple dataflow, which retrieves the data from the GoDaddy source, and places it into a text file. If you click on the image, it will take you to a larger version held at my Flickr account.


In order to access the GoDaddy source, then it will be necessary to set up the connection to GoDaddy.  To do this, you will need the following items:

Server details: This will look something like stirrj.db.1234567.hostedresource.com
Username: this will be SQL authentication, not Windows authentication. So, type your SQL authentication username here. In this example, the username is ‘stirrj’
Password: This will be your SQL authentication password.
Database list: Once you’ve put this information in, you should be able to see a list of databases in the drop down list. Here, the example database is called ‘denali’.

To assist you, here is an example of how it looks:


Once you’ve set up the connection manager, you can take a look at retrieving the data as normal.  Here is an example query, which retrieves data against the database hosted at GoDaddy.


You can see your OLE DB Connection Manager name in the drop-down list.  Once you’ve set this up, you can test out that it works, and hopefully you will get some green boxes, as below:


I personally haven’t experienced any issues with the speed of retrieving data.  However, if you want to load this data into a Tableau workbook, you may want to consider a number of ways of optimising the speed of retrieval:

– you could try to connect directly. I haven’t tried this but I imagine you just use the sql server reference details as above
– Using SSIS, you could extract the data from GoDaddy to a local SQL Server environment for development work. I’m integrating data from various sources, so this is working for me. I then use a Tableau data extract (TDE) to hold the data in the Tableau workbook, and simply refresh the TDE extract. This works very nicely, particularly since I can share the Tableau workbook with other Tableau as required.

One important note to make is that the Tableau Desktop edition will not connect to SQL Server, remote or otherwise. If you are a Desktop user, you will need to extract the data to a CSV file, and then import the data from the CSV file.

I hope that helps someone; any questions, just leave a comment and I will come back to you as soon as I can.