首页 > 编程知识 正文

Kettle组件 计算器全解析,箍筋计算公式解析

时间:2023-05-03 07:58:43 阅读:196982 作者:1724

Kettle组件 计算器全解析 kettle计算器组件介绍kettle计算器组件图标kettle计算器组件界面kettle计算器可选计算类型介绍

kettle计算器组件介绍

kettle是一款基于java的ETL工具,他能够像水壶一样将装入的各种数据以一种统一的形式导出。
kettle计算器组件是kettle转换模块当中的一种,其能满足绝大多数的数据流计算需求,属于比较常用的一个组件。
它提供一个功能列表,可以在字段值上运行。
计算器的一个重要优势是,它有着几倍于常用的 JavaScript 脚本的速度。

kettle计算器组件图标

kettle计算器组件图标如下(版本 kettle 7.1):

kettle计算器组件界面

kettle计算器组件界面如下(版本 kettle 7.1):


各控件的含义(从上至下,从左至右):

1、步骤名称:步骤的名称,在同一转换中不可重复。

2、字段:

(1)新字段:指定存储计算结果的字段名称,不可与已有字段重名(如果指定为已有字段名称,也不会替换原字段的值,而是在新字段的名称后拼接序号数字)。

(2)计算:鼠标点击,可以选择需要执行的计算类型,kettle计算器组件计算可选计算类型如下(版本 kettle 7.1):


此为部分截图,具体计算类型下文会介绍。

(3)字段A:从输入流中选择需要进行计算的字段名称,也可选择设置的新字段名称,也可以设置为常量,用于Set field to constant A这一计算类型给新字段赋值。

(4)字段B:从输入流中选择需要进行计算的字段名称,也可选择设置的新字段名称。

(5)字段C:从输入流中选择需要进行计算的字段名称,也可选择设置的新字段名称。

(6)值类型::为新字段指定字段类型:字符串、日期、数字、布尔值、整数、BigNumber、可序列化或二进制。

(7)长度:对于数字:数字的有效长度;对于字符串:字符串的总长度;对于日期:字符串的打印输出长度(例如,输入4只会返回年份)。

(8)精度:对于数字:小数位数。

(9)计算后移除: 下拉框选择是否要移除新字段。如果选择移除则新字段不会出现在输出流当中,此功能用于删除一些只有在计算过程中才会用到的存放临时值的临时字段。

(10)格式:格式化字符串时需要。例如需要格式化日期与时间,那么可以用yyyy-MM-dd’T’HH:mm:ss.XXX,注意其中单引号限定部分。如果需要在日期格式中使用原始字母,那么必须用单引号限定,否则将当成表达式解析。注:需与类型关联使用。

(11)小数点符号:在字符型转小数型(BigNumber)时,识别字符串中的小数点。如字符串“123,456.789”和“123456.789”转BigNumber型时,设置十进制为“.”,则能转变为123456.789。有意思的是这里除了能识别“.”,还能适配其他字符,如“,”、“|”、“_”、甚至字母“a”都可以。只要字符被替换成“.”之后整个字符串是符合数字格式的就行。注意不管设置多长的字符串,这里始终只取第一个字符作为小数点符号。

(12)分组符号:在字符型转小数型(BigNumber)时,识别字符串中的分隔符(常见的千位分隔符)。如字符串“6,123,456.789”转BigNumber型时,设置分组为“,”,则能转变为6123456.789。有意思的是这里除了能识别“,”,还能适配其他字符,如“.”、“|”、“_”、甚至字母“a”都可以。只要字符被转换后整个字符串是符合数字格式的就行。另外分组可以结合小数点符号做一些更有意思的事情,如有一个字符串如“123.456,789”,将小数点符号设为“,”,将分组设为“.”,可转换为“123,456.789”。

(13)货币符号: 货币符号,主要用在财务场景,一般放在货币金额数字的前缀或者后缀。例如人民币一般用的¥,美元一般用$,欧元一般用€。该控件对于步骤本身不产生影响,只是对该字段的货币类型进行备注。

部分描述参考CKettle官网:https://ckstore.ccsaii.com.cn/help/StepPluginType/Calculator?s=csdn

kettle计算器可选计算类型介绍 功能描述必须填-空(不做处理,返回值为NULL)ASet field to constant A创建一个具有恒定值的字段。ACreate a copy of field A创建具有给定字段值的字段的副本。AA + BA加B。A and BA - BA减B。A and BA * BA乘B。A and BA / BA除B。A and BA * AA的平方。ASQRT( A )A的平方根。A100 * A / BA在B中的百分比。A and BA - ( A * B / 100 )减去A的B%。A and BA + ( A * B / 100 )将B%添加到A。A and BA + B *CA加B乘以C。A, B and CSQRT( A* A + B* B )计算(A平方+B平方)的平方根.A and BROUND( A )返回最接近参数的Integer。通过将结果加1/2,取下限,并将结果转换为int类型,将结果舍入为整数。换句话说,结果等于表达式的值:floor(a + 0.5)。如果需要舍入方法“将一半舍入为偶数”,请使用以下方法ROUND(A,B),不带小数位(B = 0)。AROUND( A, B )将A舍入到最接近的偶数,并用B小数表示。使用的舍入方法为“半舍入到偶数舍入”,也称为无偏舍入,收敛舍入舍入,统计学家舍入,荷兰舍入,xsdcg舍入,奇偶舍入,银行家舍入或零舍入舍入,并广泛用于簿记中。这是IEEE 754计算函数和运算符中使用的默认舍入模式。在德国,它通常被称为“ Mathematisches Runden”。A and BSTDROUND( A )将A舍入到最接近的整数。使用的舍入方法是“从零开始舍入一半”,也称为标准或通用舍入。在德国,它被称为“kaufmännischeRundung”(在DIN 1333中定义)。ASTDROUND( A, B )与STDROUND(A)中使用的舍入方法相同,但十进制为B。A and BCEIL( A )上限函数将数字映射到后面的最小整数。AFLOOR( A )底函数将数字映射到最大的先前整数。ANVL( A, B )如果A不为NULL,则返回A,否则返回B。请注意,有时您的变量将不是null而是空字符串。wndld在日期字段A中添加B天。A and BYear of date A计算日期字段A的年份。AMonth of date A计算日期字段A的月份。ADay of year of date A计算日期A在一年中的某天(1-365)。ADay of month of date A计算日期A在一个月中的某天(1-31)。ADay of week of date A计算星期几(1-7)。AWeek of year of date A计算一年中的星期(1-54)。AISO8601 Week of year of date A计算一年中的星期ISO8601样式(1-53)。AISO8601 Year of date A计算年份ISO8601样式。AByte to hex encode of string A将字符串中的字节编码为十六进制表示形式。AHex encode of string A以自己的十六进制表示形式编码字符串。AChar to hex encode of string A将字符串中的字符编码为十六进制表示形式。AHex decode of string A从其十六进制表示形式解码字符串(当A为奇数长度时,添加前导0)。AChecksum of a file A using CRC-32使用CRC-32计算文件的校验和。AChecksum of a file A using Adler-32使用Adler-32计算文件的校验和。AChecksum of a file A using MD5使用MD5计算文件的校验和。AChecksum of a file A using SHA-1使用SHA-1计算文件的校验和。ALevenshtein Distance (Source A and Target B)计算Levenshtein距离:http://en.wikipedia.org/wiki/Levenshtein_distanceA and BMetaphone of A (Phonetics)计算单词A的变音位(语音学),用于将单词按照英文发音进行索引。详见:http : //en.wikipedia.org/wiki/MetaphoneADouble metaphone of A计算A的双重音位:http : //en.wikipedia.org/wiki/Double_MetaphoneAAbsolute value ABS(A)计算A的绝对值。ARemove time from a date A删除A的时间值。ADate A - Date B (in days)计算A日期字段和B日期字段之间的天数差异。A and BA + B + CA加B加C。A, B, and CFirst letter of each word of a string A in capital转换字符串中每个单词的第一个字母。AUpperCase of a string A将字符串转换为大写。ALowerCase of a string A将字符串转换为小写。AMask XML content from string A转义XML内容;用&value替换字符。AProtect (CDATA) XML content from string A指示XML字符串是常规字符数据,而不是非字符数据或具有更特定的受限结构的字符数据。给定的字符串将包含在<![CDATA [String]]>中。ARemove CR from a string A从字符串中删除回车符。ARemove LF from a string A从字符串中删除换行符。ARemove CRLF from a string A从字符串中删除回车符/换行符。ARemove TAB from a string A从字符串中删除制表符。AReturn only digits from string A仅输出仅输出字符串中的数字(0-9)。ARemove digits from string A从字符串中删除所有数字(0-9)。AReturn the length of a string A返回字符串的长度。ALoad file content in binary将给定文件的内容(在字段A中)加载为二进制数据类型(例如图片)。AAdd time B to date A将时间添加到日期,将日期和时间作为一个值返回。A and BQuarter of date A返回日期的四分之一(1到4)。Avariable substitution in string A将变量替换为字符串。AUnescape XML content从字符串取消转义XML内容。AEscape HTML content在字符串中转义HTML。AUnescape HTML content在字符串中取消转义HTML。AEscape SQL content转义字符串中的字符以适合传递给SQL查询。ADate A - Date B (working days)计算日期字段A和日期字段B之间的差异(仅工作日为星期一至星期五)。qpdzc在日期字段A中添加B个月。ACheck if an XML file A is well formed验证XML文件输入。ACheck if an XML string A is well formed验证XML字符串输入。AGet encoding of file A猜测给定文件的最佳编码(UTF-8)。ADameraulevenshtein distance between String A and String B计算字符串之间的Dameraulevenshtein距离:http : //en.wikipedia.org/wiki/Damerau%E2%80%93Levenshtein_distanceA and BNeedlemanWunsch distance between String A and String B计算字符串之间的NeedlemanWunsch距离:http : //en.wikipedia.org/wiki/Needleman%E2%80%93Wunsch_algorithmA and BJaro similitude between String A and String B返回两个字符串之间的Jaro相似系数。A and BJaroWinkler similitude between String A and String B返回两个字符串之间的Jaro相似系数:http : //en.wikipedia.org/wiki/Jaro%E2%80%93Winkler_distanceA and BSoundEx of String A将字符串编码为Soundex值。ARefinedSoundEx of String A检索给定字符串对象的RefinedSoundEx代码。注意:Metaphone,Double Metaphone, Soundex和RefinedSoundEx:这些算法都是利用单词的发音来做匹配,也称为语音算法。这些语音算法的缺点是以英语为基础,所以基本不能用于法语,西班牙语,荷兰语等其他语种。ADate A + B Hours在日期字段A中添加B小时A and BDate A + B Minutes在日期字段A中添加B分钟A and BDate A - Date B (milliseconds)从日期字段A减去B毫秒A and BDate A - Date B (seconds)从日期字段A减去B秒A and BDate A - Date B (minutes)从日期字段A减去B分钟A and BDate A - Date B (hours)从日期字段A中减去B小时A and BHour of Day of Date A提取给定日期的小时部分AMinute of Hour of Date A提取给定日期的分钟部分ASecond of Hour of Date A提取给定日期的秒部分A

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。