字符串列的默认字节大小为200字节。因此它会导致问题:如果文本超过200个字节,则会被剪切。
我需要使用代码(不使用按钮)将其增加到300。我该怎么做? 我尝试更改格式和信息,但这并没有影响大小。
format SmsText $1000.;
informat SmsText $1000.;
整个代码:
data early_dpd_for_export_cut;
retain phoneNumber name_io url contractNumber SmsText;
set early_dpd_for_export_cut;
format SmsText $1000.;
informat SmsText $1000.;
SmsText1 = '! Не успели оплатить кредит? Перейдите по ссылке' ;
SmsText = catx("", name_io, SmsText1);
SmsText = catx("", SmsText, links);
SmsText2 = 'и сообщите дату оплаты просроченной задолженности по кредитному договору. ПАО Банк "ФК Открытие". Тел. 88005007044.';
SmsText = catx("", SmsText, SmsText2);
drop SmsText1;
drop SmsText2;
run;
答案 0 :(得分:1)
data early_dpd_for_export_cut;
retain phoneNumber name_io url contractNumber SmsText;
attrib length SmsText $300 format $300.;
set early_dpd_for_export_cut;
SmsText1 = '! Не успели оплатить кредит? Перейдите по ссылке' ;
SmsText = catx("", name_io, SmsText1);
SmsText = catx("", SmsText, links);
SmsText2 = 'и сообщите дату оплаты просроченной задолженности по кредитному договору. ПАО Банк "ФК Открытие". Тел. 88005007044.';
SmsText = catx("", SmsText, SmsText2);
drop SmsText1;
drop SmsText2;
run;
尝试像这样的长度语句。
长度和格式语句的顺序与Longfish
的评论相同
答案 1 :(得分:1)
通过以下四种方式之一控制长度:
Length
声明(或attrib length
)Format
声明(或attrib format
)Set
声明数据步骤中遇到的第一个(从上到下,从左到右)将设置变量的长度。
对于数字变量,您可以随时更改长度。对于字符变量,您无法更改数据步骤中第一次遇到的长度。 (这是因为数字长度仅影响输出数据集;出于速度原因,数据步骤执行期间所有数字都是8个字节。但字符长度会立即生效并持续存在。)
因此,为了更改set
上已存在的变量的长度
作为字符变量的语句,您必须在该列表中具有其中一个其他语句(length
,format
,attrib
,其中包含这两个属性之一或赋值){ {1}}陈述。
您可以查看length的文档以获取更多信息。
答案 2 :(得分:0)
Joe的答案非常完整
但是从一些评论来看,原始数据集可能还有格式附加到字符变量。这可能导致出现的值被截断。最好的办法是从字符变量中删除$nn.
格式。
data want ;
length make_me_longer $300 ;
set have ;
format _character_;
run;