问题标签 [sas]

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 投票
10 回答
10377 浏览

sas - 在 BASE SAS 中打破不平衡报价条件的最佳技巧是什么?

作为基础 SAS 程序员,您知道以下练习:

您提交了包含不平衡引用的 SAS 代码,所以现在您不仅有未闭合的引用,还有未闭合的注释、宏函数定义和缺少的运行;或退出;陈述。

不让那些不平衡的报价打扰您的最佳技巧是什么?

0 投票
5 回答
4292 浏览

sas - Storing SAS data (including table structure) in a single flat file

I need to convert SAS data tables into flat files (or "ASCII files" as they were called once, as opposed to binary files). And only one flat file for each original SAS table. The challenging thing is that I want the flat file to contain some structural information of the original SAS table also, specifically:

  • Variable/Column name
  • Variable/Column label
  • Variable/Column type
  • Variable/Column length
  • Variable/Column format
  • Variable/Column informat

Additional information:

  • I will only need to convert small data (< 100 obs).
  • Performance is not an issue (within reasonable limits).
  • The flat file should form a basis for recreating the original SAS table, I don't need to be able to use the file directly as a table in DATA or PROC steps.

The standard SAS tables, transport files, XPORT files, etc are all binary format files, and the standard XML table format in SAS and CSV-files don't preserve table structure. So obviously these options don't help.

What is my best option?

0 投票
2 回答
3271 浏览

xml - 在 SAS 中读取 XML 数据时设置数据类型

在 SAS 中读取 XML 数据时需要控制数据类型。使用 SAS 中的 XML libname 引擎写入和访问 XML 数据。

SAS 似乎根据列的内容猜测数据类型:如果我将“20081002”写入字符列中的 XML 数据,它将作为数值变量读回。

一个例子:

在 XML 数据中,只有最后一列被定义为数值数据类型,但是当我将其复制到我的 WORK 库中时,只有text_char列是字符。其他 3 个现在是数字。

在 SAS 中读取 XML 数据时如何控制数据类型?

0 投票
2 回答
26931 浏览

sas - 通过过滤度量值在 MDX 中定义计算成员

我需要在 MDX 中定义一个计算成员(这是 SAS OLAP,但我很感谢那些使用不同 OLAP 实现的人的回答)。

新度量的值应通过应用附加过滤条件从现有度量计算。我想举个例子会更清楚:

  • 现有度量:“总流量”
  • 现有维度:“方向”(“In”或“Out”)
  • 我需要创建一个计算成员“传入流量”,它等于带有附加过滤器的“总流量”(Direction = “In”)

问题是我不了解 MDX,而且我的日程安排非常紧张(对于新手问题,我深表歉意)。我能想到的最好的是:

这几乎可以工作,除了具有特定方向的单元格:

例子

所以看起来方向上的“内在”过滤器被我自己的过滤器覆盖)。我需要“内在”过滤器和我自己的过滤器的交集。我的直觉是,它与[Direction].[(All)].[In]与被评估单元格的内在坐标相交有关,但如果不先阅读该主题,就很难知道我需要什么:)

[更新]我结束了

..但至少在 SAS OLAP 中,这会导致对基础数据集执行额外的查询(以计算 [in] 的值),所以我最终没有使用它。

0 投票
5 回答
831 浏览

sas - sas 单线

有没有办法在 sas 中运行单行,或者我必须创建一个文件?我正在寻找类似于 perl 中的 -e 标志的东西。

0 投票
6 回答
2137 浏览

r - 如果您已经熟悉 R,学习 SAS 的资源

我想学习一些 SAS,因为我对一些倾向于专门使用它的行业感兴趣。但是,我不想陷入假设我对统计编程一无所知的资源。对于具有 R 统计经验的程序员,是否有很好的指南?

谢谢,史蒂文

0 投票
3 回答
1960 浏览

sas - 在 SAS 中,在数据步骤之外,用空白替换宏变量中的字符的最佳方法是什么?

在 SAS 中,在数据步骤之外,用空白替换宏变量中的字符的最佳方法是什么?

这似乎TRANSLATE是一个很好的功能。但是,当%SYSFUNC与此函数一起使用时,参数不会用引号括起来。您如何表示应使用空白作为替换?

0 投票
5 回答
6028 浏览

sas - 在 SAS 8.2 中合并/加入 2 个大型数据集的有效方法

我尝试了以下选项,但响应时间不可接受 - 创建索引“键”也无济于事(注意:两个数据集中的重复“键”):

=== 或 ===

0 投票
4 回答
28987 浏览

sas - SAS:从另一个调用一个宏...宏定义的顺序

在我的代码中,我有几个宏。宏 A 是主宏。然后宏 A 调用宏 B,宏 B 又调用宏 C。

在 SAS 中,我是否必须按倒序定义它们?换句话说,我是否必须先定义宏 C,然后定义宏 B,最后定义宏 A?还是因为 SAS 在实际执行运行宏的命令之前读取了所有代码,这是否重要?就此而言,我可以发出命令将宏作为代码中的第一条语句运行,然后在命令下方定义宏吗?

谢谢!

0 投票
1 回答
850 浏览

sas - SAS:自动执行文件的时间/将格式应用于数据集以供查看

这是背景。对不起,时间太长了:
我为 3 个不同的项目进行 SAS 编程。每个项目都有自己的主项目文件夹。每个主项目文件夹都包含一个格式文件夹(其中包含格式目录),然后是其他几个文件夹,每个文件夹都包含程序和数据集。我的大部分工作都是在批处理模式下完成的,所以 SAS 通常是不开放的。不过,有时我想在 SAS 中打开一个数据集来查看特定的内容。当我这样做时,SAS 不知道在哪里寻找合适的格式目录,因为格式目录从不与数据集位于同一文件夹中。所以我目前使用一个指定nofmterr选项的 autoexec.sas 文件,这样我的数据集就会打开。

不过,我真的很希望能够以适当的格式打开我的数据集。我编写了一个不同的 autoexec 程序,它使用一个对话框窗口询问我正在处理哪个项目,然后fmtsearch相应地设置选项。如果我想先打开 SAS,然后打开数据集,这非常有用。但是,如果 SAS 尚未启动并运行,并且我尝试通过双击打开数据集,则会发生以下情况:autoexec 文件开始运行,然后 SAS 尝试在 autoexec 文件完成运行之前打开数据集。因此,如果我nofmterr设置了,数据集将在没有格式的情况下打开,或者如果我没有nofmterr设置,数据集将根本无法打开。

所以这是我的问题:有没有办法让 SAS 等到 autoexec 文件完成运行后再尝试打开数据集?或者,有没有其他方法可以解决这个问题?(我不想将所有 3 个格式文件都添加到该fmtsearch选项中,因为不同的项目可能具有相同名称的不同格式。)