|
mercybthomas74
Starting Member
3 Posts |
Posted - 2008-02-14 : 09:44:31
|
| i have table OrdersShippedGroup OrderId OrderDesc DateRec IstDate Shiped Cases1 123 aaaa 1/1/2006 1/25/2008 2001 123 aaaa 1/26/2007 1/25/2008 2581 123 aaaa 2/1/2007 1/25/2008 2441 224 qqqq 2/8/2007 1/25/2008 2441 224 qqqq 2/15/2007 1/25/2008 2452 333 www 2/1/2007 2/8/2008 25742 333 www 2/15/2007 2/8/2008 8983 999 oooo 2/1/2007 3/5/2008 7503 888 mmm 1/26/2007 3/5/2008 58423 999 oooo 3/12/2007 3/5/2008 685Writing a report on Week basesso far I have DECLARE @sql varchar(8000), @Shipped_Week_ID int, @Min_Week_ID int, @Max_Week_ID int, @counter int, @wk int SELECT @Shipped_Week_ID = Min(DATEPART(wk, DATEADD(week, ROUND(52.1775 * - 1, 0), [IstDate Shiped]))) FROM OrdersShipped SELECT @Min_Week_ID = MIN(DATEPART(wk, DATEADD(week, ROUND(52.1775 * - 1, 0), DateRec))) FROM OrdersShipped SELECT @Max_Week_ID = MAX(DATEPART(wk, DATEADD(week, ROUND(52.1775 * - 1, 0), DateRec))) FROM OrdersShipped SET @counter = 1 SELECT @sql = 'SELECT [group],OrderId, OrderDesc, --DateRec, --Cases, --DATEPART(wk, DATEADD(week, ROUND(52.1775 * - 1, 0), DateRec)) AS Week_ID, DATEPART(wk, DATEADD(week, ROUND(52.1775 * - 1, 0), [IstDate Shiped])) AS Shipped_Week_ID, ' WHILE @counter <= @Max_Week_ID BEGIN SELECT @wk = CASE WHEN ((@counter + @shipped_week_id -1) % (@Max_Week_ID)) = 0 THEN @Max_Week_ID ELSE ((@counter + @shipped_week_id -1) % (@Max_Week_ID)) END SELECT @sql = @sql + 'Sum(CASE WHEN DATEPART(wk, DATEADD(week, ROUND(52.1775 * - 1, 0), DateRec)) = ' + CONVERT(varchar, @wk) + ' THEN Cases ELSE 0 END) AS Wk' + CONVERT(varchar, @wk) + ' ,' SET @counter = @counter +1 END SELECT @sql = STUFF(@sql, LEN(@sql), 1, '') SELECT @sql = @sql + ' FROM OrdersShipped group by [group],OrderId, OrderDesc,[IstDate Shiped]' EXEC (@sql) This results....Group OrderID OrderDesc WeekId wk4 wk5 wk6 wk7 wk8 wk9 wk10 wk11 wk1 wk2 wk31 123 aaaa 4 258 244 0 0 0 0 0 0 0 200 01 224 qqqq 4 0 0 244 245 0 0 0 0 0 0 02 333 www 6 0 2574 0 898 0 0 0 0 0 0 03 888 mmm 10 5842 0 0 0 0 0 0 0 0 0 03 999 oooo 10 0 750 0 0 0 0 0 685 0 0 0But I want to seeit should be based Groups.. and the 1st shipped dates... For Group 1 the highest 1st shipped is 4 For Group 2 the highest 1st shipped is 6 For Group 3 the highest 1st shipped is 10 Group 1 : WeeKID is 4 - starts from wk4 ... wk11 then wk1,wk2,wk3 Group 2 : WeeKID is 6 - starts from wk6 ... wk11 then wk1,wk2,wk3,wk4,wk5 so on .... Group OrderID OrderDesc WeekId wk4 wk5 wk6 wk7 wk8 wk9 wk10 wk11 wk1 wk2 wk3 wk4 wk5 wk61 123 aaaa 4 258 244 0 0 0 0 0 0 0 200 0 0 0 01 224 qqqq 4 0 0 244 245 0 0 0 0 0 0 0 0 0 02 333 www 6 0 0 0 898 0 0 0 0 0 0 0 2574 03 888 mmm 10 0 0 0 0 0 0 0 0 0 0 0 5842 0 03 999 oooo 10 0 0 0 0 0 0 0 685 0 0 0 0 750 0 |
|