SSIS中字符串字段上的“聚合”

时间:2014-01-06 17:42:16

标签: sql-server ssis

我有来自备份日志(文件)的结果集,其中包含有关每个备份客户端的详细信息。 让我们说每行包含列:

ClientName    BackupObject   Status
----------------------------------- 
winsrv1       c:             Completed
winsrv1       d:/data/       Completed/Errors
winsrv1       d:/logs/       Completed
linux1        /data/         Aborted
etc.......................

可能的状态值为:

  • 已完成
  • 错误
  • 中止
  • Warrnings
  • 完成/错误
  • 已完成/警告
  • 其他一些。

我想通过ClientName对此结果集进行分组,并使Status的计算方式使其显示详细信息行中最严重(最强?)的错误。

目前唯一的想法是:

  1. 创建用于将StatusID映射到状态
  2. 的查找表
  3. 创建派生整数列“StatusID”并转换每行的状态(已完成= 1,已完成/警告= 2,已中止= 4等)
  4. 使用MAX(StatusID)函数进行聚合,并按ClientName进行聚合
  5. 执行查找转换以将状态添加回分组的结果集
  6. 虽然在理论上这应该有效但我觉得它不是非常优雅的解决方案,而不是SSIS的精神。 我是SSIS的新手,所以如果我问明显的事情,我会道歉。我还在学习SSIS的工作原理。

0 个答案:

没有答案