【中編】 データベースを管理するノーコードツールAirtableについて:テーブルを超えてデータを活用する4つのフィールド
コードの書けないエンジニアのたかしです。中編になります。カタカナ語が多くて大変ですが解説していきます。
<前回の記事>
Linked record field
異なるテーブルのレコードを繋げるフィールドです(一応同じテーブル内でリンクさせることも可能ではあります)。下の画像ではBooksとAuthorsがリンクフィールドAuthorで繋がれています。わざわざテーブルを繋げなくても1枚のテーブルで十分だろうと考える人がいるかも知れません。しかしそれは誤りです。
例えばフィールドを本の名前/本の表紙/作者名/作者画像/本の要約/作者の経歴だとしましょう。レコードを増やしていくとどうなるでしょうか。同じ作者の本AとBが出てきた場合、作者名/作者画像/作者の経歴が重複してしまいます。データに余裕があるならば問題ないと言えるかも知れませんが、データの無駄遣いです。
また1つのテーブルに情報を詰め込みすぎると読み込みが遅くなります。何かデータを取り出してくるときに全ての情報を読み込む必要はありません。複数テーブルに分けて管理することで欲しいデータを必要十分な処理で読み込むことが可能になります。
さてリンクの方式ですが先頭のセル(primary fieldのセル)の値を代表にしてレコード同士をテーブル相互にリンクさせています。したがって片方のテーブルでリンクフィールドを作成するともう片方のテーブルでも自動でリンクフィールドが作成されます。同様に一方のテーブルでレコードをセルに追加すると、もう一方の対応セルにレコードが追加されます。リンクフィールド内のレコードをクリックすると上の図のようにリンクしているレコードの情報が出現しリンク先のテーブルに線が伸びます。
とにかくリンクフィールドは異なるテーブルのレコードを繋げるものだという認識で問題ありません。以下の3つのフィールドと連携することで真の力を発揮するフィールドです。
Lookup field
リンクフィールドのリンク先のフィールドデータを取り出してきて並べるフィールドです。ルックアップ(読み取り)ができるのは同じテーブル内のリンクフィールドからの情報だけです。
同じテーブル内のリンクフィールドを選択すると、Choose a field からフィールドを選択する画面を出すことができます。この中にあるフィールドは全てリンク先のものです。リンク先のフィールドからデータを取ってきて並べます。
例えば上の図は商品のマスタデータです。リンクフィールドSuppliers(仕入れ先)の電話番号をマスタデータに含めたいと考えています。ルックアップフィールドを追加してリンク先のフィールドPhone Numberを選択します。
するとこのようにルックアップフィールドに電話番号が表示されました。レコードリンクが2つあるレコードには2つの電話番号が入っていますね。
Rollup field
ルックアップと似ています。リンクフィールドのリンク先のフィールドデータを取り出してきて何かしらの処理を行うフィールドです。何かしらの処理は関数で行います。
例えば上の画像はリンクフィールドTasksの中にあるレコードをからデータを取り出してきて、合計を出す処理を行おうとしています。一番上のレコードにおいてはConceptionとRevisionsの合計が出ます。
リンク先のテーブルTasksを見るとConcepitonは70725、Rvisionsは2500ですので合計が73225となっていれば成功です。
成功しました。他のレコードでも成功していますね。ロールアップの処理関数ですがこちらにありますので参考にしてください。
Count field
単純にリンクフィールドのレコードの数を数えます。この場合上から2,3,1となれば成功です。
成功しました
終わりに
テーブルをまたいでレコードを繋げたり、データを引っ張ってきたりする4つのフィールドについて解説しました。レコード/フィールド/テーブルなどカタカナ語が多いのでそれぞれの意味をしっかりと押さえながら理解して頂ければ幸いです。ここまで読んで下さいましてありがとうございました。
Twitterをやっていますのでフォロー宜しくお願いします
▶︎ https://twitter.com/NoCoderT
<次の記事はこちら>