見出し画像

【Airtable】グループの集計結果をフィルタリングできるのか?

前回記事グループ化した上での集計をどう行うかについてお話ししました。今回は、その延長線上の小話です。軽い気持ちで読み流してください😄。

さて、サマリーバーってかなり便利でしたね。でも、もうちょっとやってみたいことがありませんか?

「集計されたグループがたくさんあるとき、そのグループを絞り込みたいかな?。行をフィルタリングするんじゃなくてね。🤔」

ああ、それです、それです。やりたいですよね。例えば、下のビューで、「数量が20以上のグループ」を絞り込むとかね。

まあ、これくらいのグループ数だったら不要でしょうが、グループが多かった(10とか20とか)としたら確かにしぼりこみたくなりますね。

でも、結論から申しましょう。Airtableでは、

「できません(多分。私の知る限り)」

あまり期待いただいても困りますので、先に言いました💦(できる方法を知っている方、こっそり教えてください🧡)。実装していないということは、あまりニーズがないのかもしれないですね。

では、できるとしたらどうなるかSQLを使ってみてみましょう。グループの集計結果をさらに絞り込むという表操作があるんだ、ということ自体をしっておくことは、後々何かの役に立ちます、きっと。

まずは単純に集計結果を取得する

では、前回記事で使ったデータを再び取り上げます。「受注明細」のテーブルでした。

このテーブルの「受注番号」を基準にしてグループ化して、数量の合計値を取得しました。結果は、次の通り、どん!

ちなみに、SQL文はこうです。

うん、これ以上絞り込みが要らないくらい、グループが少ないですね😅。でも、まあ、この集計結果をさらに絞り込みましょうよ。

Having句:集計結果を絞り込む

やることは、簡単です。上記のSQL文に一言加えるだけですね。下の画像のとおり、Having句を加えます。

「Havingって、何よ!?😭」

あまり見慣れないですよね。。。誤解を恐れずに言うと「Where句のグループ版」みたいなもんですかね。Where句は行を絞り込むのに使う一方、Having句はグループの集計結果を絞り込むのに使います。

これで、「数量の合計値が20以上のグループ集計結果」が得られます。結果はこちら。

やった~絞れましたね!ということでSQLでやってみたい方は、お試しください。

まとめ

ということで、グループの集計結果を絞り込むお話でした。そして、それがAirtableでは、「できなかった」でしたね。SQLでできることは、Airtableで何でもできちゃうのはでは?と想定して勉強していますが、必ずしもそうではありませんね。

やたら多機能にしてユーザー経験を損なわないよう、実装する機能を激選しているのかな~と推察しております。

では、ビーダゼーン!

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




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