小勤:这个“调用自定义函数”功能怎么用的?我明明写了个自定义函数(add)的哦,为什么调用不了?
大海:你仔细看看这个功能的说明?
小勤:“调用此文件中为各行定义的自定义函数”?还是不理解。
大海:不理解没关系,但平时要形成出现问题时看功能说明或帮助的习惯,即使一开始的时候可能因为翻译的原因看起来觉得很别扭,但这很有利于你以后去学习新的知识。再回到这个问题,你在这个查询以外写个自定义函数看看?注意不要跟你现在这个(add)同名哦。
小勤:好的。在查询列表里【右键-新建查询-其他源-空查询】
然后直接输入自定义函数内容:
大海:嗯。然后再去刚才那个“调用自定义函数”功能试试?
小勤:啊!这个可以啊,原来要这样?这个功能说明里“此文件中”的意思是只能调用本查询外部的自定义函数,而不能调用本查询内部的自定义函数?
大海:对的。就是这个意思。另外,你试试,如果外面的函数跟查询里面的函数名称一样了,会怎样?
小勤:这个……我原来在查询里的add函数是对参数加1:
外面的名字也改为add,对参数加1000:
大海:然后用调用自定义函数的功能试试?
小勤:……这个选中的应是指外面那个函数吧?应该数量加上1000?
大海:对的。但是结果呢?
小勤:晕,居然是加1哦!也就是说最终还是用了查询里面的那个自定义函数?
大海:对的,当查询内的自定义函数与查询外的自定义函数名称一样时,会以查询内部的为准。所以,这里要注意的是:
“调用自定义函数”的操作功能只是在一定程度上简化了写添加自定义列公式的工作,并不会因为它只能选择外面的自定义函数,就一定会使用选择的那个函数;同时,在写自定义函数时,一定要注意,无论在查询内部还是外部,不要使用相同的名称,否则容易导致出现了错误(这往往是没有错误提示的逻辑计算错误,数据计算复杂时很难发现)。
小勤:好的。