代码之家  ›  专栏  ›  技术社区  ›  Matt Parker

报表的版本控制(git)

  •  2
  • Matt Parker  · 技术社区  · 16 年前

    我有一个特别的报告,我被要求不时运行。每一次的细节都略有不同——不同的日期范围,不同的选择标准——但从结构上看,报告相当稳定。不过,我确实会时不时地做一些结构性的改变。

    2) 能够回顾随着时间的推移对报告所做的结构变化。

    我可以想出几种不同的方法:为每个报表创建一个分支,但只将结构更改合并回主报表;将母版复制到新报表的子文件夹中,在那里进行更改,将结构更改向后推;但是我真的不知道如何区分疯狂的想法和合理的想法,更不用说好的了。让我知道你的想法。谢谢。

    3 回复  |  直到 16 年前
        1
  •  2
  •   cristobalito    16 年前

    我个人同意你的第一个建议:

    仅合并结构更改

    这在概念上是迄今为止最简单的,通过将结构更改合并到head修订中,您可以在需要时将它们应用到其他分支(在请求时)。唯一的缺点是你会留下大量的分支,这听起来像是一个罕见的请求,一个好的命名方案应该解决这个问题。

        2
  •  4
  •   Triad sou. DaveW    14 年前

    这显然取决于报告,以及它将如何改变,但按照你所说的,我觉得你可以写一个好的和有意义的SAS宏程序,可以作为你的所有选择标准的参数。 在SAS宏代码中,您可以计算参数并在必要时进行结构更改。

    因此,一个只有一个大宏的.sas文件,根据调用宏所使用的参数,它可以复制所有需要的报告。

    这对你有意义吗?如果它不让我知道,我可以提供一些SAS宏的例子,让你开始如果你不熟悉它。

        3
  •  1
  •   haydenmuhl    16 年前

    我有一个特别的报告,我被要求不时运行。每一次的细节都略有不同——不同的日期范围,不同的选择标准——但从结构上看,报告相当稳定。

    如果您可以预测哪些字段每次都会更改,那么我建议您创建一个通用报告,在每次运行报告时提示您输入这些数据。您应该能够在任何报告软件中完成这一点。报告本身可以在git中跟踪,您不必担心存储库中有50000个分支。

    结果集 ,我建议换一种方法。我不知道你的报告生成了什么,但假设它是PDF格式的。我会在某个地方建立一个目录结构,你可以将每次运行存储在 results/year/month/date.pdf

    编辑: 对于不能合并到单个报表中的内容,可以考虑使用标记而不是分支。如果你有一个版本,你认为你需要快速访问,标记它。任何时候你需要回到它,只要检查标签和运行报告。