问题标签 [fcmp]

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 投票
4 回答
1159 浏览

sas - 为什么 PROC FCMP 函数总是返回 33 个字节而不再返回?

我通过PROC FCMP. 代码的要点应该非常明显且相对简单。我从一行 XHTML 返回属性的值。这是代码:

无论我对长度或attrib语句做什么来尝试显式声明返回的数据类型,它总是只返回最多 33 个字节的请求字符串,而不管实际返回值有多长。无论我正在搜索哪个属性,都会发生这种情况。数据步骤中的相同代码(硬编码)返回正确的结果,因此这与PROC FCMP.

这是我用来测试它的数据步骤(其中 PageSource.html 是任何具有 xhtml 兼容属性的 html 文件——完全引用):

更新:升级到 SAS9.2 - Release 2 后,这似乎可以正常工作

0 投票
2 回答
1487 浏览

proc-sql - 这个 SAS 代码有什么问题?

我从网上找到的一篇论文中复制了代码。

当我执行代码时,它显示消息:错误 68-185:函数 WHATAMI 未知,或无法访问。

我尝试了其他功能并始终显示此消息。我更改了 libname,但没有任何效果。怎么了?

0 投票
2 回答
314 浏览

arrays - 在 proc fcmp 中使用 read_array 读取数据集的问题

我正在尝试读取具有 4030 个观察值和 23 个变量的数据集。我在 proc fcmp 中这样做,使用 read_array (...) 语句。大多数变量都有字符类型,但是当我尝试阅读代码时:

我得到每个字符变量的错误:

错误:数据集“WORK.input”中的列“Variable2”在函数 READ_ARRAY 中不是数字。

read_array 是否仅适用于数字变量?我究竟做错了什么?(我的其余代码很简单,我确信它是正确的)。

我正在使用 SAS Enterprise Guide 4.3。

0 投票
1 回答
754 浏览

sas - SAS9.3 PROC FCMP 不能保存用户定义函数

我想使用 proc fcmp 在 SAS9.3 中定义我自己的函数。操作系统是 aix 64 位。这是我的代码(reg_func.sas):

但是在运行 sas reg_func.sas 之后,我收到了一些警告

警告:无法将模型写入数据集 mylib.funcs,因为它当前已打开或已作为标准数据集存在。将恢复为 V8 CATALOG instread。警告:未能将函数 gen_sub_rule 保存到 mylib.funcs.rule。

谁能帮忙?谢谢!

0 投票
1 回答
43 浏览

sas - 在 SAS 函数中是否有等效的“of some_array{*}”形式

我们的数据库早于具有良好 unicode 支持的数据库软件,取而代之的是 psuedo-base64 编码,用于在 ascii 字段中存储 UTF16 字符。我正在编写一个函数来将这种类型的字段转换为 SAS 中的直接 UTF8。

该函数循环遍历字符串,将每组三个 ascii 字符转换为 unicode 字符并将其放入数组中。在数据步骤中试验代码时,我曾经cat(of final{*})将数组转换为字符串,但相同的代码在函数中似乎无效。

我目前正在用collate = trim(collate)!!trim(final{i})任意长度的整理字符串整理循环中的字符串,但我想直接从数组中生成它,或者至少根据输入字符串的长度设置整理字符串的大小。

我在这里包含了数据和功能的粘贴箱。

编辑:我使用的 SAS 版本是 9.3

0 投票
1 回答
166 浏览

sas - 在 PROC FCMP 中散列数据时没有保证的 libname

我正在使用 SAS 的 PROC FCMP 编写一些用于重新编码的函数。这些将保存在共享目录中的数据集中,以便我的同事可以使用它们。大多数时候,这些函数只是在同一目录中散列查找表的包装器。

简化示例:

该函数适用于原始库名:

但是如果有人使用不同的库名,它不会:

除了坚持每个人都使用相同的库名称之外,有没有办法确保这些功能始终有效?

0 投票
1 回答
143 浏览

sas - SAS proc fcmp 返回丢失

我有以下代码:

我希望得到N温度。然而它不见了。虽然我提到了调试,但它%put &=res;解析为N, 但是put res; returns.`. 什么问题?

0 投票
1 回答
99 浏览

sas - sql 不尊重我的 fcmp 函数长度

谁能向我解释如何让 PROC SQL 为我的自定义函数的结果提供我在函数定义中指定的长度?Datastep 做得很好,但 SQL 给了我 200 个字符的默认长度。

这是演示该问题的代码:

我的登录是:

如您所见,datastep 在我的 'tes' 变量上给了我 11 的长度,但 sql 给了我 200。

使用 SQL 时有没有办法获得长度 11?

0 投票
1 回答
335 浏览

sas - Proc FCMP - 默认参数值

是否可以为proc fcmp函数参数指定默认值?像这样的东西:

从我收到的文档和错误消息中,我没有看到任何表明它受支持的信息,但如果是这样的话,这似乎是一个很大的疏忽。

SAS 9.4TSM4

0 投票
2 回答
280 浏览

sas - 带有 VARARGS 的 FCMP 没有按预期工作?

在研究 FCMP 以帮助回答这里的另一个问题时,我对proc fcmp使用该VARARGS选项时的工作原理感到有些困惑,以便能够使用可变数量的参数调用该函数。FUNCTION 语句的 sas 支持页面提供了以下示例,并明确指出“该示例暗示求和函数可以调用如下:sum = summation(1, 2, 3, 4, 5);。”

运行它似乎运行良好并生成一个输出报告,显示sum=15该报告似乎表明调用函数summation(1,2,3,4,5)按预期工作。

但是,如果我尝试在数据步骤中以相同的方式使用该函数

我在日志中收到错误

错误 72-185:求和函数调用的参数太多。

错误 707-185:求和子例程调用的参数 1 需要数组。

这让我很困惑。我错过了一些明显的东西吗?

第二条错误消息说该函数需要一个数组作为参数 1。忘记了在fcmpproc 中以这种方式调用该函数似乎有效并且 SAS 支持似乎表明这就是重点的事实;期望一个确实可以具有不同长度的数组实际上与接受可变数量的参数不同,数组是一个参数