gpt4 book ai didi

sas - 命名输入和 URL

转载 作者:行者123 更新时间:2023-12-05 00:22:41 25 4
gpt4 key购买 nike

我正在尝试将一些日志数据读入 SAS Enterprise Guide。数据包含一些 URL 以及其他类型的变量。该格式不是 SAS 的 native 格式,所以这就是为什么它对某些人来说可能看起来有点连线。我已经使用数据线(在我的程序中使用 infile-statment)制作了一个代码示例(原始数据包含个人信息),因此您可以了解我的可怕情况:

DATA URL;
INFILE datalines delimiter=" " dsd EXPANDTABS TRUNCOVER;
INPUT F1 $18. REQUESTURL=$40. URL=$40. REFERER=$40.;
DATALINES;
21-07-2017 REQUESTURL="www.google.dk" URL="www.jubii.dk/user=hej" REFERER="(Iphone CPU Iphone OS)"
;
RUN;

结果是缺少变量 URL,据我所知,这是字符串中等号的结果。 SAS 读取等号之前的内容作为新变量,这是我试图避免的。我更喜欢使用命名输入(例如 REQUESTURL=),因为它命名了变量。但我需要获取完整的 URL 字符串,因为它包含大量信息(在原始数据集中)。我试过将 PROC IMPORT 与空格分隔符一起使用,但这会分隔变量 REFERER。

最佳答案

查看文档中嵌入等号的值示例 https://v8doc.sas.com/sashtml/lgref/z0148147.htm#z0148299他们提到值周围存在双空格。因此,我尝试预处理您的数据线以将双引号字符转换为双空格。

filename sample temp;
data _null_;
file sample;
infile cards expandtabs truncover ;
input line $200. ;
line = tranwrd(line,'"',' ');
len=lengthn(line);
put line $varying200. len;
cards;
21-07-2017 REQUESTURL="www.google.dk" URL="www.jubii.dk/user=hej" REFERER="(Iphone CPU Iphone OS)"
;

然后它起作用了。

DATA URL;
INFILE sample TRUNCOVER;
LENGTH F1 $18 REQUESTURL $40 URL $40 REFERER $40;
INPUT F1 REQUESTURL= URL= REFERER= ;
run;

enter image description here

您可能还需要折叠任何现有的双空格。

line = tranwrd(compbl(line),'"','  ');

关于sas - 命名输入和 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48524135/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com