[英]How to change the data in a column in SAS Data Integration?
我有一個現有的 ETL 解決方案,內置 SAS 數據集成,其中一列最初設置為具有所有 null 值。 我想用實際數據填充該列。 該表中的原始列被設置為接收具有特定格式和格式的數值。 在我更改代碼(這是簡單的部分)之后,我注意到該列不接受字符值(我沒有收到錯誤,我只是注意到該列仍然具有所有 NULL 值)。 任何人都可以幫忙嗎?
因此,您有一個在數據集成工作室(1)中定義的表,並通過很久以前運行作業(2)使用數字列創建。 讓我們將該表THE_TABLE
字段the_field
和將數據加載到THE_TABLE
的作業The_Job
你必須意識到根本的區別
THE_TABLE
,它在元數據中創建表的描述The_Job
創建THE_TABLE
,這會在包含數據的文件夾中創建一個文件如果The_Job
真的每次都從頭開始創建THE_TABLE
(這對於 ETL 作業很典型),那么在 DI studio 中更改THE_TABLE
和The_Job
就足夠了。 您的編輯只會更改元數據,但下次運行The_job
時,將使用正確的結構創建THE_TABLE
。
但是,如果The_Job
更新THE_TABLE
或附加到它,您的編輯將不會更改THE_TABLE
的結構,並且您的作業將不適合文件THE_TABLE
的結構,就像它仍然存在於文件夾中一樣,因此您必須在運行The_Job
之前轉換THE_TABLE
.
這可以通過一個簡單的程序來完成,例如
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;
正確的屬性語句很可能在某處為The_Job
生成的代碼中。
請注意,在具有開發、測試和生產環境的典型設置中,您將在每個環境中都需要該程序一次。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.