Je .csv comme ceci:Format de fichier .csv à l'aide SSIS
+---------+--------+--------------------+---------+-----+----------+----------------+
| CLIENTE | CENTRO | MATERIAL | PERIODO | MES | UNIDADES | PLATAFORMA |
+---------+--------+--------------------+---------+-----+----------+----------------+
| 100013 | 2001 | 1A000-991801053303 | 2017 | 1 | 100 | F25 -(BMW X3) |
| 100013 | 2001 | 1A000-991801053303 | 2017 | 2 | 200 | F25 -(BMW X3) |
| 100013 | 2001 | 1A000-991801053303 | 2017 | 3 | 300 | F25 -(BMW X3) |
| 100013 | 2001 | 1A000-991801053303 | 2017 | 4 | 400 | F25 -(BMW X3) |
| 100013 | 2001 | 1A000-991801053303 | 2017 | 5 | 500 | F25 -(BMW X3) |
| 100013 | 2001 | 1A000-991801053303 | 2017 | 6 | 600 | F25 -(BMW X3) |
| 100013 | 2001 | 1A000-991801053303 | 2017 | 7 | 700 | F25 -(BMW X3) |
| 100013 | 2001 | 1A000-991801053303 | 2017 | 8 | 800 | F25 -(BMW X3) |
| 100013 | 2001 | 1A000-991801053303 | 2017 | 9 | 900 | F25 -(BMW X3) |
| 100013 | 2001 | 1A000-991801053303 | 2017 | 10 | 1000 | F25 -(BMW X3) |
| 100013 | 2001 | 1A000-991801053303 | 2017 | 11 | 1100 | F25 -(BMW X3) |
| 100013 | 2001 | 1A000-991801053303 | 2017 | 12 | 1200 | F25 -(BMW X3) |
+---------+--------+--------------------+---------+-----+----------+----------------+
et je l'ai lu sans problème avec la source de fichier plat et enfin envoyer à ADO NET destination. Le problème est que notre client veut lire les registres d'une autre façon. Leur fichier .csv est formaté comme:
+---------+--------+--------------------+----------------+--+----------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
| CLIENTE | CENTRO | MATERIAL | PLATAFORMA | | 2017-1 | 2017-2 | 2017-3 | 2017-4 | 2017-5 | 2017-6 | 2017-7 | 2017-8 | 2017-9 | 2017-10 | 2017-11 | 2017-12 |
+---------+--------+--------------------+----------------+--+----------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
| 100013 | 2001 | 1A000-991801053303 | F25 -(BMW X3) | | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | 1000 | 1100 | 1200 |
| 100013 | 2001 | 1A000-991801053303 | F25 -(BMW X3) | | | | | | | | | | | | | |
| 100013 | 2001 | 1A000-991801053303 | F25 -(BMW X3) | | | | | | | | | | | | | |
| 100013 | 2001 | 1A000-991801053303 | F25 -(BMW X3) | | | | | | | | | | | | | |
| 100013 | 2001 | 1A000-991801053303 | F25 -(BMW X3) | | | | | | | | | | | | | |
| 100013 | 2001 | 1A000-991801053303 | F25 -(BMW X3) | | | | | | | | | | | | | |
| 100013 | 2001 | 1A000-991801053303 | F25 -(BMW X3) | | | | | | | | | | | | | |
| 100013 | 2001 | 1A000-991801053303 | F25 -(BMW X3) | | | | | | | | | | | | | |
| 100013 | 2001 | 1A000-991801053303 | F25 -(BMW X3) | | | | | | | | | | | | | |
| 100013 | 2001 | 1A000-991801053303 | F25 -(BMW X3) | | | | | | | | | | | | | |
| 100013 | 2001 | 1A000-991801053303 | F25 -(BMW X3) | | | | | | | | | | | | | |
| 100013 | 2001 | 1A000-991801053303 | F25 -(BMW X3) | | | | | | | | | | | | | |
+---------+--------+--------------------+----------------+--+----------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
Donc premiers registres de la cinquième colonne: 2017-10
et 100
correspondent à la première rangée d'un autre 4 colonnes 2017-11
et 200
à la deuxième rangée et ainsi de suite ...
Comme vous pouvez voir les 4 premières colonnes sont les mêmes, mais la colonne 5 pas. Ils fusionnent la colonne PERIODO
et MES
et en dessous, nous avons la colonne UNIDADES
. que je veux est comment le formater .csv et le format en premier.
Donc, en conclusion, je veux convertir deuxième fichier .csv en premier
je lis que je peux y parvenir en utilisant PIVOT. Mais je ne comprends vraiment pas comment l'utiliser. Je recherche des tutoriels à ce sujet et je n'ai rien trouvé de similaire que je veux faire.
package SSIS réelle:
Vous pouvez convertir des lignes en colonnes à l'aide des opérateurs relationnels de serveur SQL Pivot. Au lieu d'effectuer cette tâche à l'aide de SSIS, utilisez SQL. – observer