有没有可以将 SAS 转换为 SQL 的工具?
我面临着一个 4 页 SAS 的东西 - 宏?程序?它内部有过程、DATA 块和 PROC 块,一个用于从 Oracle 导入的 PROC SQL 块。
有没有一种工具可以将 SAS 转换为可读的内容?理想的是 SQL 或 PL/SQL(两者似乎都适用于此),但几乎任何程序都将是一种改进。我不需要可运行的东西,只需要人类可读的东西。
我已经知道 2 种已消亡的语言(TAL 和 TACL)——请有人让我免于学习 SAS。
I am confronted with a 4-page SAS thing - macro? procedure? it has procedures within it, DATA blocks and PROC blocks, one PROC SQL block for importing from Oracle.
Is there a tool that could translate SAS to something readable? Ideal would be SQL or PL/SQL (both seem applicable here), but almost anything procedural would be an improvement. I don't need something runnable, just something human-readable.
I know 2 dead languages already (TAL and TACL) - someone please save me from having to learn SAS.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
存在 SAS->SQL 转换器。你不能购买他们,但你可以雇用他们。
SAS->SQL converters exist. You can't buy them, but you can hire them.
SAS 不仅仅是一个数据访问工具。如果将 SAS 转换为 SQL,您将失去功能。
如果您只是寻找解释,请发布 SAS 代码的链接。我们中的一些人知道这种“死”语言。
SAS is more than a data access tool. You would lose functionality if you converted SAS to SQL.
If you're just looking for an explanation, post a link to the SAS code. Some of us know this "dead" language.
对你的问题的简短回答是否定的。如果不学习语言,就没有办法做到这一点。
The short answer to your question is no. Short of learning the language there is no way to do this.
我是一名 SAS 程序员。
我也是一名 SAS 转换器。我已将 SAS 转换为 Java、RDBMS(Sybase、SQL 服务器或 Oracle)、JavaFreeCharts、AJAX。
我也是一名 SAS 减速器 - 适用于仍希望保留 SAS 统计后端但保留 AJAX 前端的项目。
没有完整的方法将 SAS 转换为 SQL,因为
所以,是的 - 有一种方法可以将 SAS 转换为 Java EE 或 .NET 以及 SQL 或 Perl。正如埃默里大学如此简洁地指出的那样——你必须雇人来做这件事。
I am a SAS programmer.
I am also a SAS converter. I have converted SAS to Java, RDBMS (Sybase, SQL server or Oracle), JavaFreeCharts, AJAX.
I am also a SAS reducer - for projects that still want to retain SAS statistical backend but AJAX frontend.
There isn't a complete way to convert SAS to SQL because
So, yes - there is a way to convert SAS to Java EE or .NET and SQL or Perl. As Emory so succinctly puts it - you've got to hire someone to do it.
如果您只是想知道代码的一般用途,请将其发布,我可以告诉您。如果您希望它完美地转换为另一种语言或一组语言,那么您需要聘请像 Blessed Geek 这样的人来为您做这件事。
这可能是一项不平凡的练习,特别是当过程块用于统计算法(例如多元回归)而不仅仅是基本数据操作或计算指标(例如平均值或标准差)时。
在我上一家公司,我们有大量生产 SAS 代码(数千行),用于对杂货销售数据进行计量经济学建模。当 SAS 以他们正在开发的竞争产品为由决定拒绝我们进一步获得该软件的许可时,我们花了 9 个月的时间将其转换为 Java、一种名为 Rapids 的数据流产品以及我们从一家小公司购买的一些专有分析库的组合。那时,这是 8 名开发人员的全职工作。其中 4 人非常了解 SAS,另外 4 人非常了解 Java。在两个世界之间进行翻译是一个持续的挑战。
无论如何,我想你明白我的意思。
If you just want to know what the code is doing generally, post it and I can tell you. If you want it converted perfectly to another language or set of languages, then you would need to hire someone like Blessed Geek to do it for you.
It can be a non-trivial exercise, particularly if the procedure blocks are for statistical algorithms (such as multivariate regression) and not just for basic data manipulation or calculating metrics such as the mean or standard deviation.
At my last company, we had a large chunk of production SAS code (thousands of lines) that performed econometric modeling of grocery sales data. When SAS decided to deny us further licensing of the software citing a competitive product they were developing, we spent 9 months converting it to a combination of Java, a data flow product called Rapids, and some proprietary analytic libraries we purchased from a small company. It was a full time job for 8 developers during that time. 4 of them understood SAS really well, and the other 4 Java really well. Translating between the two worlds was a constant challenge.
At any rate, I think you see my point.