本記事はノーコードアプリ開発について全く知らなかった管理人が独学で勉強し、ここ大事!と感じた部分を記事にまとめています。
本ブログでは新UI画面で内容をまとめています。
新旧画面への切り替えは、下図を参考に該当アイコンをクリックしてください(^^)
まずはじめに
- 登録中のデータである条件を満たすデータのみを抽出したい人
- 自分で登録したデータのみ表示させる方法
- 進捗管理アプリにおいて進捗段階別にデータを表示させる方法
- 管理者(上司)に確認をお願いする案件だけ表示させる方法
- 所属部署別にViewの表示を変える方法
- データが登録された時期で区切ってViewに表示させる方法
今回の記事はスライス機能についてです。
スライスはappsheetでアプリ開発を行ううえで、使うことが非常に多い機能です。
本記事では初心者から上級者まで汎用性が高く、使いやすいスライス条件を5つご紹介します。
それでは勉強していきましょう!
スライスとは?
まず、スライス機能について簡単に説明します。
スライスとは、データテーブルに登録されているデータを任意の条件式で抽出する機能です。
同じような機能でSecurity Filterがあります。
データ数が数万件を超えてくるようになったら、Security Filter設定を検討してみてください。
appsheetにQuick syncという、更新されていないデータの同期をキャンセルする機能が実装されました。
これにより、データの同期スピードが上がったので特に気にしなくても大丈夫です。
汎用性のあるスライス設定
appsheetにおいて、こういうカラム設定をしておくとアプリの汎用性が高くなるという設定がいくつかあります。
このページでは、これだけは覚えておいたほうがいいと思うスライス設定を5つご紹介します(^^)
上図のようなスライス設定の検証をするために以下のテーブルを用いました。
検証のために実際に用いたダミーデータはこんな感じです。
使うデータは以上です。それでは早速取り掛かってみましょう!
自分で入力したデータのみ表示させる
appsheetにデータを送ったら、まずはデータタイプの設定をします。
今回はスライス設定についての記事なので詳細は割愛しますが、以下の設定をしてください。
- アプリユーザーテーブルのkey値をemail,LABELを名前にする
- 登録案件テーブルの申請者をrefタイプにし、アプリユーザーテーブルと紐つける
- 申請者のApp formulaもしくはInitial ValueにUSEREMAIL()と入力する
スライスViewの作成
続いてスライステーブルを作成する方法を説明します。
- Slice Name:フィルター条件式が分かるスライス名にしておくことを推奨
- Source Table:参照するテーブルを選択する
- Row filter condition:[申請者]=useremail()と入力
appsheetはアプリを使用する際にメールアドレスの登録が必須となります。その登録したメールアドレスを自動で取得してくれるのがUSEREMAIL()関数です(^^)
つまり、誰がそのアプリ(データ)を使用しているのか?がわかるフラグとなります。
For this dataに作成したスライステーブルをセットする と覚えておいてください。
スライスViewの確認
最後に作成したViewを確認してみましょう(^^)
上図のダミーデータでは、申請者がAさんのメールアドレスのものが2つあります。
Viewを構成するテーブルを登録案件(全データ)と自分の案件(スライステーブル)で分けたときの見え方は、
ダミーデータの3件が全て表示されています。
Aさんが入力したデータ(2件)のみ表示されています。
[入力者]=useremail()を満たすデータのみ表示されることが確認できました(^^)
この設定は運用中のアプリでも、あとからカラムを追加するだけで簡単に実装することが出来るため、ぜひ覚えておきましょう!
ステータス別で進捗を管理する
先ほどと同じく、まずはカラムの設定を行います。
登録案件シートのステータスカラムのInitial Valueに”登録”と入力しておきましょう。
カラムの編集権限を付与することでより高度なアプリも作成可能です
カラムの設定に有るEditableに関数を入力することで、編集権限をもった人しかデータをいじれなくさせる方法についてまとめています(^^)
【TIPS】Editableに関数を入れたときの挙動
ステータス別のスライスも先ほどと同様に、[ステータス]=〇〇のスライスViewを作成します。
フィルター条件式は以下の写真を参考にしてください。
ステータス 登録の条件式
ステータス 申請中の条件式
ステータス 承認の条件式
Viewの作成
ステータス別のスライステーブルを作成したら、今度はスライスViewを作成します。
参照テーブルは登録のスライステーブル、Positionはrefを選択
参照テーブルは申請中のスライステーブル、Positionはrefを選択
参照テーブルは承認のスライステーブル、Positionはrefを選択
今回のようなステータスの段階別でViewを作成する場合、Dashboard Viewがオススメです(^^)
作成した3つのViewを1つのViewにまとめるダッシュボードを作成してみましょう。
この設定でViewを作成すると・・
このようにステータス別で登録されたデータを一覧化することが可能です。
この設定もappsheetではよく使う設定です。ぜひ覚えておきましょう(^^)
この設定は業務の進捗管理アプリと非常に相性がいいです
スライスView別に登録されたデータの件数を数える設定についてまとめた記事です(^^)
【コピペでOK】データ件数を動的にカウントする方法
管理者に承認をもらいたい案件だけ表示させる
アプリ使用者に閲覧・編集権限を付与したい場合、以下の手順で実装が可能です(^^)
今回は閲覧権限(スライス)の付与方法で説明します。
カラム値にはTRUEもしくはFALSEを入力(権限付与したい人にTRUE)
抽出したい条件式でスライスを作成
いつ見せるか?の条件に関数もしくは構文を入力
今回は申請中の案件について、承認が欲しいこととして検証してみたいと思います。
スライスViewを作成します。
Show ifに以下の条件式を入力します。
any(select(アプリユーザー[管理者],[email]=useremail()))
any()関数とselect()関数はappsheetにおいて習得必須レベルの関数です
appsheetでアプリ開発をするうえで覚えておくべき関数をまとめています(^^)
【まとめ】appsheetでよく使う関数一覧
承認者Viewの確認
作成した承認者Viewの見え方を確認します。
承認権限を持たないAさんがログインした場合はViewのタブは3つですが・・
承認権限を持つC上司がログインした場合、新たに承認者Viewが確認できます。
このany(select())関数は覚えておくと、色々なアプリで応用が効く汎用性が高い設定を実装できます。
この機会にぜひ覚えておきましょう!
ログインユーザーの所属部署別にView画面を変える方法
このスライス設定で重要になるのがselect()関数です。
select()関数については別の記事にまとめています
select()関数の使い方、引数の渡し方について詳しくまとめています(^^)
【これで解決!】select()関数の使い方
select()関数の応用で、直前に選んだ選択肢によって続く選択肢を制限する方法をまとめています(^^)
【脱初心者!】select()関数で依存型ドロップダウンリストを作成する方法
今回の検証に用いたテーブルは2つです。
ダミーデータを適当に入力しています。
テーブルに所属と登録日を用意します。
テーブルに名前とemailと所属を用意します。
このデータをappsheetに取り込んでViewを整えます。
視認性を高めるために色を付けています。
テーブルの用意ができたらスライスの条件式を入力していきます。この記事では所属が開発部の人の場合でまとめています。
条件式に以下の関数を入力します。
[所属]=text(select(アプリユーザー[所属],[email]=useremail()))
先ほど作成したスライステーブルを参照テーブルに指定します。
スライステーブルのViewでは所属が開発部のデータしか表示されなくなりました(^^)
今年に登録されたデータのみを表示させる
最後に今年登録されたデータのみを表示させる方法を説明します。
検証データは所属部署のデータを使用します。
登録日がピンク色のデータのみ表示させたいと思います。
本記事をまとめているのは2022年なので、同じ年のデータをピンク色にしています。
スライステーブルは、以下の関数をRow filter conditionに入力します。
year([登録日])=year(now())
この関数の意味は、登録日の日付と現時刻の”年”が等しいもの です(^^)
このスライス条件式で作成したスライステーブルでViewを作成すると・・
2022年に登録されたデータのみ表示されています。
eoweek()関数やeomonth()関数も使えるようになっておきましょう
先週分や先月分、今月分など期間を短く区切りたい場合の設定方法をまとめています(^^)
【これで解決!】eoweek()関数とeomonth()関数の使い方
まとめ
以上、汎用性が高いスライス設定についての記事でした。
スライスViewをDashboardに並べて進捗管理をする仕組みは、簡単に作れ、かつ応用が効くので幅広く使用することが可能です。
スライスはappsheetでアプリ開発を行うなら、避けては通れない基本知識です。
特に癖のある設定でもないので、繰り返し使っているうちに自然と身につくと思います(^^)
記事内容について何かありましたらページ下にあるコメント欄からコメントをお願いします。
わかりにくかった部分や間違った情報などご指摘いただけると嬉しいです!
勉強お疲れさまでした(^^)