我试图在SSIS表达式中计算SIN和COS(作为新列),但是找不到任何表达式。
例如:
SIN(lat_org_rad) COS(long_org_rad) ACOS(long_org_rad)
有人可以帮忙吗?
谢谢
我试图在SSIS表达式中计算SIN和COS(作为新列),但是找不到任何表达式。
例如:
SIN(lat_org_rad) COS(long_org_rad) ACOS(long_org_rad)
有人可以帮忙吗?
谢谢
我写这篇回答是为了补充OP的答案:
SSIS表达式语言包括一组用于表达式的函数,它们可以分为以下几类:
下表(官方文档)列出了SSIS表达式语言支持的数学函数:
基于此,SSIS表达式语言中没有提供COS()
,SIN()
和ACOS()
函数。
另一方面,您可以通过使用包含高级方法的System.Math程序集的脚本组件转换来获得更高级的数学函数,这些方法在以下文档中列出:
我能够使用脚本组件解决这个问题:
public override void Entrada0_ProcessInputRow(Entrada0Buffer Row)
{
if (Row.latdestrad == 0)
{
Row.kms = 0;
}
else
{
Row.kms = Math.Acos(
(Math.Sin(Row.latorgrad) * (Math.Sin(Row.latdestrad))) +
(Math.Cos(Row.latorgrad) * (Math.Cos(Row.latdestrad)) * Math.Cos(Row.londestrad - Row.lonorgrad)))
* 57.29577951 * 111.302;
}
}