通过命令行导出单个刚果报告

Exporting individual Congos Reports via command line

我正在尝试研究如何通过命令行导出单个 Cognos 报告,以便在 Git 中逐个报告级别进行源版本控制。我假设 XML 将是输出格式。

我读到 Cognos SDK 可以提供帮助,但您需要构建自己的解决方案,这可能是可行的,但这个用例感觉就像许多其他人已经想要的东西并且已经有工具了。

当然,也需要导入个人报告。

有人可以帮忙吗?

谢谢。

您可以使用 http://www.motio.com 等公司提供的工具。使用免费版本,您可以导出 XML 份报告,但只能一份一份地导出。

您还可以使用报告的 Cognos 部署,该部署会生成包含报告 XML 的 zip 文件,但所有报告都在同一个文件中,您必须提取 XML 的个人报告。

我发现 SDK 很麻烦,而且当我开始工作时,速度很慢。

是的,报告规格是 XML。

我已经创建了一个流程来产生您所要求的输出。这是它涉及的内容:

  • 获取报告的递归通用table表达式(CTE)查询 specs 以及在 Cognos 中看到的文件夹结构。
  • 用于运行 查询并将结果写入文件系统的 PowerShell 脚本。
  • 另一个 PowerShell 脚本从远程 git 存储库中提取当前内容,运行 第一个 PowerShell 脚本,然后添加、提交并将结果推送到远程 git 回购。

我还编写了一个 PowerShell 脚本来执行与 git 推送相关的操作。这涉及使用我发现的名为 HTML Tidy (http://tidy.sourceforge.net/) 的程序,该程序可用于使 XML 人类可读。这有助于 git 中的差异。我使用 TFS,所以如果我整理了 XML,我会得到一个很好的并排差异。 (否则,它告诉我 XML 的唯一一行已更改。)

我最近添加了仪表板(探索)和数据集(dataSet2)的输出。仪表板存储为 JSON,因此我的例程必须整理它(在 PowerShell 中很简单)。

我 运行 我的日常工作是每天获取最近 3 天的新内容和修改过的内容(以防万一),每周进行一次完整的转储(以捕获删除内容)。每周的过程大约需要六分钟。日常流程可以忽略不计

在你问之前:我对提供实际代码犹豫不决,因为我不能对你的系统承担任何责任。



更新:

不建议破解 Content Store 数据库,IBM 也不支持它。

对于 reference/comparison:我在 Windows 2012 R2 上的 IIS 上 运行ning IBM Cognos 11.0.7,在 MS SQL Server 2016 上使用 Content Store 数据库.您的系统可能不同。


其他资源
https://www.cognoise.com/index.php/topic,28289.msg113869.html#msg113869
https://www.cognoise.com/index.php/topic,17411.msg50409.html#msg50409
https://docs.microsoft.com/en-us/powershell/scripting/overview?view=powershell-6
https://docs.microsoft.com/en-us/sql/t-sql/language-reference?view=sql-server-2017
https://git-scm.com/docs
http://tidy.sourceforge.net/

如果您的最终目标是版本控制(谁在何时更改了什么?),您应该研究一下 MotioCI。上次看的时候,没有免费版的MotioCI。