sas - SAS 变量值与指定的格式不匹配
问题描述
我有一个 SAS 数据集。当我“查看列”时,我发现一列 Type=text,length=3,informat = $3.,format=$3。此变量中存储的值为 10。
但是根据属性,不应该存储为010吗?
解决方案
属性说你有一个可以容纳 3 个字节的字符变量(普通字符编码每个字符使用一个字节)。您可以将“010”存储在该变量或“10”甚至“10”中。您还可以存储“ABC”或“abc”。它只是一个字符变量。请注意,SAS 始终存储固定长度的字符字段,因此较短的值用空格填充。
它还可选地添加了 FORMAT 元数据,说明在显示值时 SAS 应该使用 $3。格式。同样,它有可选的元数据,说明在阅读文本时应该使用 $3。informat 将传入的文本转换为要存储的值。
不需要此元数据,因为 SAS 已经知道如何读取和显示字符数据。如果您确实使用前导空格存储值,您可能希望附加$CHAR3.
格式,以便在写入值时保留前导空格。
推荐阅读
- python - ValueError:无效端点:https://s3..amazonaws.com
- math - 查看矩阵:反转旋转还是不反转旋转?
- java - Java Diffie hellman 初始化 ECDHKeyAgreement
- java - 在服务器没有收到客户端的响应之前,每 5 秒重新启动一次服务器
- mongodb - 部分更新删除了 mongodb 中的所有其他字段
- woocommerce - DoCapture API 返回 ACK => Success 但 PAYMENTSTATUS => Pending 和 PENDINGREASON 是 paymentreview
- c# - 如何让用户响应命令 C# discord bot
- c++ - 为什么语句中的链接方法无法给出预期的结果?
- c++ - 无法将 bitblt() 移到透明窗口 c++/winapi 的中心
- python - 我想知道每个帖子的 ManyToMany 字段是否包含 django 中的用户 ID