March 4, 2012 at 7:39 am
abhilasht (3/4/2012)
So we must have the details on the Periods.Here i created one sample periods #period table. and come one more issue to find the available periods. So it puts as exec statements.See the sample
Go back and read this full thread. The OP has stated that he cannot use dynamic SQL because his company doesn't allow it.
--Jeff Moden
Change is inevitable... Change for the better is not.
March 4, 2012 at 7:42 am
siva 20997 (3/4/2012)
However putting the correct title in the TSQL itself with in the Pivot Command I am not if that can be done
Actually, I missed what Jonathan Livingston SQL did. His method works just fine. It's a simple and brilliant method.
--Jeff Moden
Change is inevitable... Change for the better is not.
March 4, 2012 at 10:52 am
I agree livingstones method works.
However you have write the script everytime you want to Execute it becaus the 12 months will change from
jan,feb,mar, etc
feb,Mar,Apr after a month etc
What I was planaing to do his put his method into a Store procedure called lets Say PeriodicSales with the start date as the parameter
so to execute it you would do
Exec PeriodicSales '01/01/2012' --- This for the first case
Exec PeriodicSales '02/01/2012' --- This for the seccond case
For that the titles must change within the script
That is where the Calendar tables come into play
If Livingstone Script does what the person wanted lets leave it at that.
We are just wrapping it up in SP so that it is flexible but it requires 2 supporting files
whcih can be used by manay queries like this
In accounting you have that requirment. Hence we have the supporting files as standard
1) is a period table setting up all the periods by Month or week or user defined like 13Month
2) is a dates table which has every date and the period it belongs to
For me to put how we do it we will have to put all these scripts on the forum and Sps whicg generates the Dates etc
after that only the SP we devlop to output as required will work
March 4, 2012 at 11:21 am
siva 20997 (3/4/2012)
I agree livingstones method works.However you have write the script everytime you want to Execute it becaus...
Nope, you don't. If you make the minor tweak of using GETDATE() for the @monthx variables, the code will be self maintaining.
--Jeff Moden
Change is inevitable... Change for the better is not.
March 4, 2012 at 11:37 am
I am not sure where you can use variables in the Pivot Statment so as to move the12 month period forward month by month
March 4, 2012 at 11:45 am
siva 20997 (3/4/2012)
I am not sure where you can use variables in the Pivot Statment so as to move the12 month period forward month by month
Livingston's code didn't use a PIVOT nor is one needed. He used the variables to control what was returned in each column of a Cross-Tab to populate a Temp table and then renamed the columns of the Temp Table. None of it requires Dynamic SQL.
--Jeff Moden
Change is inevitable... Change for the better is not.
March 4, 2012 at 12:01 pm
SELECT Customer,
Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec
FROM
(
Select
left(datename(month,SalesDate ),3) as mn
,Sales,Customer
from
#Sales
) AS SourceTable
PIVOT
(
sum(Sales)
FOR mn IN (Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec)
) AS PivotTable;
1) The Data mn,Sales,Cusomer is being Pivoted here. Is there a some other command called PIVOT if this is not PIVOT
2) How would you move the columns forward a Month without writing new code
3) How would you do it if it is needed week by week.
March 4, 2012 at 12:07 pm
siva 20997 (3/4/2012)
SELECT Customer,Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec
FROM
(
Select
left(datename(month,SalesDate ),3) as mn
,Sales,Customer
from
#Sales
) AS SourceTable
PIVOT
(
sum(Sales)
FOR mn IN (Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec)
) AS PivotTable;
1) The Data mn,Sales,Cusomer is being Pivoted here. Is there a some other command called PIVOT if this is not PIVOT
2) How would you move the columns forward a Month without writing new code
3) How would you do it if it is needed week by week.
Heh... for goodness sake, Siva... go look at the code that Livingston posted! You'll see how!
--Jeff Moden
Change is inevitable... Change for the better is not.
March 4, 2012 at 12:20 pm
Sorry. I have been looking at the wrong code
I should have been looking at Abishalt code
March 4, 2012 at 12:24 pm
siva 20997 (3/4/2012)
Sorry. I have been looking at the wrong codeI should have been looking at Abishalt code
Ah, got it. Your questions were conerning Abishalt's code.
--Jeff Moden
Change is inevitable... Change for the better is not.
Viewing 10 posts - 31 through 39 (of 39 total)
You must be logged in to reply to this topic. Login to reply