|
|
|
SSIS: как сделать такой производный столбец?
|
|||
|---|---|---|---|
|
#18+
Есть входная таблица (неудобная, но какая есть): id человека дата дата2 должность1 02.01.2011 05.05.2011 помощник1 02.03.2011 05.05.2011 старший программист 1 - это номер человека, таблица описывает то, как он гулял. 02.01.2011 он устроился на работу 02.03.2011 он перешёл в другую должность 02.05.2011 он уволился. Для всех строк с одинаковым ID дата2 будет одинаковой. В общем, я хочу это импортировать в свою БД и для этого хотел бы сделать произвольный столбец, который по-человечески бы описывал дату окончания. id человека дата дата2 должность1 02.01.2011 01.03.2011 помощник1 02.03.2011 05.05.2011 старший программист ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 16:19 |
|
||
|
SSIS: как сделать такой производный столбец?
|
|||
|---|---|---|---|
|
#18+
Charles Weyland, в чем сложность найти следующую запись по паре {ID, дата} и сделать "-1"? https://msdn.microsoft.com/ru-ru/library/hh213125(v=sql.120).aspx ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 16:28 |
|
||
|
SSIS: как сделать такой производный столбец?
|
|||
|---|---|---|---|
|
#18+
в том, что у меня SQL server 2008 R2, плюс, хотелось бы знать, как это сделать в SSIS - т.е. до того, как данные попадут в базу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 17:05 |
|
||
|
SSIS: как сделать такой производный столбец?
|
|||
|---|---|---|---|
|
#18+
А почему так не сделать? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. Если нужен только SSIS, то воспользуйтесь sql таском ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 17:10 |
|
||
|
SSIS: как сделать такой производный столбец?
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 18:00 |
|
||
|
SSIS: как сделать такой производный столбец?
|
|||
|---|---|---|---|
|
#18+
спасибо вам за ответы)) про lead вообще не знал, теперь просмотрю, что там нового появилось в последние годы. И да, я действительно сейчас сделал соответствующий таск в ssis с sql-кодом. Если вдруг кто-то появится, кто обрисует, как это сделать в блоке скрипта, я был бы счастлив :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 19:46 |
|
||
|
SSIS: как сделать такой производный столбец?
|
|||
|---|---|---|---|
|
#18+
Charles WeylandЕсли вдруг кто-то появится, кто обрисует, как это сделать в блоке скрипта, я был бы счастлив :)не нужно это делать скрипт-компонентом. вы потеряете на производительности (если это имеет значение). можно эту задачу решить конечно и скрипт-компонентом и даже обычными тасками дата-флоу (без скрипта), но всё это будет в разы хуже простого запроса из пары строк, что вам привели выше с lead. вставляете этот запрос в дестинейшен и понеслась :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 21:34 |
|
||
|
SSIS: как сделать такой производный столбец?
|
|||
|---|---|---|---|
|
#18+
Дедушка, Спасибо за информацию про производительность. Я сделал запросом. Не lead, конечно (т.к. у меня 2008, а lead доступен с 2012), а с помощью нумерации строк. Вообще, поскольку данных всё-таки не так много (пара десятков тысяч), и выполняется задача ночью, то производительность вообще не имеет значения. А сделать я такое хотел в познавательных целях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2017, 10:32 |
|
||
|
SSIS: как сделать такой производный столбец?
|
|||
|---|---|---|---|
|
#18+
Дедушка, Вам привел не оспоримые аргументы в производительности, + сопровождение.... Если цель академическая, то: 1. Источник данных запрос Код: sql 1. 2. 3. 4. 5. 6. 2. добавить вычисляемые столбцы (в SSIS) NumM = Num - 1 и FdateM = Fdate - 1 день 3. многоадресная рассылка (поток 1 и поток 2) 4. Left Join потоков по связи [поток 1].Id = [поток 2].ID и [поток 1].Num = [поток 2].NumM 5. Если значение [поток 2].FdateM = null тогда значение [поток 1].XDate иначе [поток 2].FdateM далее отладите что я упустил,... но к этому лучше не привыкать, сегодня мало данных, через месяц много или еще процессы ETL в одном пакете дадут существенную потерю производительности и затраты на ресурсы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2017, 11:03 |
|
||
|
SSIS: как сделать такой производный столбец?
|
|||
|---|---|---|---|
|
#18+
*ошибся с запросом Код: sql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2017, 11:05 |
|
||
|
|

start [/forum/topic.php?fid=49&gotonew=1&tid=1858170]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
158ms |
get topic data: |
13ms |
get first new msg: |
7ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 13ms |
| total: | 283ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...