您好 :
我用書本 302頁的程式, 寫成如下 :
================= code start =================
Var: mm(0), rev(0);
//取得月營收的月份
rev = GetField("月營收","M");
mm = Month(GetFieldDate("月營收","M"));
//月份是每一季的第一個月, 估算季營收 = 月營收*3
if mm=1 or mm=4 or mm=7 or mm=10
then value1=GetField("月營收","M") * 3;
//月份是每一季的第二個月, 估算季營收 = 上個月月營收 + (這個月營收*2)
if mm=2 or mm=5 or mm=8 or mm=11
then value1=GetField("月營收","M") * 2 + GetField("月營收","M")[1];
//月份是每一季的第三個月, 估算季營收 = 近三期月營收加總
if mm=3 or mm=6 or mm=9 or mm=12
then value1=GetField("月營收","M")+GetField("月營收","M")[1]+GetField("月營收","M")[2];
// 預估獲利(單位=百萬) = 季營收 * 毛利率 - 營業費用
//
value2 = value1 * getfield("營業毛利率","Q") - GetField("營業費用","Q");
outputfield1(mm, "營收月份");
outputfield2(rev, "本月營收");
outputfield3(rev[1], "月營收[1]" );
outputfield4(rev[2], "月營收[2]" );
outputfield5(value1, "預估單季營收(億)");
outputfield6(value2 / 100, "預估單季本業獲利(億)");
ret = 1;
================= code end =================
然後, 故意指定一個之前的日期執行, 例如 : 2019/1/7.
在 1/7'19 時, 有些公司已公佈 12月營收, 有的還沒.
所得結果如下圖.
只要是已公布 12月營收的, 輸出資料正確.
但尚未公布 12月營收的(只公布 11月營收), 則輸出的 上月營收和上上月營收就怪怪的了.
請問為什麼會這樣 ? 謝謝 !

5 評論