• I'm all for POP (Proof of Principle) code... the problem is, that people don't make such code scalable to begin with. People want the code real bad and that's the way they get it. It's usually undocumented, slothful, and sometimes inaccurate. The biggest problem is that it appears to work and who would ever go back and fix something that works?

    There's nothing wrong with people using spreadsheets to explore possibilities nor to even run the business especially if they're good at it (and many are). Spreadsheets were the first form of wide-spread BI. The key is to provide those spreadsheets with common and accurate sources of data in a timely fashion. Spreadsheets also allow the users to experiment with the data to do critical what-ifs and a host of other things including formatting the data the way they want to present it.

    I think most shops have gotten carried away with such PITA tools as Business Objects, Reporting Services, and a whole host of other reporting software. Let people play with their data... help them do it in a consistant manner by providing it in a timely and consistent manner.

    A great example of what I mean occurred at the shop I was recently working at. The rule was that Reporting Services was the tool that users would use to get the "data". They couldn't get it in the format they wanted so they could "what-if" the hell out of it, so they ordered a report that would return nearly half a million rows. Of course, Reporting Services hurled on that. Cut it short folks... if you don't want to make a gazillion ad hoc reports each month, give the users the raw data (gen it from a stored proc) and let them play with it. It's actually what they get paid to do.

    The problem with that suggestion is that 5% of the people have screwed it all up for the rest of the world necessitating such things as SOX which can pretty much put the kabosh on such things.

    So, let's flip this around... the users need to be patient and helpful to IT because IT is trying to do their job, as well. That job would be to not only correctly insert or gen the data, it must also protect the data by lawful edict. Hell, they can't even purge old email messages anymore unless they've been archived. They're just doing their job and if you want them (IT) to help you, then you have to help them a bit, as well.

    Remember... you're all in the same company. Make it work, folks. 😉

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)