服务器管理 > 报告 > 高级报告脚本写入 > 查询和 Walk 函数
查询和 Walk 函数
在报告脚本中,只要您创建报告的范围不仅必须包括原始查询中返回的项,还必须包括与查询中返回的项相关的项,就可以使用查询和 Walk 函数。例如,您可能想在报告文档内容或任何项层次时使用 Walk。您也可以指定多个关系使用 Walk。
以下是语法和结果的示例:
Query[((field[ID]=<%<%builtin ID%>%>)or(walk[<%builtin Contained By%>]<%<%builtin ID%>%>))]
返回当前项 (field[ID]) 以及从当前项开始向上遍历树所获得的所有项。
Query[((field[ID]=<%<%builtin ID%>%>)or(walk[<%builtin Contains%>]<%Relationship<%builtin ID%>%>))]
返回当前项以及从与当前项的相关项 (在关系标记内) 开始向下遍历树获得的所有项。
Query[((walk[<%builtin Contained By%>]<%<%builtin ID%>%>)and(item.segment))]
返回通过向上遍历树获得的段项。
Query[((item.node)and((field[ID]=<%<%builtin ID%>%>)or(walk[<%builtin Contained By%>]<%<%builtin ID%>%>)))]
返回包括当前项在内的所有节点,以及从当前项开始向下遍历树获得的任何节点。
在报告中呈现文档
walkDocOrderedQuery[(walkdocordered[<%<%builtin ID%>%>])]%>
返回由 ID 指定的文档内容。内容按照在“文档”视图中的出现顺序返回。
walkDocOrdered 查询指定 recurseinclude 标志,以递归到包括的文档中。
walkDocOrderedQuery[(walkdocordered[<%<%builtin ID%>%>]recurseinclude)]%>
筛选器只能通过使用筛选器标记更新报告脚本来应用。在运行报告的视图内应用的筛选器不会在生成的报告中应用。Section 字段不能用于筛选。
例如:
<%beginrelationshipsdetail Query[(walkdocordered[<%<%builtin ID%>%>]recurseinclude)]%>
<%filter%>(field[Category] = “Heading”)<%endfilter%>"
<% Relationship <%virtual Section%>%>
<%Relationship <%builtin Category%>%>
<%Relationship Text%>
<%Relationship <%builtin Document ID%>%>
<%endrelationshipsdetail%>
返回与文档内容相关的项的详细信息
使用嵌套关系标记返回与文档内容相关的项的详细信息。
例如:
<%beginrelationshipsdetailL2 Query[(walkdocordered[<%Relationship <%builtin ID%>%>]recurseinclude)]%>
<%RelationshipL2 <%virtual Section%>%>
<%RelationshipL2 <%builtin Category%>%>
<%RelationshipL2 Text%>
<%RelationshipL2 <%builtin ID%>%>
<%RelationshipL2 <%builtin Document ID%>%>
<%beginrelationshipsdetailL3 Validated By%>
<%RelationshipL3 <%builtin ID%>%>
<%endrelationshipsdetailL3%>
<%endrelationshipsdetailL2%>
在报告中包括部分
要在报告中包括部分编号,请将 <%virtual section%> 标记与其他关系标记以及 walkDocOrdered 查询子句结合使用。
例如,要生成一份包含部分、类别、文本和文档 ID 值的报告,请将以下语法包括在报告脚本中:

<%begindetail%>
<%beginrelationshipsdetail
Query[(walkdocordered[<%<%builtin ID%>%>]recurseinclude)]%>
<%Relationship <%virtual Section%>%>
<%Relationship <%builtin Category%>%>
<%Relationship Text%>
<%Relationship <%builtin Document ID%>%>
<%endrelationshipsdetail%>
<%enddetail%>

已知的限制
只有在 walkDocOrdered 查询子句未与任何其他子句结合的情况下,该文档的章节编号才是正确的。
这对您有帮助吗?