What Have I Been Up To?

Last week I was at the PASS Summit in Charlotte, North Carolina.  It was my second time attending the summit and also my second time speaking at the summit.  I think they said that this was something like the 15th year for the summit.  There is nothing like getting together with a couple thousand other professionals who have professional and/or personal interests in the same things you do. It is an opportunity to talk with collegues that you may only communicate with through email or twitter throughout the rest of the year.  It is also a chance to reconnect with existing friends and to make new friends who share the same interests as you.

This year, the number of sessions dedicated to business intelligence and the Microsoft BI stack has grown.  Part of that is that the BI stack itself has expanded with everything from the tabular model in SSAS to augment the multidimensional model to Data Quality Services (DQS), Master Data Services (MDS), Power Pivot, Power View, Power Map, Power Query and Power Q&A.  (If you would like to try some of the latest members of the BI stack, go to: http://office.microsoft.com/en-us/excel/power-bi-FX104080667.aspx ).  Of course, PASS also supports a separate BI conference that is scheduled for the spring.  However, the interest in business intelligence was especially interesting to me because of my personal interest in the entire stack of tools since the introduction of PowerPivot several years ago.

Personally, I’m looking forward to one more SQL Saturday this year, the Tampa SQL Saturday, BI Edition (http://www.sqlsaturday.com/248/eventhome.aspx ) which happens on November 9th.  I will also be speaking there so if any of you have an interest in BI topics, come out to Tampa in a little over 2 weeks and say, ‘Hi!’.  The BI edition of SQL Saturday was founded in Tampa several years ago by Jose Chinchilla and I’m glad to have been a part of each subsequent annual event.

Other events that are coming up are the monthly meetings of both Orlando SQL groups.  The south group, MagicPASS (http://magicpass.sqlpass.org/ although I don’t think the web site has been updated), will be meeting in Celebration, FL on Wednesday, October 23rd and the north group, OrlandoPASS (http://orlando.sqlpass.org/ ), will be meeting in Sanford, FL on Thursday, October 24th.  If you are more into SharePoint, there is a meeting of the Tampa SharePoint group on Tuesday, October 22nd at 6:00 PM to 8:30 PM at the Microsoft Office, Tampa (https://www.eventbrite.com/event/8853808981/).  It is a busy week as you can see.

The other news that you may have already heard is that the CTP2 of SQL Server 2014 was released last week during the PASS Summit.  I have not looked into 2014 yet so I don’t have a recommendation one way or the other.  However, if you have processes that would benefit from improved performance, the new Hekaton engine in SQL 2014 may be able to provide some performance improvement with very little effort (read that as no program changes).  During the Summit, the Thursday keynote was presented by David DeWitt who tried to explain the technology behind how Hekaton achieves its performance gains.  Most people left the keynote with their heads hurting trying to understand the magic behind the technology.  However, it seems like the magic might be summarized by the combination of the elimination of latches and locks thus reducing the amount of contention when accessing data along with efficiencies with the new column store method allowing more data to be read into memory reducing disk access for many operations.  Of course that may be too simple and probably incomplete.  Afterall, my head started to hurt as well.

Well, that’s it for this week.  I guess it was more of a summary of what I’ve been up to and why I did not have much time to post any blogs for the last two weeks.  I’m sure my text here does not even begin to do justice to the excitement of the summit,  so perhaps it would be better if I just left you to go out to the summit site and watch some of the interviews and keynote talks here: http://www.sqlpass.org/summit/2013/PASStv.aspx.

C’ya next time.

MDS: The New DQS? Not Really!

First, you need to know that the MDS I’m talking about here is Master Data Services introduced in SQL Server 2008 R2. I’ve already talked about Data Quality Services (DQS) which I believe was only introduced in SQL Server 2012.  So the natural question is what is MDS and why do I need it together with the newer DQS or is DQS just a replacement for MDS and can we forget about learning MDS now that we have DQS?


Previously I talked about DQS and showed how you can use it to create individual knowledgebase domains that can then be used to clean data.  The application of DQS on a regular based to clean data going into a production database should improve your overall efficiency compared to manually cleaning the same data.  This is because DQS remember the correction you made previously.  You can also define rules for ‘fixing’ individual domains.  Efficiency improves over time because the knowledge base understands how to handle an increasing number of problems without requiring manual intervention.  However, at the same time, users have to be realistic.  There will probably never come a time when absolute all the possible data issues have been addressed allowing for fully automatic data cleansing.


You could think of DQS as the detergent that helps you clean bad data from a data source getting rid of invalid and misspelled data.  It can also help you reduce duplicate records within that individual data source.  It can even output a data file of cleansed information with duplicate records removed or at least marked. However DQS provides no assistance in merging the clean output data file with another data source.  The ability to combine a freshly cleaned data source with a master data file is what Master Data Services can provide.  To some extent, both products have the ability to cleanse and match data from an input data source.  However, the rules in DQS are domain (column) centric while the rules in MDS are typically more record centric.   Also MDS as the name implies helps you import data from new sources into a common master table.  Another way of saying this is that MDS might be the gatekeeping of your enterprise data system that controls what data can or cannot be added to your data warehouse. 


Because both DQS and MDS provide the ability to define cleansing rules, users may jump to the conclusion that these two products are mutually exclusive.  However, the purpose of the cleansing rules between these two products needs to be clarified.  The purpose of the cleansing rules in DQS is primarily to correct and validate values added to each domain.  DQS rules can determine which values are allowed or not allo0wed in the domain.  These rules are not record based, but column based.


On the other hand, the business rules created in MDS primarily exist to prevent invalid records from being added to a master data table.   In other words, it keeps new records from entering or updating the master set of records which may sit in your enterprise data warehouse. 


Based on this description, you should see that DQS and MDS are clearly different products.  Furthermore, you may not always need to use both of them.  If your purpose is merely to clean bad data from a data entry system and possibly remove duplicate records, you may be perfectly satisfied with using only DQS.  Similarly, if your task is to merge clean data from multiple data sources such as sales data from different countries, you may be more interested in the abilities of MDS to combine records based on business rules that prevent record duplication while allowing data to be merged.  Of course if the data sources that you want to merge have not first been cleaned, you may need to first run them through a DQS project with a corresponding knowledgebase to ‘fix’ any domain issues such as different product codes for the same product in different countries or perhaps even differences in the way customer address information is recorded.


In future weeks, I will take you an exploration of MDS in between some other technical topics that I want to cover.  Before I end today, I want to remind all my readers of two events coming up very soon where I can meet you.

The first is the SQL Saturday Orlando event coming up on September 14th.  SQL Saturday events started right here in Orlando back in November 2007 by Andy Warren.  I’ve been fortunate to have been a speaker at every Orlando event.  This year I will be presenting an introduction to DQS that I call, ‘Putting Quality Back Into Your Data’. 


The second big event coming up is the 2013 PASS Summit that this year is being held in Charlotte, North Carolina during the week of October 15-18.  This will be my second year speaking at the PASS Summit.  If you have never been to a PASS Summit, you are missing the opportunity to meet, talk with and listen to presentations from SQL professionals from around the world.  I feel very honored to be able to give two presentations this year, one on DQS and the other on using SSAS’s Tabular Model to build Cubes that you can manipulate as Excel PowerPivot models.

If you have the opportunity to get to either of these events, please stop by to say Hello.  I would love to meet you all.


C’ya next time.


Wisdom, Not Brilliance, Will Make a Difference

Ok, it has been a tough week for me, but I need to get back into things.  I recently was catching up on listening to some of my older webcasts.  One in particular from back in early 2009 caught my ear and I thought I would share some of the insights I got with you.  The specific webcast was part of the TED Talks series and was presented by Barry Schwartz.  It was a very passionate presentation because Barry really believes in the  importance of his topic.  However, I know people who would call him angry and mad, unable to control his emotions, and danger to have around ‘real’ people.  Unfortunately, these people don’t understand the difference between passion and anger.  That is too bad, because passion is often what drives progress.  Well, let’s see what Barry says.

Barry began by talking about the typical job description.  Most jobs simply list the things that the individual should or sometimes should not do.  They rarely if ever go into interpreting the way the person in that job should interact with others.  Oh sure there are simple comments like the employee should work well with others, but what does ‘work well with others’ really mean?  Does it mean that the employee should simply follow the rules given to them by their boss and walk lock-step like an android with never any additional thought about why the rules are there or whether there should ever be a reason to disobey a rule.

Barry tells several stories such as the janitor who stopped mopping a floor at a hospital even though he was told to get it done now because he saw a patient trying to walk up and down the hall with a walker after an operation.  Another hospital employee refused to vacuum the carpet in the waiting room because there were some people in the waiting room who had been up all night with a sick relative and were trying to catch a little nap before going back into their family member’s room.  While these were hospital related examples, I remembered them because I related to how nurses would come into a darkened room in the middle of night and turn on the bright lights just to take a patient’s vitals.  Can’t they have a lower wattage night-light rather than waking up the patient every 2 hours? I thought sleep was suppose to be healing?  Can’t the vitals be obtained remotely?  Or how about the buzzers and alarms on the electronic equipment at night?  Do they really have to be that loud?  Isn’t it possible in this day and age to have them automatically signal the nurse’s station or send a text message directly to the nurse’s cell phone so they can get the message no matter where they are?

Where is the kindness, caring, and empathy in today’s world?  Where is the moral will to do what is right rather than simply what some procedure says to do or what will cost the least amount of money?  Having to make many phone calls to various people lately I can tell you that I am sick and tired of answering machines that pick for people that are either not at their desk, on another call, or simply do not want to answer that say, “Your call is important to us.  Please leave a message and we will get back to you as soon as possible.”  Four hours later you might get a call back.  Sometimes it is the next day.  In either case, I have to ask how important was my call to them really?

A wise person knows when to ignore the rules and when to improvise for the greater good of the customer, patient, or client.  They treat rules as guidelines, but not absolutes, not as limitations.  They depend on their experience to choose the better path.

Barry then goes on to tell the story about a father and son at a baseball game.  I actually remember seeing this in the news.  The son was thirsty and wanted a lemonade.  The father went to the concession stand and bought a Mike’s Hard Lemonade which was a relatively new product at the time.  He really did not know this product had alcohol in it.  (I see you snickering.) Anyway, he brought it back for his son and an employee of the stadium saw the boy with the lemonade and called the police.  The father was arrested and they tried to move the boy to foster care.  It took two weeks for things to be straightened out and the father reunited with his son.  The point is that a simple conversation could have solved the issue without all of the expense of an ambulance, police, courts, foster homes, judges, and more.  Wisdom would have solved the problem in minutes while procedures cost everyone time and money for what was a simple mistake.

Brilliance is nothing without wisdom.  Even the most brilliant person can look stupid if they don’t apply their brilliance to know when and how to apply rules.  Take away a person’s ability to think and just blindly follow rules and you take away the growth of their moral skills.  Furthermore, too many rules can lead to stagnation.  Providing incentives on top of those rules takes away a person’s understanding of doing what is right unless they are paid for doing it.

Barry also maintains that we all need to build character starting with students in our schools.  We need to teach them how to respect themselves, how to respect their school mates, respect their teachers and staff, and respect learning.  Everything, he maintains, follows from that.

Is Barry right?  Perhaps.  At the very least, it should make us pause to consider.  All I can say is that it is all about what you do and how you do it.  Practical wisdom, not blind obedience to rules, will help you make a positive contribution.  That type of wisdom does not require brilliance, but it does require practice building your moral skill and moral will.  If your organization does not support you building those skills, then even the best employee forced to constantly swim upstream will give up and never really soar with the eagles.

Thanks Barry for a very insightful presentation.

C’ya next time.

Thanksgiving, KPIs and Other Miscellaneous Notes

Happy Thanksgiving to those of you celebrating Thanksgiving in the United States this week.  Remember Thanksgiving, it’s the holiday before Black Friday.  You know, the holiday between The Great Pumpkin and It’s a Charlie Brown Christmas.  Yeah, sort of the forgotten holiday.  Have a Happy Thanksgiving anyway.

Some of you may know that when I was at the PASS Summit last week I talked to some of the Microsoft folks about a problem I noticed when defining KPIs using the version of PowerPivot that comes with Office 2013 and even the KPIs used in the Tabular model of SSAS in SQL Server 2012.  It appears that when you define a KPI and associate an icon set with the KPI definition the selected set does not ‘stick’ with the definition.  Rather you always get the first set consisting of a red circle, a yellow circle and a green circle.  Functionally the KPI works correctly assigning the correct colored circle to each of the ranges in the KPI.  It just does not ‘remember’ which icon set you selected.  Well of course you should expect that considering these two products share some of the same DLLs.  So it should not be a really big surprise that if it does not work in one, that it might not work in the other.  (Yes, it did work in the original release of PowerPivot for Excel 2010 that came out about two years ago.)

Anyway, after demonstrating this problem to the Microsoft folks, they promised to get back to me, and they did on Thursday of this week.  They suggested that it may be a problem with the community release and that the final release of Office 2013 and perhaps even SP1 of SQL Server 2012 may fix this.  I intended try upgrading my demo machine after SQL Saturday this past Saturday (Tampa BI edition: http://www.sqlsaturday.com/168/eventhome.aspx).  Because I was scheduled to do two presentations, I really did not want to take a chance of last minute changes to my machine until after the presentations.  I would have been partway into updating my machine as you read this on its publish date, but something serious has come up which will delay me at least a week.  It also probably means that I will not have a blog post this Saturday.  However, it is Thanksgiving and many of you probably are still recovering from all that Thanksgiving eating and shopping.

So, unless someone else beats me to it and tests the KPI icons with SP1 of SQL Server 2012 and posts their results as a comment to the blog, I will probably not get to try this until sometime next week.  I also hope you will give me a pass at missing this coming Saturday’s post, but it will all become clear next week when I expect to resume my normal schedule of postings on Tuesdays and Saturdays.

Until then, C’ya.

The 2012 PASS Summit, Flying, and More

Last week I was at the 2012 PASS Summit in Seattle WA.  It was everything that others told me it would be.  I enjoyed every minute of it.  Of course, the best part for me was the opportunity to give one of the sessions.  Even though it was the last session on the last day of the conference, it was still very well attended, and I was relieved that at least some people stayed around until the end to hear my talk.  I met lots of interesting people from around the world and hopefully, some of them will be joining me in my blogs or on LinkedIn (http://www.linkedin.com/in/michaelpantonovich) over the next several weeks to see what else I have to say about DAX, PowerPivot, and the Tabular Model.  The bottom line is that I recommend any serious professional try to attend a major conference in his or her field of work at least once a year.  The networking and learning opportunities are well worth it.

Let’s talk about the flight now.  I’m not a fan of sitting in a long metal cylinder (soon to become carbon composites apparently according to the one ad on the flight), crushed between strangers sitting in a seat designed for 8-year olds.  I mean really, did they ever test these seats with people taller than 5’6”?  At 6’3” my knees are wedged into the back of the seat in front of me. Then the lady (and I use that term loosely) in front of me kept trying to push her seat back against my knees attempting to push my femur right through my pelvis and into the back of my seat, it was a painful five hours getting from Chicago to Seattle.  After getting there I almost could not walk and my legs nearly collapsed under me twice just trying to get out of the plane.

And whatever happened to food on cross-country flights?  I probably will date myself, but I remember the days when you got a hot meal with real metal utensils.  Now they cannot even afford to give you a bag of pretzels.  Well actually, Jet Blue still does.  By the way, to the person eating burritos and beans somewhere around me, take note for the next time that menu item is not a good choice for a sealed in environment.

My flight did not even have ‘free’ TV.  Not even network channels.  On the flights west, they had little 5 in screens (or at least that is the size they seemed to be) that folded down from the luggage rack that displayed DirectTV in color.  By color, I mean that each screen going up through the plane was a different hue.  And they were not even in front of each row of seats.  The one in front of me was about 4 rows up.  I would have needed a telescope to watch anything.  Coming back, the plane had 3” TV screens in the back of the seat in front of each person.  But again, they wanted $7.99 just to watch a few shows on DirectTV.  This was a red-eye flight back leaving Seattle at 10:50 PM so I don’t think they made much money on that flight.  Oh, by the way, Jet Blue still lets you watch basic programming for free.

And each flight I was on seemed to be overbooked.  Are there really that many people travelling or have they cut back on the number of flights?  I mean no wonder the airlines are losing money when they offer a bonus of $500.00 for a person to wait for a later flight (about 4 hours later) and get a free upgrade to first class on that later flight.

I guess it could have been worse.  I hear that Spirit charges up to $100 each way for each luggage bag.  When it costs more to send your luggage than yourself, how long will it be until people try to wear 10 changes of clothes on top of each other to avoid the luggage fees and then try to pull those seat belts around their 15 pairs of pants and actually snap the two ends together.

At one time, flying was elegant.  But no longer.  Now between the lines at TSA, boarding lines, and overbooked flights, it feels to me more like cattle on the way to slaughter or maybe waiting in a line for a 3-minute ride at one of our local theme parks.

Finally, I find it amusing when the crew says on your way off the plane.  “Thank you for flying with us and we hope to see you again.”  In the meantime, I am sure that we are all thinking, “Thank God I’m getting out of this box and can breathe real air again that won’t pop my eardrums.

Fortunately, next year the summit is in Charlotte, North Carolina.  If I get the opportunity to go (and I hope I do) It would be a bit of a long road trip, but I’m thinking maybe it would be better to just drive.

C’ya all next time.

Election Day and the PASS Summit

Today is Election Day in the United States and I hope all of you who live here have or will take the time to go out and vote.  I live in a state that has early voting so I was able to cast my vote last week, which is a good thing because I am travelling today.  Voting is a privilege that we all should take seriously.  It is not a ‘right’ as some would have you believe because rights cannot be taken away and they are not granted by man or man’s government.  You may not always get want you want when you vote, but at least you have the opportunity to express your opinion.  In fact, I do not believe that anyone should complain about the government if they did not take the time to vote for each of the candidate positions.  By voting, I feel I have a ‘right’ to complain when politicians go back on their promises or make things worse like increasing the deficit or creating more unemployment or underemployment.  Therefore, if you did not get out of your chair to go vote, I do not want to hear your complaints.

Today I am actually on a plane heading for the great northwest, Seattle Washington, for the SQL PASS Summit.  I am not a fan of travel or of most airlines.  It feels like they are herding cattle.  I am about 6’3” and the space between rows of seats is just not enough in most planes.  Who designs the seats anyway?  Contortionists?  My knees are usually up against the back of the seat in front of me and if they try to push their seat back I feel like I’ve just been placed in a coffin with the lid closed.  The only airline I like is Jet Blue, but I got stuck on a United flight so next week I’ll tell you more about the fun of flying United, assuming that I can stand up and walk off the plane.

Anyway, I am going to the PASS Summit as I mentioned above.  I have never been to the Summit even though I have used SQL Server for 15 years now.  I am going because I have been lucky enough to be chosen as a speaker for this year’s summit.  I am speaking on using the DAX language.  Interestingly, DAX, as those of you who have been reading my technical blog entries on Saturdays know, is the language of not only PowerPivot, but also the Tabular mode of SQL Server Analysis Services.  It will be interesting to see what others attendees are doing with Business Intelligence and Analysis Services.

It should also be interesting to see some of the things around Seattle.  There is Pike’s Fish Market and the Seattle Needle among other things close to the convention center.  My wife Susan is going along.  We planned this a few months ago and her current illness will not stop us.  BTW, the news was not great from her tests.  In fact, it was rather bad, and we will have to come up with a plan of action when we get back next week.  I just hope that she will not have any bad painful days while we are away.

I checked the weather forecast for Seattle and surprise, it calls for showers every day that we are there.  I do not know what showers mean in Seattle.  Here in Florida it means that it might rain for 10 or 15 minutes sometime during the day and be sunny the rest of the day.  It is also about 10-20 degrees colder than here in Florida although the difference between the high and low temperature is not as dramatic as here.

In any case, it should be an interesting and hopefully a fun trip.  If any of you who may be reading this will also be at the PASS Summit, stop by my presentation on Friday afternoon to say, ‘Hi!’

C’ya next week.

Customizing A Dimension, Part 1

This week I’ll take a look at how to customize a dimension in an SSAS cube.  Several weeks ago, I mentioned my preference for creating my dimensions first, prior to creating the cube in SSAS.  However, is not your only option as I mentioned at that time.  You could create your cube directly after defining the data source view you want to use.  If you remember, I mentioned that while the cube wizard will identify the potential dimensions and add them to the cube, it only adds the key values from each dimension, ignoring all the other attributes.  I may have mentioned that you could go back later and ‘fix’ that omission.  So today, I’ll show you how.

I’m still using the ContosoRetailDW database.  Suppose I had the following cube design in which I created the Contoso Retail DW cube using the wizard and let the wizard create my dimensions.  When I open any of the dimensions in the design surface, you can see that the only attribute included in the dimension is the key value.  On the other hand, you can see in the Data Source View pane that this table has many other potential attributes that a user may want to use in the cube.

Before adding the other attributes, let’s make a few changes to the properties of Datekey.  First, let’s change the name of this attribute to simply Date.  You can do this by right clicking on the attribute Datekey and selecting Rename from the popup menu.  Then using your mouse to position the cursor edit the name by selecting and deleting the characters ‘key’.

When you use this dimension in your cube, if you were to add Date (previously Datekey) you would see a value that included not only the date, but also a time value.  It may be better to display the date in another format.  There are several options from the table including FullDateLabel and DateDescription.  You can tell the cube to display one of these fields in place of the attribute Date when displayed in the cube by going to the properties pane and selecting the NameColumn property as shown in the following figure.  Click in the far right side of the value portion of this property row to open the dialog box shown.  Then simply select the column you want to display in place of Date when the user add the Date attribute to either the cube’s rows or columns.

Next, to display addition attributes in the cube, select the fields from the list of fields in the table DimDate as shown in the Data Source View panel.  You do not have to select all of the fields, only the ones you think the user may want to include in the cube or which you may want to use when building a hierarchy (I will cover this next time).  Note, it is generally considered to be poor practice to include the column you selected in the previous figure as an additional attribute.  Effectively, that would make the same field available using two different names which would probably be confusing.

After selecting the fields you want, simply drag them with the mouse to the Attributes panel so they appear as shown in the following figure.

After making these changes, you should save your solution before processing it.  You can do this either from the Save All option in the File dropdown in the main



Before you can display your cube and use the new date attributes, you must redeploy the cube.  You can do this either through the Build menu or you can right click on the project in the Solution Explorer panel and select Deploy

When the deploy completes successfully, you may be anxious to immediately click on the Browser tab to see you changes.  However, when you attempt to open the Dim Date dimension, you will see instead an error message as shown in the following figure.  This error message occurs because while you deployed a new cube definition (which has been saved in SSAS with the same name as the project).  You need to update the data used by the browser.

An easy way to ‘fix’ this problem to get the updated data is to click the Reconnect button in the tool bar within the Browser Tab.  (Click the Browser Tab to display its custom toolbar.)


Now when you expand the DimDate dimension, you see all the new attributes recently added.  You can then define your cube using any of these attributes such as the Date attribute itself which now displays the FullDateLabel rather than the DateKey value as shown in the following figure.

However, notice that the Sales Amount values are not formatted as currency.  I mentioned a way to format the measure data in the cube previously, but here is a better way.  Click back on the Cube Structure tab (after opening the Cube definition again if you do not have open).  Expand the FactSales section to display all the measures in this measure group (table) as shown in the following figure.  While you could select each field individually, a faster way to format multiple fields with the same format string is to first display the measures in a grid rather than a list by clicking the Show Measures Grid as shown below.

Then click on Unit Cost as the first of the attributes that should be formatted as currency.  When while holding the CTRL key down, click on the other attributes that you want to formatted as currency such as: Unit Price, Return Amount, Discount Amount, Total Cost, and Sales Amount.  Then go to the Properties pane and locate the FormatString property and click the dropdown menu button on the right side of the field value.  This action displays a list of possible pre-defined formats that you can define.  For example, we can simple select ‘Currency’ or we could select one of the other currency type formats such as ‘$#,##0.00;-$#,##0.00’ or you can create your own format such as ‘$#,##0;-$#,##0’ which shows the values with no cents.

In a similar fashion, select the measures Sales Quantity, Return Quantity, Discount Quantity, and Fact Sales Count and then select FormatString in the Properties pane and set the value to ‘#,#;-#,#’ which essentially tells the cube to display these values as integers.

Of course you will need to Deploy your cube again (right-click the project name in the Solution Explorer and select Deploy).  After your deploy completes successfully, click the cube’s Browser tab.   This time, your cube will still look like it did before without any of the formatting changes you just set.  However, at the bottom of the design area, you should see the information box shown below which tells you that the cube has been updated and that you must reconnect to the data.

You can either click the Reconnect button as I mentioned earlier or you can simply click the hyperlink ‘Reconnect’.  After a few seconds, the cube updates the values displayed to show dollar values like Sales Amount as currency and count values like Sales Quantity as integers as shown in the following figure.

That’s all for this week.  However, one other piece of unabashed self-promotion that I would like to mention is that I have been selected as a speaker at this year’s SQL PASS conference in Redmond.  If any of you will be attending, stop by to say hello.

C’ya next time.

Good Luck – Bad Luck

At church services the other day, we heard a story that made me think.  You see there was this farmer with a small farm.  He had only one son and one horse to help him work the farm.  One day, the horse ran away.  His neighbors stopped by and tried to console him saying, ‘What bad luck.  We are so sorry.’

However, the farmer said, ‘Good Luck – Bad Luck.  How do you know?’

One morning several days later, the farmer had just left his house when he sees galloping toward him his horse leading a small herd of wild horses right to the farm.  When his neighbors heard that the farmer’s horse returned and brought along some wild horses they told the farmer, ‘What good luck.  Now you’ll have enough horses to work the farm without having to work your one horse so hard.’

The farmer said, ‘Good Luck – Bad Luck.  How do you know?’

Several days later, the farmer’s son tried to ride one of the wild horses and fell and broke his leg so he could not help with the farm work for several weeks.  The neighbors stopped by to say, ‘Sorry to hear about your son breaking his leg.  With the harvest time coming soon, that is really bad luck.’

The farmer said, ‘Good Luck – Bad Luck.  How do you know?’

A week later the local militia came through the valley and conscripted all of the young men into fighting a war against a neighboring country.  However, when they got to the farmer’s house, they saw that the farmer’s son had a broken leg.  They told the farmer, ‘We cannot take your son into our militia with his broken leg.  He will have to stay with you.’

Good Luck – Bad Luck.  How do you know?

Ok, the point of this story was simply that life is a complex interwoven matrix of events in which one event influences the next event, sometimes in surprisingly unexpected ways.  Over the last several years while the economy tanked, I have had several friends lose their jobs.  On the surface, most people would say that losing your job would definitely qualify as bad luck.  And in all honesty, it has been for some of them as they struggle to find new employment.  However, a larger number have found other positions, some very quickly after losing their old job.  In most cases these jobs are more rewarding both financially and from a career point of view than their old jobs.

Does this mean that you should purposely go out and try to lose your current job.  No, not at all.  However, sometimes when one door closes a window of opportunity opens.

We just got back from graduation ceremonies for our daughter who received her PhD in Pharmacology.  The good news is that she has a job for the next year working as a resident at the local Orlando VA.  The bad news is that the Orlando VA is building a new hospital to replace the current clinic and as of today, they have announced that there will be another delay in opening the facility.  What will happen when her residency ends if the new facility is not open?  Will they still be able to keep her on?  Will she have to look somewhere else?  It is way too early to tell.

If you read the stories of successful entrepreneurs, you may have heard stories about how they failed repeatedly before finally succeeding.  Actors and performers often work at their craft for years making barely enough money to live on until suddenly the stars align and they become an overnight success.  Sure, there are entrepreneurs who never succeed and the actors or performers who never make it out of the local town shows.  At the same time, there are those who never seemed to have suffered a downturn in their life and were successful from day one.  The one factor that seems to make a difference between those who eventually succeed and those that fail is that those who really love what they do and keep at it no matter what are in a better position to take advantage of good luck the next time it comes around.  Even when a spell of bad luck seems to follow them around, they continue to look for that next opportunity.

What good luck have you had recently?  Did bad luck precede it or follow it?  If you have had bad luck recently, I know it is hard to get through those times.  However, no matter how bad things seem to get, opportunity may be just around the corner as long as you keep looking for it.  What types of opportunities are looking for you to turn your bad luck into good luck?

C’ya next time.

BTW: I’ll be speaking at SharePoint Saturday in Orlando on June 9th (http://www.sharepointsaturday.org/orlando/default.aspx) and at IT Pro Camp in Jacksonville on June 16th (www.itprocamp.com).  Stop by to say, “Hello.”

Would You Pay Money to Sell Me Something?

Of course you might say.  Isn’t that the whole point of advertising budgets, promotions, and deals?  Sure it is, but I’m not talking about those kind of things.  I asking whether you would pay a fee to walk in the door and make a pitch for one or more of your products?  Again you say sure, I’ll even take you out to lunch or perhaps bring a couple of pizzas and sodas in for your team to enjoy while I demonstrate our latest and greatest products over lunch so it doesn’t cost you any work time.  Or if it is morning, how about some bagels and coffee while we demo our new system?

Well, if you work for the government, these might be considered bribes.  Yes indeed, the people who make the laws know that government workers are so underpaid that a few slices of pizza or a bagel and coffee would be all it takes for you to sell your soul, or your company’s soul, for that shiny new object the vendor is dangling in front of you in their slide presentation.  Maybe that is the way our politicians operate, but I seriously doubt that most professionals in the business world would be persuaded to make a purchase based on a pepperoni pizza and cup of coke.  I certainly would not.

So how can a vendor of a new product get that product in front of an audience without crossing the line?  Actually, it is easier than you may think.  The way I am going to suggest is that vendors actively seek out user groups and events sponsored by user groups and support them.  I belong to a couple of user groups and I’ll tell you from experience that a user group meeting without food, especially if the group meets after normal work hours in the evening, brings much lower attendance than a user group meeting with food.  But who should pay for the food?  Should the user group collect dues and use that money to buy pizza, sandwiches, or whatever it is they want to have at the meeting so hard working people will come to meeting right after work foregoing their normal evening meal at home?

That’s a possibility or at least it was years ago when you stored your programs on punch cards, but collecting dues from attendees at a user group meeting will probably decrease attendance when most people can find the same information in a white paper or through a free webinar on the Internet.  So how can a user group survive?  My answer is to enlist vendors who are willing to help defray the cost of the meeting location and food.  Depending on the expenses of your group, you may only need one vendor.  Others groups may require two or more vendors if the meeting location or food is expensive due to the number of users attending the meeting.

So what should the vendor get out of this?  The user group should be willing to give the vendor five to ten minutes to pitch their product, talk about their company, or anything else they want to say.  They should not be a main presenter for the meeting unless they present a topic that applies generically without focusing on their own product or service.  For example, a consulting company can come in to present how to improve the efficiency of your T-SQL statements as long as they don’t turn it into a presentation about how their product or service is better than everyone else’s product.  After the presentation during a social/networking time, they can pitch their product to whoever is willing to listen, but not during the main presentation.  The same goes for recruiters.  We had a recruiter at one meeting give a ‘state-of-the-industry’ presentation and talk about what makes a good resume and how to answer questions at an interview.  They did not directly promote their services or their company so it was fine.

You might want to come up with a schedule of how much you want to charge vendors and what they get out of it (a mention during the meeting, a 5 minute pitch about their latest product, or the chance to present the main topic).  Most vendors are fairly reasonable to work with.  And if they violate the rules and go into a sales pitch in the middle of a main topic discussion, ask them politely to hold that topic for the networking time and to continue on with the regular presentation.

So what about those companies that want to charge a vendor to come in the door?  Perhaps the answer is to work through local user groups to sponsor the groups in exchange for the ability to talk to the attendees.  Don’t forget to send special invitations to the user group meeting to those companies to which you want to market.  That will help everyone.  It will bring more attendees to the user groups.  It will give the vendors a chance to get in front of a targeted audience who potentially wants to see and hear about their company, product, or service.  Finally, the employees who attend the user group meetings can extend their network of peers and perhaps learn a thing or two that they can bring back to their workplace.

And the best thing is, none of this is illegal.  …Yet.

In full disclosure, I’ve been a big proponent of user groups since my early days in a group named DPMA back in the mid 80’s.  I continue to be active in SQL Server and SharePoint groups as well as a regular attendee and speaker at SQL Saturdays, Code Camps, and SharePoint Saturdays.  I hope to attend an IT Pro Camp later this summer as well.  In fact, two Saturdays from now on April 28th I’ll be speaking at the SQL Saturday in Jacksonville, FL talking about using DAX in PowerPivot.  These events provide a full day of free training and usually include breakfast (donuts, bagels and coffee) and lunch.  These events are paid for by the vendor who will also be there with tables to talk with you about their latest products or services.  Many of the vendor also have their own give-aways as well.

So if you are a vendor, support your local user groups.  We are waiting for you.  And if you are an attendee at one of these events, stop to talk with a couple of the vendors to learn what they do.  You never know when you might need their product or service.

Flipping the Classroom

I was scanning through iTunes for a podcast to listen to over the weekend and found an interesting one on TED Talks.  The one I finally settled on had an interesting title: Let’s use Video to Reinvent Education presented by Salman Khan at TED 2011.  Perhaps you might think that I found the title interesting because I work for a school district.

Not really.

I found it interesting because I’ve always been a self-learner.  Except my idea of being a self-learning was buying books and magazines and reading them.  Of course, more recently it has been e-books and Internet sites.  The speaker, Salman Khan talked about flipping the classroom.  In essence, he meant that through the use of training videos stored on U-Tube, students would get their lecture at home, not in the classroom.  In the classroom, they would focus on ‘homework’ where they could ask questions from their peers or the teacher when they got stuck on a topic.

What a concept.  How many of you have sat in a classroom listening to a teacher drone on in a monotone voice better suited for putting you to sleep than paying attention to the subject.  Or maybe you had a teacher or professor like I had in one of my college math class who wrote equations with one hand while he erased them with his other hand.  Most of us were so busy trying to write down everything he wrote on the board that I don’t think any of us remember more than two words that he spoke during the entire semester.

So I’m sitting on the living room sofa watching this video and thinking, ‘If only I had a tool available like this when I was high school and college.’  Imagine being able to pause your teacher when you just became so over-saturated with the words coming out of their mouth that they were beginning to blur into a dull background noise.  Now imagine hitting a pause button on your teacher to take a few minutes to digest what was said before continuing.  Or maybe your teacher introduced a topic today that referred to something covered last week, last month, or even last year.  Maybe you did not quite get it then, but you need to understand it now in order to move forward.  Just replay that old video and watch it again or maybe watch it several times until you do get it.  No one is counting how many time you re-watch the video. Imagine trying to do that to your live teacher.  On second thought, I’d rather not.  Once was enough.

At the time the video was recorded during TED 2011 the site: www.khanacademy.org had a little over 2,200 videos on topics ranging from math to science to history, but when I check the site last weekend, they said they have over 3,000 videos and even have videos on finance and economics.  They claim they have over a million students a month viewing their videos and that number is growing.

Of course this site would be great if you have kids currently in school even if only as a supplement to their regular class, especially to cover topics they are having problems with.  In fact, some school districts (not ours) are experimenting with using the videos on this site to replace or at least partially augment their regular classes.  But here is the cool thing.  Even adults like you and me can go out to this site and learn (relearn?) these topics so that when your kids ask a question, you might even be able to explain what an integral means or how to evaluate a polynomial.  You might even find some of these classes enjoyable for the sake of just simple self-enrichment.  Maybe you always wanted to learn a little about art history, astronomy, or perhaps you want to understand venture capital, the Geithner Plan or the Paulson Bailout.  Maybe you just want to get a basic understanding of banking and money or you just want to make some sense out of current economics.  I found some interesting and timely videos on how China affects our economy.

All of that is great, but there is another part to this site.  Students who take classes through this site can take tests.  But in these tests, the student has to score a perfect 10 questions in a row before they can move on to the next module.  Why?  Well, as Salman says, what happens when a student gets only 70% of the questions right, or even what happens to the student who gets 95% of the questions right?  If you guess that they get moved on to the next topic without any real attempt to fill in those knowledge gaps, you are right (and can move on).  The problem is this ‘swiss cheese’ approach to knowledge eventually catches up with even the best students as they need to understand 100% of earlier topics to master new topics.  (Imagine only knowing 95% of the alphabet.)  This would seem to make perfect sense.

Yes this system is self-paced and depends a great deal on the motivation of the student, but if conducted in a ‘class’ setting, there is also a peer factor that will create a healthy competative environment.  Reports are available for the teacher to identify which students are having problems with different topics.  The teacher can then spend class time either inviting other students who have completed a particular module to help other students who are struggling with it.  If it is a new module for all students, of course the teacher can provide that same mentoring.  The site also provides ways for parents and even non-parent volunteers to join the site and serve as mentors or coaches.  This means that you could be helping not just your own kids, but perhaps you could be helping someone on the other side of the world learn geometry.

I don’t know if there are other sites like this, but if any of my readers know of any, please post information about them in the comments for all of us to benefit.  Oh, did I mentions using the site is FREE!  So how does the Khan Academy make money to pay salaries and provide a site like this that handles hundreds of thousands of students a day?  Well I haven’t been able to find absolute proof of it, but based on the videos available about the academy, it appears that Bill Gates and/or his foundation are providing the ‘grant’ or investment money to get this concept up and running.  And if that is the case, then I have to give a big salute to Bill for supporting a very noble and worthwhile cause.

I’m going to end this post here because there are a couple of videos I want to watch about current economics.

See you all Saturday for our next weekly technical topic.