逆引きFormula 2.0 に戻る
Formula 1.0 の時代にはほとんどの集計作業は、ロールアップでしか行えませんでした。Formula 2.0 ではロールアップの機能は、ほぼ Formula で実現できます。以前書いていたロールアップでの実現方法は下に残しておきますので、違いを見てください。
データはそのまま使えるので、テストカテゴリ、テストアイテムはそのまま使います。Formula の結果が正しく計算できているのかを確認するために、ロールアップのものと比較してみましょう。map
関数を使うことで、リレーション先のページ内の価格のリストを直接取得できます。それを最後に sum
することでカテゴリごとの集計ができます。
prop("テストアイテム一覧").map(current.prop("価格"))
.sum()
また、ロールアップでは難しかった条件での集計もできるようになります。ここでは、完了にチェックが入ったものだけの価格を合計してみます。
prop("テストアイテム一覧").filter(current.prop("完了"))
.map(currentValue.prop("価格"))
.sum()
<aside> 💡 ここからは Formula 1.0 の時のロールアップの時の説明でした。参考までに残しておきます。
</aside>
カテゴリごとに集計するにはどうすればよいかという質問がありました。今回は、Formula ではないのですが、似たようなものということでここに追加します。実際、普通の Excel のような集計はできませんが、データベースとしてロールアップで集計することはできますので、そのやり方を説明してみます。