其它函数

这部分说明了条件校验和操作环境。



多条件选择函数(Decode)
涵义
Decode函数在多重比较值的判定后返回匹配值。
返回值
类型 涵义
全部类型
("代入值"的类型或"缺省值")
由判定结果所选的代入值。
详细参数
可以使用参数追加按钮。点击参数追加按钮每次可以追加"比较值"参数和"代入值"参数。
参数名 类型 涵义
判定值 全部类型 该参数指定和"比较值"进行比较的值。
缺省值 全部类型 与任何"比较值"都不匹配时返回该指定值。
如果该参数没有指定,而与任何"比较值"都不匹配,那么返回值为NULL。
比较值 全部类型 该参数指定与"判定值"进行比较的值。
如果追加了参数,那么比较操作会按照参数顺序从第一个"比较值"开始进行,和"比较值"匹配的相应的"代入值"会被返回。
代入值 全部类型 该参数指定返回和"判定值"匹配的值。
补充1
  • "比较值"参数按指定顺序进行判定。
  • "比较值"和"判定值"匹配时,判定操作取消。
    也就是,如果第一个"比较值"参数和判定值匹配时,就不再和第二个"比较值"进行判定操作。 在设定的第二个之后"比较值"上不会执行该函数。
补充2
  • 如果"判定值"参数和"比较值"参数都是NULL,那么被认为是匹配值并将此"代入值"作为返回值。


条件选择函数(IF)
涵义
判定给定的值,根据条件返回代入值。
返回值
类型 涵义
全部类型
("代入值"的类型)
根据判定值结果选择"代入值(真)"或者"代入值(假)"。
详细参数
参数名 类型 涵义
判定值 全部类型 该参数指定和"比较值"进行比较的值。
比较运算符 运算符 指定比较方法。
从"=" (等于),"<>" (不等于),"<" (小于), ">" (大于),"<=" (以下),">=" (以上), "中间一致", "前端一致", "后端一致"中进行选择。
只有当"判定值"和"比较值"都是字符型数据时,才可以指定"中间一致","前端一致","后端一致"。
指定"<", ">","<=",">="并且"判定值"和"比较值"是字符型数据时, 关于比较顺序的详细内容,请参照混合文字码
比较值 全部类型 该参数指定与"判定值"进行比较的值。
代入值(真) 全部类型 指定当判定结果是真时返回的值。
代入值(假) 全部类型 指定当判定结果是假时返回的值。
补充
  • NULL值应该与NULL值才可以匹配。
  • 在"比较运算符"中指定"<",">","<=",">="时, 如果"判定值"或者"比较值"是NULL值,NULL值会被处理为最小值。
  • 在"比较运算符"中指定"中间一致","前端一致","后端一致"时, 如果"判定值"和"比较值"都是NULL值,那么判定结果是真。 如果"判定值"或者"比较值"是NULL值,那么判定结果是假。
比较运算符 判定值 比较值 结果
= NULL除外 NULL除外 根据比较的结果
NULL NULL除外
NULL除外 NULL
NULL NULL
<> NULL除外 NULL除外 根据比较的结果
NULL NULL除外
NULL除外 NULL
NULL NULL
< NULL除外 NULL除外 根据比较的结果
NULL NULL除外
NULL除外 NULL
NULL NULL
> NULL除外 NULL除外 根据比较的结果
NULL NULL除外
NULL除外 NULL
NULL NULL
<= NULL除外 NULL除外 根据比较的结果
NULL NULL除外
NULL除外 NULL
NULL NULL
>= NULL除外 NULL除外 根据比较的结果
NULL NULL除外
NULL除外 NULL
NULL NULL
中间一致,
前端一致,
后端一致
NULL除外 NULL除外 根据比较的结果
NULL NULL除外
NULL除外 NULL
NULL NULL


多逻辑值选择函数(LogIF)
涵义
LogIF函数对指定的多个逻辑值进行逐次判定,返回条件为真的代入值。
返回值
类型 涵义
全部类型
("代入值"的类型或者"缺省值")
由逻辑值所选的代入值。
详细参数
点击追加参数按钮可以追加参数。 点击追加参数按钮每次可以追加"逻辑值"参数和"代入值"参数。
参数名 类型 涵义
缺省值 全部类型 当任何"逻辑值"不为真时指定该值作为返回值。
如果未指定此参数,而任何"逻辑值"都不为真,那么返回值是NULL。
逻辑值 数值型 指定判定的条件。
假(0或NULL):忽略相应"代入值"而判定下一个"逻辑值"。 遇到最后一个"逻辑值"时,返回"缺省值"。
真(其它值):返回相应的"代入值"。
代入值 全部类型 "逻辑值"为真时,指定该值作为返回值。
补充1
  • "逻辑值"参数按指定顺序被判定。
  • 当"逻辑值"为真时,判定操作被取消。
    也就是,如果第一个"逻辑值"参数是真,不会判定第二个"逻辑值"参数。 在设定的第二个之后的"逻辑值"参数上该函数也不会执行。
补充2
例如:
比如,"New comer training的目标是工龄小于等于2年的,Medium staff training的目标是在5年到10年之间,大于等于20年的是Administration training的目标, 如果不在该范围内的",设置如下:
LogIF("培训范围外",
  Bool("工龄", <=, 2), "New comer training",
  And(Bool(5, <=, "工龄"), Bool("工龄", <, 10)), "Medium staff training",
  Bool("工龄", >=, 20), "Administration training")
表格栏过滤器设定对话框表格栏过滤器布局如下所示。




判定条件取得逻辑值(Bool)
涵义
布尔函数对指定值进行判定,返回真或假。
返回值
类型 涵义
数值型 逻辑值真(1)或假(0)显示了结果条件标准。
详细参数
参数名 类型 涵义
判定值 全部类型 该参数指定与"比较值"进行比较的值。
比较运算符 运算符 指定比较的方法。
从"=" (等于), "<>" (不等于), "<" (小于), ">" (大于), "<=" (以下), ">=" (以上), "中间一致", "前端一致", "后端一致"中进行选择。
只有当"判定值"和"比较值"都是字符型数据时,才可以指定"中间一致","前端一致","后端一致"。
指定"<", ">","<=",">="并且"判定值"和"比较值"是字符型数据时, 关于比较顺序的详细内容,请参照混合文字码
比较值 全部类型 该参数指定与"判定值"进行比较的值。
补充
例如:
详细内容请参照LogIF函数的样例。


逻辑运算:逻辑积函数(And)
涵义
And函数用于计算指定逻辑值的逻辑积(积集合)。
返回值
类型 涵义
数值类型 逻辑运算结果的逻辑值真(1)或假(0)。
详细参数
可以点击追加参数按钮追加参数。 点击追加参数按钮每次可以追加一个"逻辑值"参数。
参数名 类型 涵义
逻辑值 数值类型 为逻辑运算指定逻辑值。
假: 0或NULL
真: 其它值
逻辑值 数值类型 为逻辑运算指定逻辑值。
补充1
  • 对于AND运算,如果所有参数是真,就会返回真,而如果任何一个参数是假,就会返回假。
    也就是说,只有当所有参数条件满足时逻辑运算才会返回真。
如果参数个数是3,那么如下指定:
逻辑值1 逻辑值2 逻辑值3 返回值
补充2
  • "逻辑值"参数按指定顺序判定。
  • "逻辑值"是假时,那么取消判定。
    也就是说,如果第一个"逻辑值"参数是假,是不判定第二个"逻辑值"参数的。 在设定的第二个之后的"逻辑值"参数上该函数不执行。
补充3
例如:
关于细节,请参照LogIF函数的样例。


逻辑运算:逻辑和函数(Or)
涵义
Or函数用于计算指定逻辑值的逻辑和(和集合)。
返回值
类型 涵义
数值类型 逻辑运算结果的逻辑值真(1)或假(0)。
详细参数
可以点击追加参数按钮追加参数。点击追加参数按钮每次可以追加一个"逻辑值"参数。
参数名 类型 涵义
逻辑值 数值类型 为逻辑运算指定逻辑值。
假:0或NULL
真:其它值
逻辑值 数值类型 为逻辑运算指定逻辑值。
补充1
  • 对于OR运算,如果所有参数是假,那么返回假,而如果如果任何一个参数是真,就会返回真。
    也就是说,当任何一个参数条件满足时逻辑运算就会返回真。
如果参数个数是3,那么如下指定:
逻辑值1 逻辑值2 逻辑值3 返回值
补充2
  • "逻辑值"参数按指定顺序判定。
  • "逻辑值"是真时,那么取消判定。
    也就是说,如果第一个"逻辑值"参数是真,是不判定第二个"逻辑值"参数的。 在设定的第二个之后的"逻辑值"参数上该函数不执行。
补充3


逻辑运算:逻辑非(逻辑差)函数(Not)
涵义
指定1个参数时,计算指定逻辑值的逻辑非(补集合);指定2个以上的参数时,计算指定逻辑值间的逻辑差(差集合)。
返回值
类型 涵义
数值类型 逻辑运算结果的逻辑值真(1)或假(0)。
详细参数
可以点击追加参数按钮追加参数。点击追加参数按钮每次可以追加一个"逻辑值"参数。
参数名 类型 涵义
逻辑值 数值类型 为逻辑运算指定逻辑值。
假:0或NULL
真:其它值
补充1
  • 如果参数个数是1,"Not"运算符返回逻辑否定;如果参数个数是2或更多,返回逻辑差。 这有点类似于"-"(减运算符)操作。
    减运算符当作一元运算符(输出单操作数的类型,如"-x")时,也可以返回算术否定; 当作二进制运算符(输出多操作数的类型,如"x - y")时,返回算术差。 (按数学用语,Diff函数参数的个数不能是1)
    此外,Not函数参数的个数可以是3或更多。 如果Diff函数形如"Diff(Value1, Value2, Value3)",那么这表示"Value1 - Value2 - Value3"或者"(Value1 - Value2) - Value3"。 类似的,"Not(LogicalValue1, LogicalValue2, LogicalValue3)"表示"Not(Not(LogicalValue1, LogicalValue2), LogicalValue3))"。
补充2
  • 对于逻辑否定,如果参数是真,那么返回假,而如果参数是假,那么返回真。
    也就是说,如果参数条件不满足,逻辑运算符返回真。
如下指定。
逻辑值 返回值
补充3
  • 关于逻辑差,如果第一个参数是假,那么返回假。 如果第一个参数是真而第二,第三。。。中的任何一个参数是真,那么返回假。 如果第一个参数是真而第二个,第三个。。。所有参数都是假,那么返回真。("Not(LogicalValue1, LogicalValue2, LogicalValue3, ...)"与"And(LogicalValue1, Not(Or(LogicalValue2, LogicalValue3, ...)))")是相同的。
    也就是说,如果满足第一个参数条件而第二个之后的条件不满足,那么返回真。
    这意味着从一个参数成立条件中去除掉第二个参数成立条件。
如果参数个数是3,将如下所示。
逻辑值1 逻辑值2 逻辑值3 返回值
补充4
  • 当参数个数是2或更多时,要按指定顺序判定参数。
  • 如果第一个参数是假,那么判定会被取消。
  • 如果第二个参数是真,那么判定会被取消。
    也就是说,如果第二个参数是真,那么第三个参数的逻辑值是不会判断的。 设定在第三个以后的参数上的函数是不会执行的。
补充5
例如:
如果"把住在东京都内的港区和中央区以外的人作为促销活动的对象",设定如下:
LogIF("Out of Campaign",
  Not(Bool("Prefecture", =, "Tokyo"), Bool("City", =, "Minato"), Bool("City", =, "Chuuo")), "Target of Campaign")


函数异常结束捕捉函数(IfError)
涵义
IfError函数执行第一个参数中指定的函数,并返回指定函数返回的值。 如果指定函数执行中发生错误或警告,那么IfError函数返回第二个参数指定的值。
即使第一个参数指定的函数异常结束,处理也不会终止视表过滤器而继续进行。 而
视表过滤器的执行状态不会是"异常结束"状态。
返回值
类型 涵义
全部类型
("捕捉发生错误的函数"或"异常结束时的代入值"的类型)
"捕捉发生错误的函数"或"异常结束时的代入值"。
捕捉函数或者捕捉异常结束时的值。 当检索"捕捉发生错误的函数"参数时不捕捉错误,返回"捕捉发生错误的函数"。 当异常结束被捕捉到时,返回"异常结束时的代入值"。
详细参数
参数名 类型 涵义
捕捉发生错误的函数 全部类型 指定捕捉异常结束的函数。
当IfError函数的参数中指定其它函数时,所有嵌套函数都会被作为目标而捕捉。
异常结束时的代入值 全部类型 指定捕捉函数时发生异常结束时返回的值。
补充
例如:
比如,"按String2Date函数转换表格栏1的字符型数据为日期型数据。 如果转换失败,设置为NULL数据。",设置如下:
IfError(String2Date(表格栏1), NULL)


强行异常结束(RaiseError)
涵义
RaiseError函数强行引发异常结束。
返回值
类型 涵义
全部类型 执行中因为发生异常结束,所以不会返回值。
详细参数
参数名 类型 涵义
详细信息 字符型 指定写入日志文件的详细信息。
如果未指定,不会写入详细信息。
补充
例如:
比如说,"如果表格栏1的值小于0,处理是异常结束。否则,返回表格栏1中的值。",设置如下:
如果(表格栏1, <, 0, RaiseError("表格栏1是负值。"), 表格栏1)


强制警告结束函数(RaiseWarning)
涵义
RaiseError函数强制性的使函数警告结束。
返回值
类型 涵义
全部类型
("代入值"的类型)
代入值。
详细参数
参数名 类型 涵义
代入值 全部类型 指定返回的值。
详细信息 字符型 指定输出至日志的详细信息。
如果未指定,不会写入详细信息。
补充
例如:
比如,"如果表格栏1的值小于0,处理是以警告结束的,返回值为0。",设置如下:
IF(表格栏1, <, 0, RaiseWarning(0, "表格栏1是负值。"), 表格栏1)


值代入函数(Value)
涵义
Value函数返回代入值。
返回值
类型 涵义
全部类型
("代入值"的类型)
代入值.
详细参数
参数名 类型 涵义
代入值 全部类型 指定要代入的值。


前回执行结果值取得函数(Prevalue)
涵义
每次执行时,Prevalue函数保存"代入值",在前次执行时返回Prevalue函数保存的"代入值"。
当第一次执行或者"复位条件"为真时,返回当前的"复位值"。
返回值
类型 涵义
全部类型
("代入值"或者"复位值"的类型)
前回执行的"代入值"或"复位值"。
如果第一次调用此函数,那么返回"复位值"。 调用此函数时,如果"复位条件"是真,那么返回"复位值"。 如果"复位条件"是假,返回前回调用的"代入值"。
详细参数
参数名 类型 涵义
复位值 全部类型 当"复位条件"为真时,指定返回的值。
代入值 全部类型 指定下回执行时要返回的值。
复位条件 数值类型 为"复位值"指定要返回值的条件。
假(0或NULL):不复位
真(其它值):复位
如果为指定,那么和假相同。
补充1
  • 根据各种条件,返回值如下所示:
复位条件 前回执行的存在 返回值
已执行 当前复位值
第一次 当前复位值
已执行 前回代入值
第一次 当前复位值
补充2
  • 前回执行中,每个Prevalue函数中都会保存"代入值"。 在表格栏过滤器设定对话框的表格栏过滤器布局中,当在树结构中的同一个位置设置Prevalue函数时,应该采用"代入值",在其它位置设置Prevalue函数时, 不应该采用"代入值"。
    比如,为了计算按时间序列排布的每月销售文件的上月比时,条件如下所示:
    IF(Prevalue(0, Sales, 0), =, 0,
      NULL,
      Div(Sales, Prevalue(0, Sales, 0)))
    IF函数的第一参数"判定值"设定的Prevalue函数与第五参数"代入值(假)"设定的Prevalue函数不同,当第一参数"判定值"设定的Prevalue函数值非零时,第五参数"代入值(假)"设定的Prevalue函数首次被执行,其值为0。 因此,可能会因为Div函数的除数是0而运算异常结束。
    在该例子中,NULL值的除法是NULL值。基于此表述有:
    Div(Sales, Prevalue(NULL, Sales, 0))
    如果IF函数没有按照上述那样使用而"复位值"被设定为NULL,那么可以将初始月的上月比设为NULL。
    此外,如果没有按照月销售排序,而是使用前回执行中为每个Prevalue函数代入的值, 那么通过如下表达式从相同文件可以计算同比。
    Decode(SalesMonth, NULL,
      1, Div(Sales, Prevalue(NULL, Sales, 0)),
      2, Div(Sales, Prevalue(NULL, Sales, 0)),
      ...
      12, Div(Sales, Prevalue(NULL, Sales, 0)))
补充3
  • 返回值要么是"代入值"要么是"复位值"。 即使"代入值"和"复位值"是不同的字符型,也不会进行文字码的统一。 即使"代入值"和"复位值"是数值型和十进制数值型,也不会进行文字码的统一。


条件评价计数函数(Counter)
涵义
计数条件为真时(非0,非NULL),前一记录的返回值按指定增幅增值。复位条件为真时,返回复位值。
返回值
类型 涵义
数值类型 增幅后的值。
根据"计数条件"和"复位条件"所产生的返回值的变化,请参照补充1。
详细参数
参数名 类型 涵义
复位值 数值类型 "复位条件"为真时,指定返回值。
增幅值 数值类型 "计数条件"为真时,指定要增加的值。
计数条件 数值类型 指定增加值的条件。
假(0或NULL):不增幅
真(其它值):增幅
复位条件 数值类型 为"复位值"指定返回值的条件。
假(0或NULL):不复位
真(其它值):复位
如果未指定,那么与假相同。
补充1
  • 根据不同条件,返回值如下所示:
计数条件 复位条件 前回执行存在 返回值
- 当前复位值
- 当前复位值
已执行 前回返回值 + 当前增幅值
第一次 当前复位值 + 当前增幅值
已执行 前回返回值
第一次 当前复位值
Numbering函数的返回值是首次执行的未增幅的初始值,但是当Counter函数中计数条件为真并且首次执行时以及返回"当前复位值 + 当前增幅值"时要谨慎。
补充2
补充3


连续编号取得函数(Numbering)
涵义
从初始值起,每行记录按指定的增幅增值。作为复位条件所指定的表格栏,其值当前后记录发生变化时,返回值被复位为初始值。
返回值
类型 涵义
数值类型 增幅后的值。
如果第一次执行,返回值是"初始值"。
当第二次执行时,如果"复位条件表格栏"的值没有变化,那么返回"前回返回值 + 当前增幅值"。
详细参数
可以通过追加参数按钮追加参数。点击追加参数按钮可以追加一个"复位条件表格栏"参数。
参数名 类型 涵义
初始值 数值类型 指定初始值。
增幅值 数值类型 在每行指定增幅值。
复位条件表格栏 全部类型 指定有"初始值"会被返回的条件的表格栏。
除了表格栏,也可以指定函数。这种情况下,如果函数的返回值变化了,那么会返回"初始值"。
未指定的情况下,默认为没有复位条件。
补充1
补充2


记录号取得函数(RowCount)
涵义
RowCount函数返回执行函数时相应的记录号。
返回值
类型 涵义
数值型 函数执行时的记录号
详细参数
无输入参数
补充
RowCount函数返回执行选择条件后的相应的记录号。
  • 遇到结合过滤器或归并过滤器或参照过滤器时,要取得的记录号就是在结合处理或归并处理或参照处理之后取得的记录号。
  • 遇到纵向展开过滤器或分割过滤器时,要取得的记录号就是在纵向展开处理或分割处理前取得的记录号。
  • 如果在任何视表过滤器排序键标签中指定排序键,那么要取得的记录号就是排序处理前的记录号。 (给排序键指定了输入表格栏,返回的记录号也是相似的)


执行日期取得函数(Now)
涵义
Now函数取得作业的执行日期/时间。
返回值
类型 涵义
日期类型 执行日期时间。
详细参数
无输入参数。


用户名取得函数(User)
涵义
User函数用于取得本产品的用户名。
返回值
类型 涵义
字符型 登录用户的名称。
详细参数
无输入参数。


外部命令调用函数(Exec)
涵义
Exec函数用于调用外部命令,返回外部命令的标准输出数据。
返回值
类型 涵义
字符型 返回外部命令的标准输出数据。
详细参数
参数名 类型 涵义
命令行 字符型 指定要执行的外部命令的命令行字符串。
标准输入数据 字符型 为外部命令的标准输入数据指定字符数据。
如果不指定该参数,该数据将不会被传递到标准输入中。
结束判定值 数值类型 指定用于判定外部命令的结束码的值。
如果未指定该参数或指定为0,执行命令的结果是不带结束判定值的正常结束。
该参数如果指定为整数1或者更大值,当结束判定值等于或大于此参数时,Exec函数返回异常结束。
如果该参数指定为-1,那么当结束判定值不等于0时,Exec函数返回异常结束。
补充1
补充2
补充3