見出し画像

【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のグループ化と集計の機能は、優秀だな~と改めて思うのでした🙂。

では、ビーダゼーン!

※私のやる気アップとブログの品質向上につながりますので、記事が気に入られた方は、「ポチっ」と好きボタンを押してくださったり、フォローいただけますと幸いです🙇。



この記事が気に入ったらサポートをしてみませんか?