グラフオプションの表を締め日での集計をしたい

 グラフオプションで表を集計する際に「月別」の範囲を変えることは可能でしょうか。

通常、「月別」にすると「1日~月末」までをひと月として集計されますが、

締め日が毎月20日のため「前月21日~当月20日までを当月」として集計したいです。

最初集計用の計算フィールドを用意して、「(日付フィールド)-(24*60*60*20)」で集計月を算出したのですが、計算フィールドは集計に指定できません。

なにか良い方法はないでしょうか。

新井さん

計算フィールドではなく、日付項目で集計月を追加してはいかがでしょうか?

集計月の設定は、JavaScript で行います。

moment.js を使用しますのでCDNの指定が必要です。

参考 Moment.js を利用して、日時フィールドのフォーマットをカスタマイズする

フィールドコードは、対象アプリに合わせて変更してください。

 

(function() {
"use strict";

var events = [
'app.record.create.show',
'app.record.create.change.日付',
'app.record.edit.show',
'app.record.edit.change.日付'
];
kintone.events.on(events, function(event) {
// ロケールを設定
moment.locale('ja');
var record = event.record;
record['集計月'].disabled = true;
if (record['日付'].value) {
record['集計月'].value = moment(record['日付'].value).add(-20, 'days').format('YYYY-MM-01');
}
else {
record['集計月'].value = '';
}
return event;
});

})();

rex0220さん

コメントありがとうございました。

上記方法で試したところうまくできました。

ただ計算式が、私が「-20」していたのですがそれでは前月集計になってしまっていたので

「+20」にしたところ思い通りの集計月になりました。

本当にありがとうございました。

「+20」にすると、「前月21日~当月20日までを当月」にはならないと思います。

集計月を+1 しましょう。

record['集計月'].value = moment(record['日付'].value).add(-20, 'days').add(1, 'months').format('YYYY-MM-01');

ありがとうございます。

上記確認してみます。

 

今確認しました。思い通りの集計月にすることができました。

素早いご回答で大変助かりました。

ありがとうございました。