Slides are linked here.
Topic was “late-breaking news from the MS BI Conference”
Slides are linked here.
Topic was “late-breaking news from the MS BI Conference”
Well, the grandiose plan was to blog each session as they happened, but between keeping my existing clients happy and keeping up with all the events of TechEd/MSBIC, that did not happen.
I was really on the fence about attending the Microsoft Business Intelligence Conference, based in part on existing client demand, but largely on the fact that there have been conferences that I attended where I didn’t learn very much and felt it was a waste of time. This generally was due to the fact that I had been using a particular product in beta as part of a TAP program or was somehow pretty plugged in to the goings-on, and the conference didn’t raise the bar very much. I definitely did NOT feel that way about the recent MS BI Conference in New Orleans; I was very glad I chose to attend.
Here’s a chronological recap of my experiences, kept as brief as possible. If available, I’ll include links to the presentations I attended.
06 June 2010 – 23:30 – Touch down at MSY airport
07 June 2010 – 01:00 – Arrive at Hotel, which turned out to be nowhere near any of the events. Expedia told me 2.5 blocks. Turned out to be a mile away. It was a really nice converted mid-1800’s house. Quiet, with a good bed.
07 June 2010 – 07:45 – Registration. Went smoothly. Glad the lines for BI were shorter than for TechEd.
07 June 2010 – 8:30 – coffee at the excellent LaDivina Gelateria stand in the convention center. I could not believe people were passing this place up to wait in line at Starbucks. This became a morning ritual.
07 June 2010 – 9:00 – Keynote, which I blogged already here. Short assessment: A reasonably effective, but uninspired (and uninspiring) keynote. All head and no heart. I did find myself engaged by the section in which Ariel Netz demoed the BI technologies. I was especially pleased by the use of the term “wickedly fast” to describe PowerPivot.
07 June 2010 – 11:00 – There were no sessions for BI folks to attend, even though there were for other tracks. Upon review of the schedule, there were some “foundational” sessions, but these were not publicized or communicated very clearly.
07 June 2010 – 12:00 – Lunch.
07 June 2010 – 1:00 – 2:15 – Attempting to attend the Interactive Session “BIE04-INT Building Custom Extensions the the PowerPivot Management Dashboard” with Dave Wickert. Here’s where the trouble started:
I was told the session was full. The red-shirted people wranglers were not letting anyone in. OK, I could understand how this might be a popular session. OK, I’ll just go to my 2nd choice:
“BIO101 – Business Intelligence Overview: Decisions, Decisions, Decisions”. I was told this session was full, too. The red-shirted people wranglers were not letting anyone in. OK, I could understand how this might be a popular session. OK, I’ll just go to my 3nd choice:
“BIE201 – Configuring PerformancePoint Services in Microsoft SharePoint Server 2010”. I was told this session was full, too. The red-shirted people wranglers were not letting anyone in. OK, I could understand how this might be a popular session. OK, I’ll just go to my 4th choice:
“BIU202 – Business User Productivity via Report Part Galleries in SQL Server Reporting Services”. I was told this session was full, too. The red-shirted people wranglers were not letting anyone in. OK, I could understand how this might be a popular session. OK, I’ll just go to my 5th choice”
“BIP03-INT – Creating an EPM Environment Using Microsoft SQL Server 2008 R2 and SharePoint 2010″. I was told this session was full, too. The red-shirted people wranglers were not letting anyone in. OK, I could understand how this might be a popular session. OK, I’ll just go to my 6th choice”
“BIC205 – How Partners Healthcare, a Worldwide Leader in Radiology Medicine, Uses Microsoft BI to Improve Patient Quality”. I was told this session was full, too. The red-shirted people wranglers were not letting anyone in.
So, here I am, after planes, trains, and automobiles, a several thousand dollar outlay, standing in the hallway of the New Orleans Morial Convention Center, not learning about Business Intelligence. Clearly not acceptable. The capacity planning for the BI sessions was clearly not effective. While the event planners did take some measures to address the issue, this remained an issue throughout the rest of the conference.
In the end, I was able to get in to the last 25 minutes of Dave Wickert’s presentation, in which he demonstrated extending the PowerPivot Management dashboards, using PowerPivot. The business case was to add a priority category to data sources. So in effect, he demoed using PowerPivot to manage PowerPivot. Very cool. He predicted that there would be a community-created set of extensions as we have seen with various artifacts on CodePlex like the Slowly Changing Dimension component or the SSRS Management reporting.
07 June 2010 – 2:45 – 4:00 “BIE203 – Introducing Microsoft SQL Server 2008 R2 Master Data Services” The product seemed like it’s not ready for prime time, and the presenter seemed like he was not ready for the session. I walked out.
07 June 2010 – 4:30 – 5:45 – “BIP301 – So Many BI Tools, So Little Time” This session was awesome. Dan Bulos laided out all the different options for implementation available with the MS BI toolset. It was clear from his presentation that Dan had deep experience and had given a lot of thought to what works well where. Definitely in my Top 5 sessions of MSBIC. I definitely recommend watching the video; session linked here:
07 June 2010 – 5:45 – 9:00 Partner Expo – I enjoyed browsing the booths, and have been to enough of these that I don’t play the “gimme swag” game very much. It seems like the mood was upbeat and commerce, or at least the potential for commerce, was in full swing.
07 June 2010 – 9:00 – ?? Take care of emails, take care of the “day job”, then collapse. No night-time socializing today – the late-night flight & arrival took its toll.
Recollection of BI Conference 2008 – the fairy tale.
Managed self-service business intelligence.
20% have BI.
There are many things that end users should be able to solve on their own. e.g. Add some data to a report.
BI practitioners can then focus on strategic development and implementations.
Scenario #1: HR Professional, doing salary analysis, a mixture of internal data and data from the wild. IT is too busy, so it’s built in Excel.
Solution: PowerPivot, powerful in-memory columnar database. Can also render in SharePoint without additional download. Sharepoint is both point of collaboration and management
Scenario #2: Self-service reporting
Solution: Report Builder 3.0, Grab and go Reporting – component library.
Q: “Hey Microsoft, how do I get BI?” A: Office, SharePoint, & SQL Server. This should turn bi into Utility, like electricity.
“PowerPivot extends Excel with an in-memory database add-in”
DAX – similar to Excel expression language
Now showing SharePoint workflow
Now showing the management workbooks that track system usage activity. Example, a report that has grown in frequency can be moved into DW.
Case study – Healthcare Harvard University’s Teaching Hospital – 4 hospitals
PowerPivot removes the lines between users and IT
Medical data needs to be protected. Used SQL2008 audit feature
44 million rows in excel
“Dashboard” built in about 6 hours. Also uses mapping. Uses power pivot data as a source. Uses mapping control and report builder 3.0
Analysis: readmission – find out who should was released too early. 2 days manual work, new Powerpivot report takes about 4 hours, 30 gig compresses down to 5 Meg
Kummert: manual process convert to efficient automation
Entry 1-employee morale Dan coming ore
Entry 3-personality characteristics
Entry 4-(joke) applause by
A look into the future
“not announcing features or schedule”
The cloud (say it: cloud, cloud, cloud)
Where are you headed in terms of providing BI in the cloud?
Intent is to offer all the capabilities of SQL in the cloud, including reporting.
Commoditization of IT into the cloud. Search, social media.
Compliance- data quality. Problem: what is the key reference data
Data cleansing- machine learning
Lineage, impact analysis. Requires thinking deeply about a metadata strategy
Increasing data volumes. More transactions, more detail from those transactions
Parallel data warehouses coming soon
Working with hardware vendors on reference implementations
Codename Dallas. Reference content.
Alpha code demo:
How were unifying the models
New data visualization & powerpivot
EPG Waterfall analysis – redacted data
KPI’s in PowerPivot. They’ve been in the engine, but not exposed via UI
@amirnetz just demoed PowerPivot based KPI’s at #msbic keynote. They look slick, better than performancepoint
Way cool! PowerPivot Calculation impact analysis tracing diagram demoed by @amirnetz at #msbic http://tweetphoto.com/26228397
2 Billion rows in Excel. sub-second response.
Wow. Awesome keynote. More later…
Recording is now available
I am keeping these brief on purpose – just my impressions in 5 sentences or less (I hope).
Apparently there is this thing called the cloud . . . Say it: Cloud, cloud, cloud, cloud. In the cloud, magic elves create software that works automagically. Oooo … Cloud, cloud, cloud, cloud.
Seriously though, this is a big emphasis for MS. My sense is that both the technology and implementations are early and still somewhat immature.
The Chicago Tribune case study piqued my interest (coming from Chicago), but didn’t provide huge details.
Demo of an automated testing app that pinpoints error, captures screenshots, and allows you to step backwards. Cool demo. I wonder what softwares need to be in place for this to work,
It’s hard to demo virtualization, since it’s all, well, virtual.
The main concept I came away with is the idea of saving state, provisioning updates and dropping the preserved application state on top of the patched virtual OS.
Danger phrase during this demo: “It’s just a check-box”
Translation of key phrase: “Available for download” ≠ “released”
720 videoconferencing using commodity hardware
Cool demo, but demo gremlins messed up the effect. The background floor plan took forever to load, so the collaborative white-boarding took place on an empty white rectangle.
Way too many animations in Windows Phone 7 OS.
Cool auto-suggest feature
Sync w/ Sharepoint demo was cool.
Windows intune – New security suite? Mentioned, not demoed
(I think that’s what Mr. Muglia said, but the demo really didn’t have anything to do with the cloud)
Great demo by Amir Netz, who called PowerPivot’s sorting 100 Million rows “wickedly fast”
Code name Dallas
Odata format to integrate data from the cloud (ahh, there’s where cloud come in. Say it: cloud, cloud, cloud)
Demo of uploading to SharePoint
Demo of reporting on this with SSRS
PivotViewer – very cool demo of stop-light color-coded thumbnails in a silverlight based power-pivot like display.
Also demoed Mapping linked with geo-tagged photos
Gaia asset tracking application – Used SQL, tracked production assets.
Cloud creates opportunities and responsibilities
Edit: Link to the actual keynote is here
I just needed a temporary solution to hold my iPad at my desk. It’s worked out pretty well. Thought I’d post the tip:
It’s an Office Depot Plate Holder, Clear Item # 544474
In that spirit, yesterday I blew away v1 of my website and started up this version. This will remain a work in progress for a while, since other client commitments will have me quite busy through June.
Anyone using WordPress who has themes or plugins that they love, please leave a comment.
I am seeing more call for Time Dimensions. By that I mean Time-of-Day Dimensions. So now I have to retrain myself to call Date Dimensions “Date” and Time Dimensions “Time”.
As a follow up to this post, here’s some DDL and a quick routine to generate a time of day table. The resolution is to the second, which so far has proved sufficient for my clients’ purposes.
SET nocount ON
CREATE TABLE [dbo].[dim_Time](
[TimeId] [int] NOT NULL,
[Time] [time](7) NULL,
[Hours] [tinyint] NULL,
[Minutes] [tinyint] NULL,
[Seconds] [tinyint] NULL,
CONSTRAINT [PK_dim_Time] PRIMARY KEY CLUSTERED
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
TRUNCATE TABLE [dbo].[dim_Time]
SELECT * FROM dbo.dim_time
DECLARE @second1 INT = 0
DECLARE @currtime TIME
DECLARE @msg VARCHAR(30) = ”
WHILE @second1 < 86400
SELECT @second1 = @second1 + 1
SELECT @currtime = Dateadd(ss, @second1, ’00:00.00′)
–DatePart(hh, @currtime) * 10000 +
–DatePart(mi, @currtime) * 100 +
–DatePart(ss, @currtime) AS TimeID
–, @currtime AS [Time]
–, DatePart(hh, @currtime) AS [Hours]
–, DatePart(mi, @currtime) AS [Minutes]
–, DatePart(ss, @currtime) AS [Seconds]
Datepart(hh, @currtime) * 10000 +
Datepart(mi, @currtime) * 100 +
Datepart(ss, @currtime) )
IF @second1 % 1000 = 0
SELECT @msg = ‘Now Processing ‘ + CAST(@second1 AS VARCHAR(12))
Whenever I do something really stupid, rather than keep it to myself, I prefer to blog about it for the entire world to see. Even better – I came up with a debugging technique to save myself from my own, er, stupidity.
The scenario is this: I am developing some SQL Server Analysis Services Date Calculations in MDX for a client. They have three different Date Hierarchies, and wanted the standard, Previous Period, Period to Date, etc calculations. (For a very good explanation of the techniques involved, read this PDF first, then study this refinement from Mosha Pasumansky. )
The MDX looks like this:
([Calendar].[Calendar].[Date]) = ([Calculation].[Current Period], ParallelPeriod([Calendar].[Calendar].[Calendar Year],1));
([Calendar].[Week].[Calendar Week].MEMBERS) = ([Calculation].[Current Period], [Calendar].[Week].Lag(52));
([Calendar].[Calendar].[Calendar Month].MEMBERS) = ([Calculation].[Current Period], [Calendar].[Calendar Month].Lag(12));
([Calendar].[Calendar].[Calendar Quarter].MEMBERS) = ([Calculation].[Current Period], [Calendar].[Calendar Quarter].Lag(4));
([Calendar].[Calendar].[Calendar Year].MEMBERS) = ([Calculation].[Current Period], [Calendar].[Calendar Year].Lag(1));
([Calendar].[NRF].[NRF Week].MEMBERS) = ([Calculation].[Current Period], ParallelPeriod([Calendar].[NRF].[NRF Week],1));
([Calendar].[NRF].[NRF Period].MEMBERS) = ([Calculation].[Current Period], [Calendar].[NRF Period].Lag(13));
([Calendar].[NRF].[NRF Quarter].MEMBERS) = ([Calculation].[Current Period], [Calendar].[NRF Quarter].Lag(5));
([Calendar].[NRF].[NRF Year].MEMBERS) = ([Calculation].[Current Period], ParallelPeriod([Calendar].[NRF].[NRF Year],1));