业绩预测的盈利金额单位不统一,比如:
1、SH600519贵州茅台盈利金额单位:“”/“亿元”
2、SZ300765新诺威盈利金额单位:“万元”
由于源数据不会更改;一是保留源公告中的情况,二是方便研究时,相同水平的公司进行对比。
若要统一单位,解决方法如下:
法一:封装函数:
Function MUnitList40(); //表40的所有单位
begin
return array(
"":1,
"元":1,
"千元":1000,
"万元":10000,
"百万元":1000000,
"千万元":10000000,
"亿元":100000000
);
end
法二:将包含表40-业绩预测的盈利金额所有单位对照函数MUnitList40()导入客户端。
MUnitList40()实现函数:
附件:MUnitList40.fun
导入函数方法参考FAQ:
Q:如何导入函数
范例一:取表格数据进行统一更改
// 获取上证50所有业绩预测数据,并将“盈利金额上限”“盈利金额下限”统一以“元”为单位展示金额数据
MU:=MUnitList40();
return select Mv:=MU[trim(['盈利金额单位'])] as Nil,
*,['盈利金额下限']*Mv as '盈利金额下限',
['盈利金额上限']*Mv as '盈利金额上限'
from infotable 40 of getbk('上证50') end;
部分返回结果:
范例二:取指标数据时的处理
SH600031三一重工部分源数据如下:
// 获取SH600031三一重工20191231的盈利金额下限,单位为“元”
MU:=MUnitList40();
setsysparam(pn_stock(),'SH600031');
Rdate:=20191231;
a:=reportofall(40005,Rdate)*MU[trim(reportofall(40007,Rdate))];
return a;
// 返回:10800000000