Credits:
Author: Unknown
Date: 25 Aug 2009
Description
This is a technique to produce a quick character-graph representation of results.
There are no dynamic parameters to allow the graphs to be automatically sized to the results, although I'm sure this could be wrapped in a stored procedure.
Code
The technique:
SELECT OrderDate , COUNT(*) AS 'Orders' , CAST(REPLICATE('=', COUNT(*)) AS VARCHAR(30))AS 'OrderGraph' , SUM(TotalDue) AS 'Revenue' , CAST(REPLICATE('$', SUM(TotalDue)/1000) AS VARCHAR(50)) AS 'RevenueGraph' FROM AdventureWorks.Sales.SalesOrderHeader WHERE OrderDate Between '2003-07-15' And '2003-07-31' GROUP BY OrderDate ORDER BY OrderDate;
|
The results:
OrderDate Orders OrderGraph Revenue RevenueGraph ----------- ------ ------------------------------ ---------- -------------------------------------------------- 15 Jul 2003 19 =================== 34025.24 $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 16 Jul 2003 14 ============== 26687.65 $$$$$$$$$$$$$$$$$$$$$$$$$$$ 17 Jul 2003 16 ================ 32411.93 $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 18 Jul 2003 9 ========= 18634.91 $$$$$$$$$$$$$$$$$$$ 19 Jul 2003 13 ============= 19603.23 $$$$$$$$$$$$$$$$$$$$ 21 Jul 2003 9 ========= 11781.62 $$$$$$$$$$$$ 22 Jul 2003 17 ================= 32322.50 $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 23 Jul 2003 15 =============== 30906.44 $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 25 Jul 2003 15 =============== 27058.10 $$$$$$$$$$$$$$$$$$$$$$$$$$$ 26 Jul 2003 18 ================== 41076.49 $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 27 Jul 2003 15 =============== 22169.88 $$$$$$$$$$$$$$$$$$$$$$ 28 Jul 2003 16 ================ 23945.80 $$$$$$$$$$$$$$$$$$$$$$$$ 30 Jul 2003 12 ============ 23476.44 $$$$$$$$$$$$$$$$$$$$$$$ 31 Jul 2003 18 ================== 36266.76 $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|