• In some cases we've even gone a layer of abstraction further than putting the formatting logic in the sql, and put it in an underlying metadata table. For example where your KPI gauges all have different threshold percentage rates for poor/fair/good performance. For KPI1 the colour change from poor to fair might be at 50%. For KPI2 it might be at 60% and so on. You don't want all that logic tied up in a big ugly CASE WHEN THEN statement in SQL, or worse, a switch function in an SSRS expression, or even worse, several nested Iif()s. If it's in a table, there's no need to change any SQL and no need to redeploy the report (testing first of course). Just change a value in the table and you're done.

    ...One of the symptoms of an approaching nervous breakdown is the belief that ones work is terribly important.... Bertrand Russell