как изменить данные в столбце в SAS Data Integration - PullRequest
1 голос
/ 21 июня 2020

У меня есть существующее решение ETL со встроенной функцией интеграции данных SAS, в которой один из столбцов изначально настроен на все нулевые значения. Я хочу заполнить этот столбец фактическими данными. Исходный столбец в этой таблице был настроен на получение числовых c значений с заданным форматом c и в формате. После изменения кода (это простая часть) я замечаю, что столбец не принимает символьные значения (я не получал сообщения об ошибке, я просто заметил, что столбец по-прежнему имеет все значения NULL). Кто-нибудь может помочь?

1 Ответ

1 голос
/ 22 июня 2020

Итак, у вас есть таблица, которая определена в Data Integration studio (1) и создана путем запуска задания (2) долгое время go с числовым c столбец. Давайте назовем эту таблицу THE_TABLE, это поле the_field и задание The_Job, которое загружает данные в THE_TABLE

. Вы должны знать о фундаментальном различии

  1. определение THE_TABLE в DI studio, которое создает описание таблицы в метаданных
  2. создание THE_TABLE запуском The_Job, который создает файл в папке с данными

Если The_Job действительно создает THE_TABLE каждый раз с нуля (что типично для заданий ETL), достаточно изменить THE_TABLE и The_Job в DI studio. Ваши правки изменят только метаданные, но при следующем запуске The_job, THE_TABLE будут созданы с правильной структурой.

Однако, если The_Job обновляет THE_TABLE или добавляется к в нем ваши правки не изменят структуру THE_TABLE, и ваше задание не будет соответствовать структуре файла THE_TABLE, как будто он все еще существует в папке, поэтому вы должны преобразовать THE_TABLE перед запуском The_Job.

Это можно сделать с помощью простой программы, например

data THE_TABLE;
   set THE_TABLE (drop=the_field);            /* forget about the numeric field */
   attrib the_field length=$200 format=$200.; /* and create the character field */
run;

Правильный оператор attrib вполне может быть в коде, сгенерированном где-то для The_Job.

Помните, что в при стандартной настройке со средой разработки, тестирования и производства эта программа понадобится вам один раз в каждой среде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...