見出し画像

【Airtable】複数の値に絞ってフィルタリングするには?

本日もAirtableとSQLを比較して、Airtableの使いやすさに気づこうという企画でございます~😆!

さて本日のお題は、「複数の値に絞ってフィルタリングする」です。ようは、一つの値に絞るのではなく、指定した複数の値のいずれでもいいので一致すれば、その行を抽出したいのです。

さあ、どうやりますか?クイズだと思って考えてみましょう!

SQLならこうする

Airtableで操作方法を紹介する前に例によってSQLならどうするか、見てみましょう!

下の画像は、「受注明細」のテーブルです。「受注」があると、受注した商品ごとにレコードが挿入されます。では、複数の受注番号のうち、「7,11,12」のいずれかに一致する行を絞り込んでみます。

入力するSQLはこうです。

Where句で「IN」を使い、丸括弧内に、カンマ区切りで候補の値を入力します。

あるいは、次のように論理演算子(OR、「または」)を使っても同じ結果が得られます。

ちょっと書くのが面倒ですね😭。「IN」の方がすっきりして好きだな。でも、これはこれで、論理的な感じがして嫌いじゃない。

はい、下の画像のように絞り込めました~。INのように、候補の値をカンマ区切りでならべるだけなら、これはこれで便利ですな!

では、Airtableでは🤔?

Airtableならこうする

では、Airtableで同じことをしてみましょう。

受注番号でフィルタリングします。ここまでは、OKですね。でも、どうやって?

フィルターメニューで次のように設定します。お、比較演算子(ここでは「=」)と論理演算子(ここでは「OR」)のコンビネーションですね!

SQLでもほぼ同じように設定しましたね。そもそも、Airtableのフィルターメニューって、条件式の先頭にわざわざ「Where」って表示されています。SQLを意識していることは間違いないでしょうね🙂。

ここでのハイライトは、論理演算子をANDからORに切り替えることです。デフォルトでは、論理積(AND「かつ」)です。7に等しく、かつ11に等しいとか、あり得ませんからね😅。自分で論理和(OR「または」)に切り替えましょう。

そして、一度、ANDまたはORを選択したら、何個条件を追加しようとしても、ANDのみ、または、ORのみしか設定できません。ANDとORを組み合わせる複雑なフィルタリングを行うには、条件グループを追加する必要なのですが、それは以前当ブログで紹介しました(見てね🧡)。

ということで、フィルタリングは無事できました~。

SQLでいうこところの、BETWEENやINの機能は、Airtableにはなさそうですね。機能をシンプルにするために、あえて実装していなのかも。ですから、論理式をうまく使う必要があります。

きちんと論理関係(かつ、または、でない、含む、などなど)を頭で整理してからフィルタリング設定するのがおすすめです。

本日は、ここまで~😆。

では、ビーダゼーン!

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






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