20 Ways to be Better than Good

  1. Respect your co-workers.
  2. Make your boss look good.
  3. The customer is always right.
  4. Everyone is a customer.
  5. Follow through on assignments.
  6. Document everything.
  7. Go above and beyond.
  8. Be responsive to customer's needs.
  9. Return voice messages / email promptly.
  10. Meet your deadlines.
  11. Ask questions when stuck.
  12. Always, always be learning. 
  13. Learn the business.
  14. Comment your code.
  15. Write code that is maintainable.
  16. Give your employees the tools to succeed.
  17. Praise your workers for good work.
  18. Thank your customers.
  19. Be loose, but get the work done.
  20. Have fun!
Just 20 quick ways to improve your customer's experience, add value and gain job security.


Freelance From Home

I work a full time job.

And then I work a part time job.


I've been working with the same client for over a year and half.

Yet I don't go to their office.

I work from home.

I never met my boss face to face or my co-workers.

Everything is done remotely.

Since I'm converting Crystal Reports to SSRS.

And then converting those SSRS reports to point to a Data Warehouse, I can work independently.

With the occasional WebEx at 6pm with the full time Business intelligence programmer.

He's great to work with and helps me with the business logic.

As I'm still learning some of the medical terminology and biz rules.

Yet I seem to manage just fine.

The past few weeks I had a tough report which the report spec was written more towards a business analyst point of view.

So I struggled with the code, had 2 calls with the f/t guy and threw in the towel.

I called my boss and said I need to speak with the author of the tech spec.

So I called her after hours and we went over my questions.

Sure enough, I was able to hammer out the SQL in two revisions.

QA passed the report as did the UAT lady.

So tonight I'm finalizing the SSRS report and will move to production and store off the code in SVN.

I'm kind of proud of this report as it's very complicated and I didn't give up.

Persistence pays off in the end.

And so it goes!



Trying something new "TwitterFeed".

Will see if it auto-posts this Blog entry.

Wish us luck!


Data Governance

I did reports back in 1996 when doing reports was the red headed stepchild of the programmer world.

Nobody I knew did reports, there were no books at Barnes and Nobles to read.

While on a weekend trip to Atlanta, I managed to find an obscure book Crystal Reports for Dummies and purchased it on a whim.

When I got back my boss at the time reimbursed me for the book as they were hard to find.

Fast forward 15 years, data and reporting is HOT.

Today we had our first meeting to discuss the implementation of a Data Governance board.

The boards mission is to ensure the new data warehouse has standards and process around it to ensure data quality.

Because as we all know, incorrect reports are not only bad, they are worse than bad because they portray an inaccurate picture of reality.

So once we establish the basic rules and who does what when, we will be on our way towards accountability and transparency, the golden rule for Business Intelligence.

To be honest I'm thrilled that data and reporting is out in the open in the mainstream.

The facts are hiding in the data and reporting will set that information free.

It's crucial that we have process' in place to ensure accurate data.

Because we need to have a single source of the truth.

The IT department does not own the data.

We house the hardware and software and database that receive and store the data, but we are not the 'owners'.

The business units own the data and they are responsible for its accuracy.

We are the stewards.

I enjoy hiking in the woods.  In some remote area I like to lift up a fallen log that's been sitting for a long time.  And watching the critters scurry when exposed to the sunlight.

So too, the data must be exposed, even if that uncovers shoddy practices, undocumented business rules, fudged numbers, etc.

I feel that implementing Data Governance is the first step in the right direction.

Stay tuned!



Since I've been doing reports since 1996, in Crystal Reports, Actuate, Access and now SSRS, I've been somewhat limited in my ability to do advanced business intelligence.

Because reporting is telling a story of the past.

And people today want more.

They want reports but they want information readily available in fancy formats.

And standard reporting falls short of meeting this challenge.

That's why when we spoke with the Microsoft people today it really got my juices flowing.

Because not only can we upgrade from 2005 to 2008 rs, we can also make the leap at least partially to 2012.

What that means is integrating SSRS with SharePoint 2010.

What that opens the door to is Dashboards & Scorecards in Performance Point.

And allowing users to dabble in Power View.

And creating 'pseudo' cubes using Power Pivot which get uploaded onto the Server's version of Analysis Services 2012.

And that uses the new Tabular Model in 2012, which is the main ingredient for providing the advanced reporting.

And then teaching the 'super users' how to fish by providing the Power Pivot plug in for Excel.

They even said you can assign permissions by roles, even down to the row level, I think.

I asked the question, does data modeling and star schema go out the window?

They said that was a great question and no, good cube design is still a priority.

I'll be honest I've had 10 to 15 recruiters call me last year and they all said the same thing, in order to find a reporting job you MUST have these latest skills.

I don't disagree, but how do you get the experience using the latest technology if your company does not utilize it.

Well, I believe I found the answer, you pray and get lucky!

Make is so!

Vendor Meetings

Vendors frequently appear onsite to propose new systems for our organization.

Most of the time, the people are well dressed, very friendly and have an assortment of snacks.

The demo's are well planned, they fly through the presentation, and promote all the great features that will SOLVE all our problems.

I usually attend such meetings to find out about the reporting aspects.

Each package usually has pre canned reports, a separate database warehouse and usually some type of pre build dashboards.

The thing is you usually don't want to press to hard for specific details.

You will get a response of 'we can tweak the system however you want' or that is part of our next release or I'll write down your question and get back to you.

Overall, Vendor Meetings are usually enjoyable and tend to break up the day.

I've read some Dilbert cartoons where the programmers taunt the vendors and such.

In the end they usually select the vendor with something important like the name of the product or color of the logo, or perhaps the company headquarters is located in the employees hometown.

You know, something substantial and based solely in logic.

And so it goes!

Ticket Efficiency

All work requests must have a ticket.

So that's the mantra I've been telling the users.

And they tell me the tickets don't work, no one ever responds and they have tickets out there for years.

After some research, it appears they are correct.

There are hundreds of tickets more than 180 days old.

So I spoke with the Help Desk Manager and suggested some initiatives.

1.  Do not keep people on the ticket who do not need to be on the ticket.  For example, when you mail a letter or package, once you put it in the box, you are out of the loop.  Then when the mail person picks up the package and drops it at the post office, they are out of the loop.  And so on.  Same with the ticketing system.  This should get some of the weight off everyone and be able to focus on just their tickets.

2.  Document the tickets.  Anyone from anywhere at any time should be able to open any ticket and know everything there is to know about a ticket.  Who opened it.  Who touched it.  What work has been done on the ticket.  Why is it on hold.  Screen shots. Examples of the problem. Etc.

3.  Determine where the 'pain points' are and dedicate a few 'roaming' Help Desk people to monitor their queue.  In addition, provide feedback in a timely manor to the customers so everyone is in the loop.  Also look for patterns in the tickets to see if a simple code change upstream can close out multiple tickets.

4.  Set the culture so that people are inclined to 'close out' the tickets.  You can not have lackadaisical people who sit on tickets, don't forward to the correct department, etc.  When you get a ticket, work the ticket or re-assign it.  People do not even know that we are supposed to close out the tickets to make room for new ones.

I love tickets.  I like to receive tickets.  And work tickets.  And assign tickets.  And close tickets.  Then report on the tickets.

I'm in the ticket business per say.

And so it goes!


Community Support

Our organization has been on the SQL-Server 2005 edition since I've been here and way before that.

We spoke with our Microsoft contacts in December and they suggested we upgrade to a new version.

We ported the ReportServer and ReportServerTempDB to a test box / new instance of a database.

We then installed the SSRS web on a a new 2008 Virtual Machine.

Then I configured the settings to use specific users and point to the new instance of the database.

And then logged on.

Some of the reports were there and could run them and see the data.

However, I could not view the Data Sources and some of the SSRS Reports.

So I did some research and found a good article by  Stacia Misner @StaciaMisner:


So then I posted a tweet with the #SSRS hashtag:

 server upgraded from 2005-->2008->Can see folders, run reports with data->I don't see data sources or subscriptions

And someone from the SQL Community / Twitterverse chimmed in: Dan English @denglishbi

Dan was helpful in assessing the problem and offered multiple solutions, specifically the config file.

Then I tried viewing the web from my local machine and sure enough, it promted me for credentials, I could see all the Data Sources

The only thing is, now I have subscriptions running on multiple servers so I need to remove the subscriptions from the new test server.

However, we would like to test the subscription feature on the new version 2008 r2 to see if it speeds up our run time, etc.

Twitter and the content on the internet are really helpful for community support.

I appreciate it.


JB / @SQLJon


Reports - Shorter Project Life Cycles

I worked in programming for 15 years (Visual Basic, ASP, ASP.net, Java/JSP).

During that time I worked on projects that spanned long periods of time, sometimes 5 or 6 months.

However, during that same time frame I also worked on reports.

Reports tend to have short project life cycles.

Initial request to delivery is a few hours or maybe a few days.

No longer do I have project releases where I'm moving 25-50 files into production.

Doing SSRS reports is basically Rapid Application Development.

The end product takes less time, we just have more report requests overall.

It never ends!



This May will be my wife and my 6th anniversary.

We married late in life and decided up front we didn't want kids.

So instead we have 2 golden retrievers and 5 stray cats.

When we first met, I was in the process of quitting my job after 3 or 4 years.

I was getting burned out, had enough savings to cover me for a while and decided to teach tennis and do web sites.

So I sold my house 'cause I knew the housing market was going to crash and rented a villa.

Each day I'd sit outside smoking my cigar, feeding the ducks bread and watching the world go by, after teaching tennis that is.

My neighbor, Karen, would walk her golden retriever each day, and the dog would basically pull her over to see me.

I'd give the dogs some pets and the dog would just go ballistic.

I told Karen that I was on vacation and that's why I was home every day.

Each day she would walk her dog and we would chat.

When she found out I was out of work she offered her extra room to me.

She didn't know that I could have paid cash for her villa.

They were having a free concert downtown so Karen, another neighbor and I walked down to listen to the band.

There was a double rainbow that night which I took a picture of.

When we got to the concert, the one lady Janice took off to go to a bar and it was just me and Karen.

I bought her a hot dog and soda.

Then we walked home together about a mile and half and I talked nonstop telling her my life story.

When we got home I said good night as we lived right next door.

I looked at the movie section and knocked on Karen's door - it was around 9pm.

I asked her if she wanted to see a movie.

She didn't say anything, then turned around and went inside.

I waited for 5 minutes and she came back outside ready to go.

I guess that was a 'yes'.

Our first date.

After some courting, I decided to take down a portion of the fence in our back yard and her dog 'Maddie' would come running from Karen's house, through the fence into my villa - SO excited.

So I would say it was 'Maddie' who got us together - she's a matchmaker.

And today is her 9th birthday - Feb 2!

Happy Birthday Maddie!

Technology Bell Curve

When I was just a Jr. programmer doing Visual Basic, we had a very Senior programmer named Dave.

He was a jolly fellow and super smart.

He taught me how to program 'correctly'.

He would randomly sit down at each of our cubes and tear into our code.

He encouraged my boss to send us to VBITS in Orlando the old Visual Basic conference.

He let me administer the Visual Source Safe database and taught me the importance of binary comparability and proper commenting standards.

Anyhow, one of the things he taught me was the 'Technology Bell Curve'.

At any given time, there is 'cutting edge' technology out there.

That is one point on the bell curve.

The other point is the legacy code.

And all in between was the curve.

So most people want to be on the 'bleeding edge' because that's cool, that's where the bucks are.

But there's also the opposite side of the spectrum in supporting legacy code, just as lucrative he said.

There is a cost for companies to always be upgrading to the latest version of software.
A lot of companies tend to stay 1 or 2 versions behind.

I guess if you're a consultant, you must know everything the old stuff and the new.

Working full time for a company, you can kind of get lazy and learn what you have, although you don't want to get caught flat footed.

Some people still like to listen to records for that scratchy sound.

Some people like to still program in Visual Basic 6.

And so it goes!

1 Hour to Create Report

Well, one of my customer stopped over today around 3pm.

She said her boss has an important speech tonight and needs some data.

She said I was the only one in the building who could get her data by 4pm.

Next second I got an email titled 'Emergency Report'.

Then the phone rang.

Needed info on Student suspension, arrest and expelled info.

Along with some demographics.

As soon as I got off the phone, I grabbed my consultant.

We grabbed some code from an existing report, then added a few fields and by 4pm had the PDF export emailed to the customer.

A bit of stress but the report seemed to meet the customer's request.

She should be giving her speech right about now.

Glad to be of service.

Reporting Standards

Report Specifications:
·        Meet with Customers
·        Gather Report Specifications
·        Document Meeting/Specs in Ticket

·        Set Customer Expectations
·        Prioritize Report Requests
·        Deliver Quality Product
·        Keep Customer in loop

·        Developers verify Report Data
·        Utilize Quality Assurance Department
·        User Acceptance Testing

·        All Report Requests must have Ticket
·        Report Developer updates status in Ticket
·        Close out old tickets

·        Ask questions when stuck
·        Ask if similar query already exists

·        Document new Reports
·        Promote Reporting Services

1.      Public Request
2.      State/County Mandates
3.      VIP Requests
4.      Bug Fixes
5.      Tickets/Projects

BI is Meaningless without Accuracy

The one thing I'm starting to notice in the world of BI is that everything is meaningless.

Unless the numbers are accurate.

The business rules / specs could be inaccurate.

The data could have been entered inaccurate.

The report logic could be inaccurate.

The interpretation of the data could be inaccurate.

The timing of the data could be inaccurate.

There is just so much room for error.

We pump out so many reports each and every day.

Makes you wonder if any of them are really 'Accurate'?

All the report requests need to be done yesterday.

However, perhaps we need to S-L-O-W down.

And verify the data is correct.

Otherwise, we're just slinging bad data around.