|
|
|
|
|
|
Guardian Data Store - free data, and some ideas on how to play with it
I was reading the Guardian (a UK newspaper) online today and saw that they have just launched something called Open Platform, basically a set of tools that allow you to access and build applications on top of their data and content. The thing that really caught my eye was the Data Store, which makes available all of the numeric data they would usually publish in tables and graphs in the paper in Google Spreadsheet format. Being a data guy I find free, interesting data irresistible: I work with data all day long, and building systems to help other people analyse data is what I do for a living, but usually I'm not that interested in analysing the data I work with myself because it's just a company's sales figures or something equally dull. However give me information on the best-selling singles of 2008 or crime stats for example, I start thinking of the fun stuff I could do with it. If you saw Donald Farmer's
fascinating presentation at PASS 2008 where he used data mining to analyse the Titantic passenger list to see if he could work out the rules governing who survived and who didn't, you'll know what I mean. Given that all the data's in Google Spreadsheets anyway, the first thing I thought of doing was using Panorama's free pivot table gadget to analyse the data OLAP-style (incidentally, if you saw it when it first came out and thought it was a bit slow, like I did, take another look - it's got a lot better in the last few months). Using the data I mentioned above on best-selling singles, here's what I did to get the gadget working: - Opened the link to the spreadsheet: http://spreadsheets.google.com/pub?key=phNtm3LmDZEP4i_r7RdVhUg
- Followed the link at the very bottom of the page to edit the page.
- On the new window, clicked File/Create a Copy on the menu to open yet another window, this time with a version of the data that can be edited (the previous window contained only read-only data)
- Right-clicked on column J and selected Insert 1 Right, to create a new column on the right-hand side.
- Added a column header, typed Count in the header row, and then filled the entire column with the value 1 by typing 1 into the first row and then dragging it down. I needed this column to create a new measure for the pivot table.
- Edited the 'Artist(s)' column to be named 'Artist' because apparently Panorama doesn't like brackets
- Selected the whole data set (the range I used was Sheet1!B2:K102) and then went to Insert/Gadget and chose Analytics for Google Spreadsheets. It took me a moment to work out I had to scroll to the top of the sheet to see the Panorama dialog that appeared.
- Clicked Apply and Close, waited a few seconds while the cube was built, ignored the tutorial that started, spent a few minutes learning how to use the tool the hard way having ignored the tutorial, and bingo! I had my pivot table open. Here's a screenshot showing the count of singles broken down by gender and country of origin.
Of course, this isn't the only way you can analyse data in Google spreadsheets. Sisense Prism, which I reviewed here a few months ago, has a free version which can connect to Google spreadsheets and work with limited amounts of data. I still have it installed on my laptop, so I had a go connecting - it was pretty easy so I won't go through the steps, although I didn't work out how to get it to recognise the column headers as column headers and that polluted the data a bit. Here's a screenshot of a dashboard I put together very quickly:
Lastly, having mentioned Donald Farmer's Titanic demo I thought it would be good to do some data mining. The easiest way for me was obviously to use the Microsoft Excel data mining addin: there are two flavours of this: the version (available here) that needs to be able to connect to an instance of Analysis Services, and the version that can connect to an instance of Analysis Services in the cloud (available here; Jamie MacLennan and Brent Ozar's blog entries on this are worth reading, and there's even a limited web-based interface for it too). Here's what I did: - Installed the data mining addin, obviously
- In the copy of the spreadsheet, I clicked File/Export/.xls to export to Excel, then clicked Open
- In Excel, selected the data and on the Home tab on the ribbon clicked the Format as a Table button
- The Table Tools tab having appeared on the ribbon automatically, I then pressed the Analyze Key Influencers button
- In the dialog that appeared, I chose Genre from the dropdown to try to work out which of the other columns influenced the genre of the music
- Clicked I Agree and Do Not Remind Me Again on the Connecting to the Internet dialog
- Added a report comparing Pop to Rock
Here's what I got out: 
From this we can see very clearly that if you're from the UK or under 25 you're much more likely to be producing Pop, Groups are more likely to produce Rock, and various other interesting facts. So, lots of fun certainly (at least for a data geek like me), but everything I've shown here is intended as a serious business tool. It's not hard to imagine that, in a few years time when more and more data is available online through spreadsheets or cloud-based databases, we'll be doing exactly what I've demonstrated here with that boring business data you and I have to deal with in our day jobs. Up Link Partner cwebbbi.spaces.live.com/blog/cns!7B84B0F2C239489A!4375.entry
|
GRAB SOME!
|
Implementing Real Analysis Services DrillDown in a Reporting Services Report
Sean Boon recently blogged about an approach to implement drilldown on charts with Reporting Services when Analysis Services is used as the data source, and it got me thinking about ways to implement drilldown in Reporting Services in general. There are two standard methods used to do this that are widely known about: - The first can be described as "fetch all the data you're ever going to need to display and then hide the stuff that hasn't been drilled down on yet" - this article describes it well, albeit for SQL data sources. It's easy to implement but has has big problem: if the amount of data your report could ever possibly display is massive then the report will be very slow to run, for example if your dataset query returns millions of rows.
- The second is more scalable, in that you have multiple reports for each level of granularity you want to display and when you drill down or drill up you click on a member in the Report and pass it as a parameter to another report. This also works well but has a different problem: you now have multiple copies of what is essentially the same report to maintain and keep in synch. This approach can also only display one level of granularity at a time, and sometimes it's nice to be able to see multiple granularities in the same report.
Wouldn't it be good to have drilldown capabilities in Reporting Services just like you have in any other Analysis Services client? That's to say, you'd see a list of members on rows in your report, you'd click on one and then see all its children, then click again and its children would disappear? Well, it is possible and it's a problem I've tackled numerous times myself. The last time was when I was writing the samples
for Intelligencia Query, but I've just come up with an even better approach which I thought I'd blog about. I've implemented it for the standard Analysis Services data source although I'll be honest it took me a few goes to get it to work properly (there would have been much fewer hacky workarounds if I'd been using Intelligencia Query
!) and I'm not sure it's 100% robust; hopefully someone will find this useful though. What I've done is basically a variation on the second approach above, but instead of using multiple reports I've created a single report which calls itself when you drill down on a member. The really tricky part is how you manage the set of members you've drilled up and down on, and this is where I'd struggled in the past - the solution I've got here uses a hidden parameter to manage that set, which is then passed to the main dataset and used with the DrillDownMember function. Here are the steps to get it working: - Create a new Reporting Services report with a data source pointing to Adventure Works.
- Create three new report parameters in this order:
- MemberClicked - tick "Allow Blank Values" and set the default value to [Customer].[Customer Geography].[All Customers]. This parameter will hold the unique name of the member the user clicked on to drill down.
- PreviousDrillDowns - again tick "Allow Blank Values" and set the default value to [Customer].[Customer Geography].[All Customers], and tick "Allow Multiple Values". This parameter will hold the list of members the user drilled down on before the last drill down.
- DrillDowns - again tick "Allow Blank Values" and tick "Allow Multiple Values". This parameter will hold the complete list of members drilled down on for the current report.
- Create a new Dataset in the report called DrillDowns. Use the following MDX for the query:
WITH MEMBER MEASURES.CUSTUNAME AS [Customer].[Customer Geography].CURRENTMEMBER.UNIQUENAME SET DRILLDOWNS AS UNION({[Customer].[Customer Geography].[All Customers]}, IIF( //CLICKED MEMBER HAS NO CHILDREN, SO IGNORE IT ISLEAF(STRTOMEMBER(@MemberClicked)), STRTOSET(@PreviousDrillDowns), IIF( COUNT(INTERSECT( STRTOSET(@PreviousDrillDowns),STRTOSET(@MemberClicked) ))=0, //DRILL DOWN UNION(STRTOSET(@PreviousDrillDowns),STRTOSET(@MemberClicked)), //DRILL UP EXCEPT(STRTOSET(@PreviousDrillDowns),STRTOSET(@MemberClicked)))) ) SELECT {MEASURES.CUSTUNAME} ON 0, DRILLDOWNS ON 1 FROM [Adventure Works] What this does is take the set of previously drilled down members, and if the member we've just drilled down on is not in there return the set of all previously drilled down members plus the new member (for drilling down); if it is present, return the set of all previously drilled down members except the new member (for drilling up). If the member we've clicked on is a leaf member, we can ignore the click and just return the set of all previously drilled down members.
You'll need to hook up the two parameters @PreviousDrillDowns and @MemberClicked to the report parameters you've previously declared. To do this, first of all in the query designer declare the parameters but just fill in the names and a default, such as [Customer].[Customer Geography].[All Customers] (see here, towards the end, for more detailed steps). Then exit the query designer but stay in the Dataset Properties dialog and create two dataset parameters with the names PreviousDrillDowns and MemberClicked and hook them up to the appropriate report parameters. - Go to the report parameter called DrillDowns and set the default value to be the CUSTUNAME field from the dataset you've just created.
- Create a second dataset called DisplayQuery with the following MDX:
WITH MEMBER MEASURES.CUSTNAME AS Space([Customer].[Customer Geography].CURRENTMEMBER.LEVEL.ORDINAL) + [Customer].[Customer Geography].CURRENTMEMBER.NAME MEMBER MEASURES.CUSTUNAME AS [Customer].[Customer Geography].CURRENTMEMBER.UNIQUENAME SELECT {MEASURES.CUSTNAME, MEASURES.CUSTUNAME, [Measures].[Internet Sales Amount] } ON COLUMNS, DRILLDOWNMEMBER({[Customer].[Customer Geography].[All Customers]}, StrToSet(@DrillDowns, CONSTRAINED), RECURSIVE) DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS FROM [Adventure Works]
This query simply displays the measure Internet Sales Amount on columns, and on rows uses the DrillDownMember function to drilldown on the All Member on Customer Geography plus any other visible members that are present in the set returned from the DrillDowns parameter.
Once again you'll have to hook up the @DrillDowns parameter to the DrillDowns report parameter. - Now, in the report, create a table and bind it to the DisplayQuery dataset. Only use the CUSTNAME field to display the members for the Customer Geography hierarchy on rows - this means you have a single field that can contain members from all levels of the hierarchy.
- Finally, open the Textbox Properties dialog for the cell bound to the CUSTNAME field and set up an Action to jump to the report we're currently building. We also need to pass two parameters: one that sends the value of the CUSTUNAME field (note this is the unique name of the member clicked on, not the CUSTNAME field which is just the member name) to the MemberClicked parameter, and one that send the value of the DrillDowns parameter to the PreviousDrillDowns parameter. It's not actually obvious how to pass the values of a multi-value parameter through an Action, but I found the answer here; the expression you'll need to use for this report is:
=Split(Join(Parameters!DrillDowns.Value, ","),",") Here's what you'd expect to see when you first run the report:  
Click on Australia and then South Australia and you get this:
Click on Australia again and you'd go back to what's shown in the first screenshot. I realise these steps are pretty complex, so I've created a sample report in SSRS2008 format and uploaded it to my SkyDrive here: I dream of the day when SSRS will do all this stuff for me automatically... Up Link Partner cwebbbi.spaces.live.com/blog/cns!7B84B0F2C239489A!4194.entry
|
GRAB SOME!
|
Songsmith and Data Audiolization for BI
Data audiolization is clearly a real subject that someone, somewhere is researching... and after the fad for data visualisation, why shouldn't we be thinking about how to represent data with sound? Anyway, I'll cut to the chase. This video has been doing the rounds on Facebook, it made me laugh and if I didn't have a hundred better things to be doing I'd be downloading a copy of Microsoft Songsmith right now and working out how to hook it up to Analysis Services: http://www.youtube.com/watch?v=2-BZfFakpzc
style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px">
Adventure Works the musical, anyone? Up Link Partner cwebbbi.spaces.live.com/blog/cns!7B84B0F2C239489A!4175.entry
|
GRAB SOME!
|
Weekly Chatter: Airborne Wifi and “Nobody’s Happy”
Sanjiva’s post reminded me how amazing our current technology is. I’m sure he’d appreciate this great clip
of Louis CK on Conan. My iPhone 3G (Google Maps & Pandora while speeding down the freeway?!) is a source of ongoing amazement to me. Up Link Partner auburnmarshes.spaces.live.com/blog/cns!F985A6952BC07C4!1298.entry
|
In depth look at the Windows 7 Taskbar and Start Menu
Two critical elements that have been revamped for the better are the Taskbar and Start Menu. Some persons I have had conversations with about Windows 7 think it’s a minor release and it’s just Windows Vista reloaded. Yes, it is built on Vista and that’s a very good thing, which means, your investments in that version of Windows will be brought forward in areas of application and device driver compatibility. Apart from that, what new user experiences does Windows 7 introduce? What about the learning curve? Office 2007, Microsoft’s desktop productivity suite revamped the user interface in applications such as Word and Excel, there was a small learning curve, but there were huge benefits because of what the new Office Fluent UI did for the Standard and Formatting toolbars by exposing more features that some end users didn’t even know exist in the suite. Windows 7 is pretty much based on some of those principles, exposing more benefits in the Windows interface.
The improved Taskbar and Start menu
Taskbar
What is the Taskbar? First introduced in Windows 95 as a replacement for Program Manager that was a part of previous Windows releases, it houses your running applications as buttons that you can use to switch between windows on screen. Releases of Windows over the years have added new features and functionality such as the ‘Quick Launch’ desk band in Windows 98, ‘Taskbar Grouping’ in Windows XP and ‘Taskbar Thumbnail previews’ in Windows Vista. Windows 7 combines all those innovations and made them even better. When you load the Windows 7 Desktop for the first time, everything might seem familiar except for the Taskbar which has grown a few inches in size. Shortcuts for applications such as Internet Explorer and the User Folder might look like enlarged Quick Launch icons; well it’s a combination of both. By default, application shortcuts, running applications and non-running applications are not labelled. In previous versions of Windows, a running program would display an icon along with the name of the button on the Taskbar. The Windows Team have changed this based on the probability of users experience identifying programs by clear pictorial representations, the Internet Explorer ‘e’ for web browser, a blue ‘w’ for Microsoft Word, the stacked CD icon with the play identifier for Windows Media Player.
Taskbar with interactive Thumbnail Previews

Improved ways of controlling Notification Behaviour
Of course, if you don’t recognize a program shortcut on your Taskbar, you can hover over its icon which displays a floating balloon describing its purpose. One of the immediate benefits I discovered using the improved Taskbar with applications is a feature called Jump List. What it does is combine the ‘Recent Items’ menu from past versions of Windows and allows each application to have an individual Recent Items menu or Task list right click contextual menu with common activities that you might often associate with the program. Not all applications currently support the new feature, but I have discovered a handful that take advantage of it immediately, such as Microsoft Word, Adobe Photoshop, Windows Media Player, Windows Live Messenger, Live Writer, Windows Programs such as WordPad, Paint and Notepad to name a few. Not all programs will reveal radical features in Jump List, as programs are updated, third party developers I am sure will add functionality to programs to harness the benefits of Jump List.
Preview your windows without distractions (left), get a glance at your desktop and Gadgets (right)
Right now, users will mostly see ‘Recent files’ for some applications or your browser History for Internet Explorer, you will discover unique functionality in programs such as Windows Media Player which displays a list of Frequent activity such as your recently played media, search queries, artiste played and Task for playing your library of music in shuffle mode. Windows Live Messenger which is available as a part of Windows Live Essentials includes Task such as changing your status, signing in/out, going to your home page, viewing your Windows Live Profile or check your email. Jump List on the Taskbar is not only restricted to applications, Folders also support it too; users can appreciate seeing a list of the most frequently accessed folders within a directory. If you want to add your favourite application, you can do so by clicking Start, right click a program from the recent programs list or all programs and click the ‘Pin to Taskbar’ link.
Color Hot tracking
Appearances – Thumbnail Previews
The Taskbar for some persons might seem radical at first, but I have adjusted to it just fine, beyond Jump List, you will discover some cool effects and features when working with your applications. Thumbnail previews have become interactive. Internet Explorer for example which supports tabbed based browsing benefits from it immediately by displaying previews when you hover over its button on the Taskbar without the need to activate the window. You will be able to see a thumbnail preview of all open tab windows along with the ability see a full size preview when you hover the mouse pointer over each thumbnail. It’s a beautiful effect that saves time and makes working in Windows much faster. Applications and folders that are consolidated into groups automatically compose a group of thumbnails. Windows Media Player 12 Thumbnail supports unique functionality such as Previous, Pause and Next when playing an album. In addition to Thumbnail Previews, users can benefit from another significant productivity effect; the enhanced ‘Show Desktop’ button called ‘Desktop Preview’ allows you to get a glance at your Desktop or Gadgets by simply hovering the mouse pointer in the right hand corner of the screen. Your windows will immediately become transparent frames revealing the contents of the desktop. Another key feature is the progress bar which has been integrated into folder activities. For instance, when you are copying files from folder to folder or a network location or downloading a program in Internet Explorer, a progress indicator is displayed on the Taskbar button for that activity.
Various Jump List Activities by supported applications.
New Capabilities and Settings
Notification Area or System Tray features new options, in addition to showing full time and date, users can gain more real estate by controlling notification icon behaviours. A ‘Show hidden icons’ button reveals a floating balloon with a small gallery of icons and option for customizing the behaviour. This leads to a new Notification Area Icons Control Panel item. What I like in particular about this new setting is the clear organization of your notifications and ease of controlling the behaviours, from here you can choose to hide or show an icon at all times or show just the notification. To further clarify things, a link to a separate area available just for Windows 7 System Icons such as Clock, Volume, Network, Power and the new Action Center allows you to turn these settings on or off. If you mess something up or get confused, you can simply click the Restore default icon behaviours. The new ‘Eject’ device contextual is more informative too, displaying the name of the device instead of just the drive letter. Safely ejecting a device can be done more confidently too, in prior versions of Windows, you always closed all open programs and windows launched from a USB device before ejecting yet Windows kept insisting that you need to close all activities before removing the device. Now you can ignore that and force a device close and eject without any concern.
Default appearance – Always Combine, hide Labels
Combine when Taskbar is full
Never combine
 Never combine with small icons
One of the most requested functionality for the Taskbar over the years has been the ability rearrange your Taskbar buttons just the way you want. Sometimes we have programs setup up a certain way and would like to set a priority over which is closest to the Start button, now you can with a simple drag and drop action rearrange shortcuts and running applications on the fly. The Taskbar adapts the most predominate RGB value of an icon, making each program use a distinguishing colour effect when hovered over. Taskbar Properties appearance includes options for controlling how and where it is displayed on screen. For novices, you can have your Taskbar positioned on the right, top or left of the screen power users can still use the familiar dragging capabilities that you have known since prior releases. Taskbar button behaviour can also be controlled here too, the default layout in Windows 7 is ‘Always combine, hide labels’, in addition to this, there is a more classic look called ‘Combine when taskbar is full’ which simply enables labels with the large pictorial representations. If you want an even more classical yet familiar Vista style layout the third option ‘Never Combine’ along with ‘Use Small icons’ restores this behaviour.
Improved Start menu supports Jump List, along with new Power Option Settings
Start Menu The Start menu has been through a few changes throughout the years, also introduced for the first time in Windows 95, the most radical update since was Windows XP which featured a two pane menu with links to recent applications along with common locations such as My Documents, Music, Pictures and default applications for common programs such as Web Browsing and Email and the ability to set default programs for common activities such as Email, Music and Web browsing. Windows Vista introduced additional functionality such as built in Search, a Connect to link for all your network connections and a simplified Power Options area. A major departure in Vista was the cascading Programs menu which was replaced by a hierarchical listing of programs and application groups. Windows 7’s Start menu is more about refining these features. The Start menu integrates Jump List functionality similar to the Taskbar.
Detailed Search Results Windows 7 Start menu (above), comparison in Windows Vista (below) click to enlarge
 
Search is more detailed displaying more categorized results with total listings within each category. New Categories include Documents, Music, Control Panel Items, Pictures and Videos. Appearances have also changed, instead of utilizing just the recently used application pane for search results; the entire pane is utilized for results. An even more simplified Power Options allows users to set the default setting whether you want it to be Shutdown, Hibernate or Sleep, you can still choose another option from a pop out menu. Searching from the Start menu features a new option; you can search for Task Pane links along with the ability to use natural language queries. New Search areas include Public Folder along with the option to display links and menus for Recorded TV and Videos. Old links that have been turned off include ‘Recent Items’ which makes sense since applications carry their own recent activities and the ‘Connect To’ link now replaced by the more convenient Network notification icon which reveals available wireless Networks, Dial up and VPN connections.
So this was a look at using the new Taskbar and Start menu and realizing its new benefits. It’s radical for the better. It makes application switching less of a puzzle while also enhancing the general user experience of working with your programs in a more convenient way. The Taskbar has come a long way since its days of ‘it works just like switching channels’. Users expect a rich experience and the compelling aesthetics such as interactive thumbnail previews and enhanced search functionality provide a cohesive application experience for end users.
Previously:
A Look at Windows Backup and Windows Update in 7 Playing with Windows Media Player 12
Technorati Tags: Windows 7, Taskbar, Start Menu, Superbar, Task Switching, Windows, Desktop Preview, Instant Search, Search, Jump List, Icon Pining, Operating System, Notification Area, Power Options Up Link Partner adacosta.spaces.live.com/blog/cns!E8E5CC039D51E3DB!21830.entry
|
|
|
|
|
|
|