SAS。如何克服单元存储限制问题?

时间:2013-09-19 20:25:29

标签: sas

我有问题。我将数据从Teradata Database直接导入SAS。数据如下所示:

id fragmentId   fragment
1     34       (some text)
2     67       (some text)
3     89       (some text) 
.......

问题是片段字段包含10页的文本,甚至更多(30,000,000个字符)。因此在SAS中,我得到了列截断和松散的数据。 如何增加包含文本的SAS列的限制?

(PS:我已经查找dbmax_text选项,因为@Joe建议。但是,看起来这个选项适用于除teradata之外的任何dbms)。 我该如何编码?

1 个答案:

答案 0 :(得分:1)

Teradata确实不支持DBMAX_TEXT。它似乎也不支持几乎与您列出的字符大小相同的字符大小; teradata的the doc page列出最多64,000个字节;而且,SAS只能在一列中保存最多32767个字符。

在您的情况下,您可能需要考虑将数据库中的列拆分为32767个字节的块(或者根据您的需要进行逻辑检测)。在视图中以直通方式执行此操作,然后从该视图中读取数据。

- 以前的信息(对Teradata以外的其他DBMS有帮助,在这里没用) -

您需要将dbmax_text选项更改为更大的值 - 它往往默认为1024。

您可以在pull(数据步骤或sql查询)中将其更改为数据集选项,或在数据库libname语句中更改它。

有关详细信息,请参阅the documentation page