问题标签 [informat]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
527 浏览

format - sas中的格式和信息

我有以下数据:

*我需要在 date7.informat 中阅读此内容,然后在 date9.format 中显示数据。

*我如何读取以宽度格式开头的数据,以及如何在我的汽车不是完全数字的情况下将日期的宽度从 7 转换为 9?

当尝试这样的事情时:

它失败了,因为我在非完全数字 var 上使用了数字格式

0 投票
3 回答
1085 浏览

string - SAS 无法识别日期格式

我有以下字符日期格式:

我尝试了以下代码:

我不断收到以下错误消息:Informat MMYYSW was not found or could not be loaded.

0 投票
1 回答
406 浏览

character-encoding - SAS特殊字符抛出输入的列对齐

我正在将一个 .dat 数据集输入到 sas 中,用于教学信息使用的练习。这是我到目前为止所拥有的。

这适用于每一行,除了那些包含特殊/国际字符的行。如:

这些行在第一个货币值 (@53 sales comma6.) 处跳闸,并引发警告,指示为该输入找到无效数据,并分配缺失值 (.)。

玩弄@指针和通知 w 值似乎表明特殊字符正在抛弃列对齐,这可能吗(一个特殊字符实际上占用 2 位/空格,即使它打印为单个字符。有一个简单的解决方案?

0 投票
2 回答
472 浏览

format - 当原始数据混乱时,使用 SAS 中的信息读取日期

我本质上是在尝试使用信息将杂乱的数据读入 SAS 并遇到问题。我在原始 txt 文件中有以下形式的数据列,例如:

对于 RegDate,0 = 缺失,否则存在日期。我想将这些数据读入 SAS,将“NA”作为零,将日期作为日期,然后输出到数据集中。

如果所有日期都存在,我可以使用代码

但是我无法读取上面的文本文件,因为它没有考虑零,因为信息设置为读取日期。

如果使用 proc import 语句

它尝试使用 best32。信息,因为第一行有一个零。然后无法读入日期。

所以我需要创建某种自定义格式。我可以单独为数字信息或单独的字符信息或图片信息(日期需要?)执行此操作。我无法弄清楚如何为一个变量组合多种格式。我确信解决方案非常简单,但是我无法在网上找到它,所以如果这很明显,我深表歉意。有没有办法a)将一些IF-THEN语句放入格式中,以便它根据输入做不同的事情b)纯粹以文本形式读取数据,以便需要使用格式。

0 投票
1 回答
171 浏览

sas - SAS使用Format创建新变量

我在想一个问题:如何使用 informat.create 创建一个新变量。像:我们有这样的信息:

和这样的数据集:

现在我想要一个这样的数据集:

有没有办法通过使用我构建的信息将数字变量年龄放入字符变量年龄组?谢谢。

0 投票
1 回答
1236 浏览

sas - 以毫秒为单位的 SAS 日期信息

我正在尝试为以下日期格式创建 SAS 信息:

“yyyy-mm-dd hh:ii:ss.SSS UTC”,例如:“2016-01-14 10:31:01.456 UTC”

我已经使用以下格式代码接近了:

不幸的是,当我尝试将其用作 INFORMAT 时,我收到错误“找不到格式 MyDate”,因为它没有被定义为信息,只是一种输出格式。

我可以尝试从以此格式创建的数据集创建信息,但由于毫秒限制,它只会创建映射到毫秒部分中时间为 0.000 的值。例如:

即使我能够以毫秒为单位枚举一个数据集,它也会非常大。因为我的约会可以跨越数年。

是否可以在将我的输入数据传递给信息之前截断它?我不在乎毫秒或 UTC 限定符。我无法更改输入数据。

编辑:anydtdtm.用作信息会导致空值没有错误消息。以下是使用此信息的数据步骤:

0 投票
1 回答
403 浏览

function - 使用 DATETIME18 从现有变量创建具有月份编号的变量。SAS 中的信息

我正在尝试一些非常简单但惨遭失败的事情。

使用 SAS 查询生成器,我想根据现有的日期变量创建一个带有月份编号的新变量。

我要更改的变量的一个示例是:07/01/2015 00:00

所以我想创建一个带有数字 1 的新变量。

我现有的变量有一个信息 DATETIME18。

所以我尝试了以下方法:

以上两者都创建了一个新变量,但所有字段都是空的。

所以我想改变变量信息以删除时间元素然后使用月份函数,所以我尝试了:

但我收到以下错误:错误:函数 MDY 需要一个数值表达式作为参数 2。错误:函数 MDY 需要一个数值表达式作为参数 3。

有任何想法吗?当变量具有 DATETIME18 时,我基本上想从变量中提取月份数。提供信息。

提前感谢保罗

0 投票
2 回答
4842 浏览

sas - SAS中格式和长度的区别

我不明白“格式”、“信息”和“长度”之间的区别。

0 投票
0 回答
148 浏览

sas - 这次在 SaS 中读取 hh:mm:ss PM 或 AM 哪个 Informat?

我无法从 excel 中读取类似的列

在 Windows 10 TimeZone +2 上的 SAS Base 9.4

0 投票
1 回答
845 浏览

file-io - 输入期间的 SAS 重命名变量

自学 SAS 用户在这里。

我经常使用我几乎无法控制并在几个不同用户之间共享的数据集。

我通常使用 infile 语句以 CSV 格式读取文件 + 使用 informat、format 和 input 语句块定义变量。在此过程中,我是否可以继续重命名变量——前提是所有内容都以正确的顺序重命名——或者它们是否必须与原始数据集匹配并在以后的数据步骤中重命名?

例如,数据集中的变量名称是“100% 全额支付”。我知道 SAS 变量不能以数字开头,而且我也想在一般情况下简化变量名称,所以我可以执行以下操作:

或者,也许我的效率很低。我尝试在没有整个信息/格式/输入业务的情况下进行简单的 proc 导入,但我发现尝试重新定义变量类型让我更加头疼(我使用的所有数据集都有文本、美元、百分比,一般数字,日期...)。无论如何,其他提示高度赞赏 - 谢谢!

编辑

也许我应该问的问题是:有什么方法可以保留美元和百分比的 csv 格式(通过 proc 导入,这似乎将这些转换为字符)?我知道我可以在导入文件之前在 Excel 中手动将格式从美元/百分比更改为“一般”,但我更愿意避免额外的手动步骤,而且因为我确实希望将这些保留为美元和百分比。还是我最好执行 informat/format/input 来指定 csv 的数据类型,以便以我希望的方式读取变量?

注意:我无法导入 xls 或 xlsx 文件,因为我使用的是 64 位计算机和/或缺少所需的驱动程序(或两者兼有)。即使在 32 位计算机上,我也永远无法做到这一点。