I have an Excel file that needs to be imported into SQL Server.
Excel sheet:
Product | 202147 | 202148 | 202149 |
---|---|---|---|
Prod-A | 15 | 10 | 11 |
Prod-B | 7 | 18 | 16 |
This needs to be read into a SQL Server table MyData
:
YearWeek | Product | Value |
---|---|---|
202147 | Prod-A | 15 |
202147 | Prod-B | 7 |
202148 | Prod-A | 10 |
202148 | Prod-B | 18 |
202149 | Prod-A | 11 |
202149 | Prod-B | 16 |
How can I do this in an SSIS import?
CodePudding user response:
You can't do that directly on SSIS import. On the other hand, you can import your excel on a table and then run the following sql query to achieve your goal:
select yearWeek, product, value
from myData
unpivot (value for yearWeek in ([202147], [202148], [202149])) up
order by 1,2
-- Result
/*
yearWeek product value
202147 Prod-A 15
202147 Prod-B 7
202148 Prod-A 10
202148 Prod-B 18
202149 Prod-A 11
202149 Prod-B 16
*/