Ssis 在表达式中计算十进制整数变量值
我在SSIS中有一个场景,我在rowcount转换中使用@BadRecordCount来计算坏记录,在rowcount转换中使用@TotalRecordCount来计算总记录。我需要计算错误百分比。为此,我声明了另一个变量@ErrorPercentage,并使用表达式-@[User::RowCountBad]*100/@[User::TotalRecordsCount] 表达式的计算结果很好,但未给出十进制值 我尝试将变量数据类型更改为double,但它仍将其作为整数进行计算 我尝试将变量值更改为字符串,并抛出一个错误,表示指定的数据类型中不允许使用“*”,这意味着我不能在表达式中乘法 最后,我尝试将@BadRecordCount和@TotalRecordCount变量数据类型与@ErrorPercentage一起更改为double。现在,它使用decimal求值,这正是我想要的,但当我运行包时,它无法将@BadRecordCount和TotalRecordCount更改为INT,因为rowcount转换正在使用它们 我想举个例子: @[User::RowCountBad]=10000和@[User::totalrecordscont]=143000,那么作为计算,它给了我6.993006993006993 根据上面的表达式,它只给我6,但我需要6.99(最多2位小数)Ssis 在表达式中计算十进制整数变量值,ssis,Ssis,我在SSIS中有一个场景,我在rowcount转换中使用@BadRecordCount来计算坏记录,在rowcount转换中使用@TotalRecordCount来计算总记录。我需要计算错误百分比。为此,我声明了另一个变量@ErrorPercentage,并使用表达式-@[User::RowCountBad]*100/@[User::TotalRecordsCount] 表达式的计算结果很好,但未给出十进制值 我尝试将变量数据类型更改为double,但它仍将其作为整数进行计算 我尝试将变量值更改
感谢您的帮助 SSIS表达式非常痛苦-没有隐式转换 我想试试这样的东西:
(DT_NUMERIC,10,2)@[User::RowCountBad]*(DT_NUMERIC,10,2)100/(DT_NUMERIC,10,2)@[User::TotalRecordsCount]您在哪里计算错误百分比?这是否在数据流任务的派生列中?它是变量上的表达式吗?这是.NET代码吗?