4/29/2011

Reading RDL Definitions directly from a ReportServer database LINK

This handy link is quite powerful as it allows you to quickly scan all your reports in Reporting Manager for specific values.  Thanks to David Jennaway for this excellent snipped of code...

- Click here for Link -


SELECT
        CONVERT(varchar(MAX)
      , CONVERT(varbinary(MAX), c.[content]))
      , c.[Path]
      , c.[Name]
FROM [ReportServer].[dbo].[catalog] c
where
      c.[content] IS NOT NULL
      AND CONVERT(varchar(MAX), CONVERT(varbinary(MAX), c.[content])) LIKE '%@User%'

4/28/2011

Change the Report Manager logo Link

Here's a good Link that shows how to change the JPG image in Microsoft Reporting Manager.

Click here for Link!

The directions are fairly easy to follow, however, 48x48 does not allow for a big enough image to make it worth while in my opinion.

Also, I wonder if there's a way to embed Hyperlinks from Reporting Manager. That way we could link the URL to our WIKI documentation.

4/27/2011

ReportServer ExecutionLog LINK

Here's a good link to create a quick Stored Procedure that will allow you to query the reports by report name or user.

http://www.sqlservercentral.com/scripts/Miscellaneous/31516/

I modified the SProc to roll up reports by ReportName and count(*) to see which reports are the heavy hitters and which ones never get run.

Here's the modified SProc:


USE [ReportServer]
GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE proc [dbo].[report_usage_grouped_by_report] @report varchar (75), @user varchar (15)
as
select  -- report path and name
      C.path,
      count(*) ReportCount
from         reportserver.dbo.ExecutionLog E
            join reportserver.dbo.catalog C on E.reportid = C.itemid

where       (C.name = @report or @report = '')
          and (right(E.username,3) = @user or @user = '')
group by C.path
order by  2 desc

--execute report_usage '',''
/*
--to feed your report parameter @report
select name from reportserver.dbo.catalog where  type = 2
union
select ''

--to feed your report parameter @user
select distinct username  from reportserver.dbo.ExecutionLog
union
select ''
*/

4/11/2011

What makes a programmer good?

What makes a programmer good?

Knowledge-knowing your technology is essential, learning the business helps.
Follow through-customer's expect prompt delivery.
Creativity-there's always more than one correct answer.
Research-no one knows everything but someone knows the solution to your problem somewhere-find it.
Multi-task-got to keep all the balls up in the air.
Can-do attitude-will power can conquer any obstacle.
Attention to details-it's got to be correct.
Organization-policies help but knowing all the moving parts is essential.
Social skills-the days of IT working in a vacuum are over.
Political navigation-know when to push and when to back off and who the key players are.
Curiosity-technology doesn't stand still, must have a desire to learn.
Forethought-how will this action affect things downstream.
Problem Solving-must be willing to outlast the problem.
Concentration-keep the mind focused on the problem, although flashes of insight tend to solve occasionally.

It's not always the smartest, brightest, fastest, most certificates or highly visible programmer that succeeds.

A good programmer has a passion for what he/she does.

4/07/2011

Pick and Choose your Technology

There is so much to choose from when it comes to technology.

However, once you work for a company, they dictate what technology you are going to work on.

If they have 15 year old Visual Basic legacy system, your manager needs someone to support it. If you have those skills then guess what, you are the lucky recipient of outdated technology.

You do not get to pick and choose your technology. Your place of employment does.

Who cares if you want to do cloud computing. Or mobile device programming. Or cutting edge software. Tough luck. Learn it on your own.

From my perspective that's the way it works. Back in 2000 when I was a Visual Basic / ASP developer, I dreamed of writing code in Java.

I studied on my own, learned the language, asked my boss for training. Turns out they didn't need work done in Java at that time.

They needed work done in Actuate & Vantive. I did not see the future career potential in either. So I chose to leave.

Sure it took me a while but I finally got a full time job as Senior Java Programmer. My dream job had come true.

I was also doing Crystal Reports and Oracle BI. But I saw my future in Microsoft BI. Guess what, my employer had not intention of converting over.

So I studied on my own, learned the language and found part time jobs to get experience. I was then able to land a full time job in Microsoft BI.

The point is you can't depend on your employer to allow you the freedom to pick and choose your technology. You do have the freedom to pick and choose your place of employment depending on your circumstances and passion.

4/04/2011

Today's Developer has a lot of choices

Today's IT professional has a lot of choices to make.

Software or hardware or network or servers or support.
Software to get data into the database or get data out of the database.
Oracle or SQL Server or Informix or DB2
Java or .net c# or .net Visual Basic or Cold Fusion or PHP
Client Server or Web or Mobile Applications or Window Services
Crystal Reports or Actuate or Microsoft Business Intelligence
SQL-Server Reporting Services or Integration Services or Analysis Services
2000 or 2005 or 2008 or 2008 r2
Full time or Consultant / Public or Private or Start Up

You get the point.

We are solving the same business problems my father confronted while working for IBM in the late 60's.

He had the mainframe where everything resided in one place. Client Server seperated the front end with the back end. Then they created local functions to create re-usable code. Those functions were then put into seperated classes. Later those classes were consolidated into DLLs. Those DLLs were then moved to other locations with COM+. Then they moved those functions into Web Services on the web. Then those functions were imbedded into web pages through AJAX. It's been a long and winding rode.

That's just the technology side of it. The same business objectives are still in place. Data management, workflow process, inventory systems, accounting packages, etc.

Sure I played with the IBM PC in the early 1980's as my father bought the earliest version with no hard drive, 1200 baud modem (hot stuff back then). I used to call the BBS in Tampa as I wasn't allowed long distance.

I'd get a few numbers, dial them, chat with the SYSOP, find some games, some calendars to download on the dot matrix printer, fun stuff. It was PC-Dos back then.

Not sure how I majored in Anthropology in College. But I found my way back into computers in 1996. Best decision I ever made. My father has a knack for logic. Maybe I inherited that. My brother has Engineering IT degree and he's been coding since 1991 (Nortel, IBM, SAS).

Must run in the family.

I always wondered what would have happened if I applied myself in school and attempted to kiss the teacher's butt like everyone else to get the good grades.

I got my A's and B's, made the honor roll every time so I wouldn't get grounded.

But tennis was my passion and I played 4-5 hours a day every day. Played tournaments every weekend. Got ranked in the state of Florida. School was a waste of time. I didn't know schools like MIT existed back then.

And when it came time for college for me, to my surprise, my father refused to let me take a tennis scholarship. I was told to go to University of Florida like my brother. All that practice for nothing. What a freakin waste of potential. Hmmm. Maybe that's why I chose Anthropology instead of computers...

Get Sh#t Done!