8. Lots of SQL
SELECT
(CASE WHEN "Month" :: INT < 10 THEN ((("Year" :: INT) :: CHAR(6)) || '0' || (("Month" :: INT) :: CHAR(6))) ELSE ((("Year" :: INT) :: CHAR(6)) || (("Month"
:: INT) :: CHAR(6))) END) :: INT AS "YRMO",
(CASE WHEN (CASE WHEN "Month" :: INT < 10 THEN (("Year" :: CHAR(6)) || '0' || ("Month" :: CHAR(6))) ELSE (("Year" :: CHAR(6)) || ("Month" :: CHAR(6))) END)
= '201401' THEN 0 ELSE ((SUM("PPI")/SUM("Multiplier") - LAG(SUM("PPI")/SUM("Multiplier"), 1) OVER (ORDER BY (CASE WHEN "Month" :: INT < 10 THEN (("Year" ::
CHAR(6)) || '0' || ("Month" :: CHAR(6))) ELSE (("Year" :: CHAR(6)) || ("Month" :: CHAR(6))) END)))/LAG(SUM("PPI")/SUM("Multiplier"), 1) OVER (ORDER BY (CASE WHEN
"Month" :: INT < 10 THEN (("Year" :: CHAR(6)) || '0' || ("Month" :: CHAR(6))) ELSE (("Year" :: CHAR(6)) || ("Month" :: CHAR(6))) END))) END) :: DECIMAL(5,4) AS
"PPIchange",
(CASE WHEN (CASE WHEN "Month" :: INT < 10 THEN (("Year" :: CHAR(6)) || '0' || ("Month" :: CHAR(6))) ELSE (("Year" :: CHAR(6)) || ("Month" :: CHAR(6))) END)
= '201401' THEN 0 ELSE ((SUM("Value")/SUM("Multiplier") - LAG(SUM("Value")/SUM("Multiplier"), 1) OVER (ORDER BY (CASE WHEN "Month" :: INT < 10 THEN (("Year" ::
CHAR(6)) || '0' || ("Month" :: CHAR(6))) ELSE (("Year" :: CHAR(6)) || ("Month" :: CHAR(6))) END)))/LAG(SUM("Value")/SUM("Multiplier"), 1) OVER (ORDER BY (CASE WHEN
"Month" :: INT < 10 THEN (("Year" :: CHAR(6)) || '0' || ("Month" :: CHAR(6))) ELSE (("Year" :: CHAR(6)) || ("Month" :: CHAR(6))) END))) END) :: DECIMAL(5,4) AS
"DoDchange"
FROM
transportation.Cube_Cost_Index
WHERE
("PPI" <> 0
OR
"Value" <> 0)
GROUP BY
"Year", "Month"
ORDER BY
"Year" :: INT, "Month" :: INT
8
9. Challenging Programming
(SELECT
((CASE WHEN "Ship Month" :: INT < 10 THEN ((("Ship Year" :: INT) :: CHAR(6)) || '0' || (("Ship Month" :: INT) :: CHAR(6))) ELSE ((("Ship Year" :: INT) ::
CHAR(6)) || (("Ship Month" :: INT) :: CHAR(6))) END) || '01') :: DATETIME AS "Month", SUM("total cuts") :: FLOAT AS "value", 'Net Adjustments ($)' AS "measure", 4
AS "sortOn"
FROM
transportation.Cube_Cost_Performance
WHERE
((("Ship Year" :: CHAR(6)) IN (@SingleQuote.Request.iptShipYear~))
AND
(REPLACE("Carrier Name", ',', '') IN (@SingleQuote.Request.iptCarrierName~))
AND
("Eqp Mode" IN (@SingleQuote.Request.iptEqpMode~))
AND
("Service" IN (@SingleQuote.Request.iptService~))
AND
(REPLACE("Origin GBLOC", ',', '') IN (@SingleQuote.Request.iptOriginGBLOC~))
AND
("HAZMAT" IN (@SingleQuote.Request.iptHAZMAT~))
AND
("Program" IN (@SingleQuote.Request.iptProgram~)))
GROUP BY
"Ship Year" :: INT, "Ship Month" :: INT)
UNION
(SELECT
((CASE WHEN "Ship Month" :: INT < 10 THEN ((("Ship Year" :: INT) :: CHAR(6)) || '0' || (("Ship Month" :: INT) :: CHAR(6))) ELSE ((("Ship Year" :: INT) ::
CHAR(6)) || (("Ship Month" :: INT) :: CHAR(6))) END) || '01') :: DATETIME AS "Month", SUM("original total") :: FLOAT AS "value", 'Initial Invoice Total' AS
"measure", 5 AS "sortOn"
FROM
transportation.Cube_Cost_Performance
WHERE
((("Ship Year" :: CHAR(6)) IN (@SingleQuote.Request.iptShipYear~))
AND
(REPLACE("Carrier Name", ',', '') IN (@SingleQuote.Request.iptCarrierName~))
AND
("Eqp Mode" IN (@SingleQuote.Request.iptEqpMode~))
AND
("Service" IN (@SingleQuote.Request.iptService~))
AND
(REPLACE("Origin GBLOC", ',', '') IN (@SingleQuote.Request.iptOriginGBLOC~))
AND
("HAZMAT" IN (@SingleQuote.Request.iptHAZMAT~))
AND
("Program" IN (@SingleQuote.Request.iptProgram~)))
GROUP BY
"Ship Year" :: INT, "Ship Month" :: INT)
9