有没有办法根据历史数据进行过滤?例如:“显示所有在 2013 年 1 月 1 日具有“Attribute_X”== True 的对象”
问问题
1319 次
1 回答
1
正如史蒂夫所说,这需要一个高级的 DXL 脚本。
我不确定是否要为此创建过滤器,但是确定您正在寻找的那些对象,我可能会提供帮助。最近解决了一个类似的任务,我建议从 Tony Goodman 非常出色的Smart History Viewer开始(此代码可以用作 DXL 教程!),它几乎包含您需要的所有代码。你只需要找到并理解它。
让我详细说明。除了其他漂亮的东西,历史查看器基本上可以:
对于所有(选定的)基线,明确包括未基线的当前版本:收集所有模块更改并将它们分别放入二维跳过列表中,用于模块/对象/会话更改。关注对象的变化。
代码中有一个未使用的函数printObjectHistory
,有助于理解数据结构。看看内循环
for hist in skipHistory do
在此循环中,仅考虑“01/01/2013”之前发生的更改(检查hist->HIST_DATE
以获取此信息)。历史查看器代码已经对检测到的更改进行了分类,因此您要注意包含字符串“Modify Attribute: Attribute_X”的更改。将新值分配给缓冲区。在此循环之外,检查缓冲区是否包含“True”。如果是这样,你这是你想要找到的对象之一。
于 2015-07-31T14:26:20.407 回答