数据分析任务-自定义配置文件请求

时间:2018-08-03 05:27:48

标签: sql-server ssis etl sql-server-2016 data-profiling

是否可以为SSIS数据分析任务创建自定义配置文件请求?

目前,在SSIS数据分析任务下有5个标准配置文件请求:

  1. 列空率配置文件请求
  2. 列统计信息配置文件请求
  3. 列长度分布配置文件请求
  4. 列值分配配置文件请求
  5. 候选密钥配置文件请求

我需要添加另一个(自定义),以获取所有数值的汇总。

预先感谢您的帮助。

2 个答案:

答案 0 :(得分:7)

基于此Microsoft Documentation,SSIS数据分析任务只有5个主要配置文件(在您的问题中列出),并且没有添加自定义配置文件的选项。

出于类似的原因,我将创建一个Execute SQL Task来实现此目的,您可以使用所需的聚合函数和where子句中的ISNUMERIC函数:

SELECT MAX(CAST([Column] AS BIGINT)) -- Maximum value
       ,MIN(CAST([Column] AS BIGINT)) -- Minimum value
       ,COUNT(Column) -- Count values
       ,COUNT(DISTINCT [Column]) -- Count distinct values
       ,AVG(CAST([Column] AS BIGINT)) -- Average
       ,SUM(CAST([Column] AS BIGINT)) -- Sum
FROM TABLE
WHERE ISNUMERIC([Column]) = 1

答案 1 :(得分:2)

我认为您要在此处创建一个仅在IsNumeric(SourceColumn) = 1时填充源列的计算列。

然后使用Column Value Distribution Profile Request设置为ValueDistributionOption在计算列上使用AllValues创建配置文件任务。

编辑:

为了进一步说明,在SSIS中,计算列不一定是任务,尽管这就是我想到答案时的想法。您可以更改要分析的表,添加计算列,然后按照上面的说明创建“分析任务”。

我还假设您要分析单个列的值。如果要对多个列执行此操作,或者需要分析从详细信息记录汇总的汇总值,那么此答案可能不是最佳解决方案。