2

有没有办法根据历史数据进行过滤?例如:“显示所有在 2013 年 1 月 1 日具有“Attribute_X”== True 的对象”

4

1 回答 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 回答