【Airtable】グループ化と集計:サマリーバーが威力を発揮
「Airtableの機能をSQLを比較して理解を深めよう」というシリーズ、今回は、「集計」でございます。
「集計」といえば、テーブル全体を大きな「一つのグループ」とみなして集計することもあります。しかし、多くの場合、何かのカテゴリー(部署とか、時期とか)を基準にグループ化して、そのグループごとの集計値をグループ間で比較しますよね🙂。
それをやるにはどうすれば、いいでしょうか。そう、すでに紹介した「サマリーバー」です😄。それの復習をするため、あるいは、SQLとの違いを知るため、ここでは今一度取り上げます。
Airtableで集計
では、Airtableで集計を行ってみます。
集計関数の代表格「合計」
集計いうてもいろいろありますね。合計、カウント、平均、最大値、最小値あたりが主なものです。今回は例として、下のように、「受注明細」テーブルの「数量」の「合計」を出してみます。
「受注番号」にご注目ください。1、7、11、12があります。それぞれの受注番号は、複数の商品の受注で構成されています。たとえば、受注番号1は、ノート、ふでばこ、かばんの受注で構成されています。
その各商品の受注には、「数量」があります。受注番号1でいえば、ノート3、ふでばこ2、かばん6ですね。この「数量」の「合計」を受注番号単位で比較してみよう!というわけです。
グループ化
ではでは、受注番号でグループ化しますか!やることは、簡単です。下図のとおり、1、2、3とクリックするだけですね。
はい、下の通り、受注番号でグループ化できました~。いつも思いますが、グリッドビューでグループ化したときの表示が美しいですな😆。
さて、グループ化が目的ではなありませんでしたね💦。グループ化して集計せねばあかんのです。どうしましょう…。
サマリーバ―で集計
そうサマリーバーでございます!下図のように、グループに自動的に作られたサマリーバーで集計したい列をクリックすると、ドロップダウンメニューが表示されます。ここでは「合計」を選択します。
はい、「数量」が集計できました。
グループ間での比較
サマリーバ―で集計結果を表示させるだけでは、グループごとの数値が離れているので比較しにくいですね。
「サマリーバーだけ表示できたらいいのに。😭」
できます!やりましょう。サマリーバーの「…」をクリックして、Collapse allを選択します。
すると、各行が非表示となり、サマリーバーだけが表示されました~!これで簡単に「数量」の「合計」がグループ(受注番号)間で比較できますね。
以上がAirtableでの集計でした。
SQLで「グループ化」して集計
同じことをSQLでやると、どうなるでしょう?試しましょうよ😄。
受注明細のデータを取得
SQLでも同じ集計ができるよう、下のとおり、データを準備しました。やろうとしていることは、Airtableの場合と同じですよ。
上のデータ抽出するために打ったSQL文は、次の通りです。3つの表を外部結合しているため、少し長いですが気にしないでください。
集計関数とGroup by
では、グループ化の上、集計します。下のとおりです。
まず、Select句で、「受注番号」と「数量合計」の列を取得します。「数量合計」に使われているのは、集計関数Sumでございます。丸括弧内の列を合計してくれます。Sum関数だけだと、列見出しをつけてくれない💦ので、Asを足して列見出しを「数量合計」としました。
続いて、Group by句ですね。これは難しくなく、「受注番号」でグループ化してね、と書いているだけです。
このように、集計関数とGroup by句は、セットで使います~😆。
各行は閲覧できない
すると、下のように集計できます。結果は、もちろんAirtableのときと同じです。シンプルやな~。
以上が、SQLでのグループ化と集計です。
まとめ
得られた結果は、Airtableと何が違いますか?Airtableなら、
・グループを構成する行を簡単に閲覧できる
これにつきますね。グループ化した後も、行を表示・非表示するのは、クリックで簡単にできます。さすがにSQLでは、それはできません。
Airtableなら、気軽にグループ化して、グループを構成している行についても目視で比較できます。これは大きい。
Airtableのグループ化と集計の機能は、優秀だな~と改めて思うのでした🙂。
では、ビーダゼーン!
※私のやる気アップとブログの品質向上につながりますので、記事が気に入られた方は、「ポチっ」と好きボタンを押してくださったり、フォローいただけますと幸いです🙇。
この記事が気に入ったらサポートをしてみませんか?