【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にはなさそうですね。機能をシンプルにするために、あえて実装していなのかも。ですから、論理式をうまく使う必要があります。
きちんと論理関係(かつ、または、でない、含む、などなど)を頭で整理してからフィルタリング設定するのがおすすめです。
本日は、ここまで~😆。
では、ビーダゼーン!
※私のやる気アップとブログの品質向上につながりますので、記事が気に入られた方は、「ポチっ」と好きボタンを押してくださったり、フォローいただけますと幸いです🙇。
この記事が気に入ったらサポートをしてみませんか?