簡體   English   中英

如何更改 SAS 數據集成中的列中的數據?

[英]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

你必須意識到根本的區別

  1. 在 DI studio 中定義一個THE_TABLE ,它在元數據中創建表的描述
  2. 通過運行The_Job創建THE_TABLE ,這會在包含數據的文件夾中創建一個文件

如果The_Job真的每次都從頭開始創建THE_TABLE (這對於 ETL 作業很典型),那么在 DI studio 中更改THE_TABLEThe_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM