2010-03-16 118 views
6

我的工作的一部分涉及从SQL Server创建报告和数据以用作决策信息。大部分数据是汇总的,如库存,部门的销售和成本总计以及其他维度。确保SQL报告正确性的最佳做法是什么?

当我创建报告时,更具体地说,我正在开发SELECT以从OLTP数据库中提取聚合数据,所以我担心误认为JOIN或GROUP BY,例如返回不正确的结果。

我尝试使用一些“最佳做法”,以防止我“产生”错误号码:

  • 当创建一个聚集的数据集,总爆炸该数据集而不聚集,寻找任何明显的错误。
  • 将展开的数据集导出到Excel中,并比较SQL Server和Excel中的SUM(),AVG()等。
  • 让那些使用这些信息并请求验证的人参与(请求人们帮助识别数字上的错误)。
  • 不要在下午部署这些东西 - 尽可能在第二天早晨尝试看看T-SQL,并且思路清晰。我使用这个简单的程序修正了很多错误。

即使这些程序,我总是担心数字。

确保报告正确性的最佳做法是什么?

回答

2

您是否考虑过使用生成已知结果的测试数据填充表格,并将您的查询结果与预期结果进行比较。

1
  • 签名,以书面形式

我发现的最佳实践之一是,无论是读取器/客户端和开发商是相同的(记录)页面上。这样,当神秘数字出现(并且他们这样做)时,我可以以书面形式指出规范并说:“这就是你看到这个数字的原因,你希望它有什么不同吗?”。

  • 测试,测试,测试

对于严重复杂的报告中,我们通过测试数据上升和下降与客户端,直到所有的号码是正确的,和客户进行满意。

  • 边缘情况

我们在把一切都颠倒(在我们结束)报告系统发现了一个严重的复杂情况。如果用户生成报告(例如2009年末),输入新年的数据,然后再生成相同的报告,该怎么办?数据已经改变,但报告不应该。思考和处理这些案例可以节省很多心痛。

0

编写一些自动化测试。

我们有相当多的报告服务报告 - 我们使用Selenium进行测试。我们使用测试数据页面将一些已知数据喷入空数据库,然后运行报告并声明数据与预期相符。

每次我们办理登机手续时都会运行这个版本,所以我们知道我们没有做太蠢的事情

相关问题