如何理解URI`SASLibrary?*[@Name='L_EDW_DS'][DeployedComponents/ServerContext[@Name='SASApp']]`?
How to understand the URI `SASLibrary?*[@Name='L_EDW_DS'][DeployedComponents/ServerContext[@Name='SASApp']]`?
试图掌握 SAS 元数据的 URI(统一资源标识符),我遇到了
Libname EDW_DS META LIBURI="SASLibrary?*[@Name='L_EDW_DS'][DeployedComponents/ServerContext[@Name='SASApp']]";
在从 SAS Enterprise Guide 导出的代码中。
- 谁能解释一下?
- 问号后面的星号是逻辑运算符
or
,
将后面的两个 [...]
联系起来?
- 是否有人从另一种查询语言中识别出此 URI 中的结构?
我一点一点地探索语法:
基础知识
ServerContext?*
列出了我所有的服务器,而 ServerContext?@name contains '_'
列出了名称中带有下划线的服务器。所以基本语法是
<Object type>?<condition>
组合条件
下面的两个 URI 都可以找到名称中包含 CRS
的职位
和 'reserves' 在他们的描述中:
Job?@Name contains 'CRS' and @Desc contains 'reserves'
Job?*[@Name contains 'CRS'][@Desc contains 'reserves']
因此构造 *[...][...]
相当于逻辑 and
。 *
是一个通配符,每个 [...]
广告一个条件
涉及相关对象
下面的 URI 查找名称中包含 CRS
的职位
驻留在其名称
中包含 AML
的文件夹中
Job?*[@Name contains 'CRS'][Trees/Tree[@Name contains 'AML']]
Tree
是 SAS 元数据中文件夹中的对象类型,Trees
是将作业与该文件夹相关联的关联类型。所以现在我看到上面的 URI 和问题中的 URI 都具有结构
<Object type>?*[<Condition on object>][<Association Type>/<Related Type>[<Condition on Related>]]
再举两个例子:
您在元数据文件夹中发现 SAS Base 库的名称中包含“_IN”或“_OUT”
SASLibrary?*[@Engine ='base'][Trees/Tree[@Name contains '_IN' or @Name contains '_out']]
我混合大小写,只是为了说明大小写不敏感。
这给出了部署在我的服务器上的数据仓库库
SASLibrary?*[@Name contains 'DWH'][DeployedComponents/ServerContext[@Name='SASApp_MINE']]
试图掌握 SAS 元数据的 URI(统一资源标识符),我遇到了
Libname EDW_DS META LIBURI="SASLibrary?*[@Name='L_EDW_DS'][DeployedComponents/ServerContext[@Name='SASApp']]";
在从 SAS Enterprise Guide 导出的代码中。
- 谁能解释一下?
- 问号后面的星号是逻辑运算符
or
, 将后面的两个[...]
联系起来? - 是否有人从另一种查询语言中识别出此 URI 中的结构?
我一点一点地探索语法:
基础知识
ServerContext?*
列出了我所有的服务器,而 ServerContext?@name contains '_'
列出了名称中带有下划线的服务器。所以基本语法是
<Object type>?<condition>
组合条件
下面的两个 URI 都可以找到名称中包含 CRS
的职位
和 'reserves' 在他们的描述中:
Job?@Name contains 'CRS' and @Desc contains 'reserves'
Job?*[@Name contains 'CRS'][@Desc contains 'reserves']
因此构造 *[...][...]
相当于逻辑 and
。 *
是一个通配符,每个 [...]
广告一个条件
涉及相关对象
下面的 URI 查找名称中包含 CRS
的职位
驻留在其名称
AML
的文件夹中
Job?*[@Name contains 'CRS'][Trees/Tree[@Name contains 'AML']]
Tree
是 SAS 元数据中文件夹中的对象类型,Trees
是将作业与该文件夹相关联的关联类型。所以现在我看到上面的 URI 和问题中的 URI 都具有结构
<Object type>?*[<Condition on object>][<Association Type>/<Related Type>[<Condition on Related>]]
再举两个例子:
您在元数据文件夹中发现 SAS Base 库的名称中包含“_IN”或“_OUT”
SASLibrary?*[@Engine ='base'][Trees/Tree[@Name contains '_IN' or @Name contains '_out']]
我混合大小写,只是为了说明大小写不敏感。
这给出了部署在我的服务器上的数据仓库库
SASLibrary?*[@Name contains 'DWH'][DeployedComponents/ServerContext[@Name='SASApp_MINE']]