sql - 如何使用复杂的 proc SQL 格式化 SAS 脚本
问题描述
今天我被要求用不可读的主要 Proc SQL 格式化长 SAS 脚本(不尊重简单的 SQL 可读性规则):
- 没有缩进的叠层 SQL 查询
- 案件不被尊重
- ETC...
我尝试了自动 SaS 格式化程序,但它不格式化 Proc SQL。你有什么想法 ?我们有很多脚本,团队已准备好手动执行此操作,这似乎很容易出错,我不确定最终我们是否会有相同的语法。
欢迎任何提示!如果需要,我可以添加代码片段,但我认为问题很清楚,我不是第一个遇到它的人。
解决方案
我建议忽略您目前在 SAS 中的事实,而是专注于 SQL 本身。找到一种你熟悉的语言,它的库可以用其他语言格式化代码——例如 Python 可以做到这一点——然后:
- 将 .sas 文件作为文本文件打开
- 找到“PROC SQL”文本并从那里抓取到“QUIT”(不区分大小写)
- 将该内部文本传递给 SQL 代码格式化程序
- 获取结果并将其重新插入到文本文件中
沿着这些路线的东西是你最好的选择。SAS 没有为此内置任何东西,所以你必须到外面去。
推荐阅读
- django - django-admin "ModuleNotFoundError:" 更改开发和生产的设置结构后
- docker - 如何将 Kafka 从 Docker 暴露给外界?
- dji-sdk - DUXCameraSettingsController 似乎在 UXSDK 4.8.x 中被破坏
- angularjs - AngularJS foreach - 为未分配的值产生大量空值
- entity-framework - 我怎样才能减少具有相同属性的表
- couchbase - Map 类型数据的 MappingException
- spring-boot - springBoot 1.5.15.RELEASE版本如何配置lettuceConnectionFactory
- php - Apache - 仅允许具有特定 SSL 证书的客户端访问(POST)特定端点
- mysql - MySQL连接列并计算同一张表中的值
- azure - Azure 文档数据库:创建集合时抛出“DocumentClientException”,并显示错误消息“指定的会话令牌无效”