サンプルアプリを使ってみる
AppSheet を使い始めるにあたって、一般的なユースケースを取り入れたサンプルアプリを使用してみましょう。下の表にサンプルアプリをまとめています。
より複雑なアプリ ソリューションを紹介している AppSheet のアプリ テンプレートもご覧ください。
サンプルアプリを使用するには、サンプルアプリのリンクをクリックして、AppSheet エディタでサンプルアプリを(新しいタブで)開きます。次に、以下のいずれかを行います。
- アプリを確認して操作し、サンプル ユースケースとその実装について詳しく学ぶ(サンプルサプリは読み取り専用です)。
- アプリをコピーして、自分のアプリの出発点として使用する。
生徒の課外活動を追跡します。
生徒は、このアプリを使用して、スケジュールのほか、各活動に関する重要注意事項を追跡します。
このサンプルアプリに関する注意事項:
- このアプリでは、1 つのワークブック内で
Activity
テーブルとNotes
テーブルの 2 つのワークシートを使用します。アプリで複数のシートを使用する方法をご覧ください。 - 各テーブルには、
MultiColumnKey
型の_ComputedKey
行があります。これは、CONCATENATE()
関数を使用してActivity
テーブルのActivity
とDay
、Notes
テーブルのActivity
とDate
を組み合わせたものです。各列の組み合わせ値は、AppSheet が各行を一意に識別するために使用できる一意のキーとなります。Notes ワークシートでは、各アクティビティの隣に日付が表示されています。 -
Notes
テーブルは、Ref
列であるActivity
を定義し、これは、Activity
テーブルを参照しています。ユーザーが活動にメモを加えると、プルダウンにActivity: Day
を組み合わせた_ComputedKey
の値が表示されます。たとえば、Swim Practice: Monday
やSwim Practice: Friday
が表示されます。そのため、どの日のどの活動についてメモを書いたか、すぐに簡単に参照できます。 - Notes 参照ビューとそれに関連するシステム生成ビュー(Notes_Detail、Notes_Form、Notes_Inline)では、生徒の活動の詳細を確認したり、これにメモを追加したりできます。
アクティビティの詳細に表示される [Notes] 参照ビュー
複数の写真を 1 行に追加します。
Animal
テーブルの各動物には、複数の写真を割り当てることができます。これを行うため、Animal Photo
というテーブルがあり、このテーブルが Animal
テーブルを参照します。Ref
列の [Is a part of?] がオンになっているため、新しい動物を追加すると、ユーザーが複数の写真を追加できるよう、ネストされたフォームが表示されます。
複数のステータス値が Yes
に設定されることを防ぎます。
サンプルアプリには、型が Yes/No
の Status
という列があります。以下の Valid if 式がこの列に適用されることで、テーブルの 1 つの行でのみ、Status
を Yes
に設定できるようになります。
OR(
[Status] = FALSE,
COUNT(
FILTER(
"Data",
AND(
[Key] <> [_THISROW],
[Status] = TRUE
)
)
) = 0
)
現在の行のステータスが No
に設定されると、行が必ず有効となります(No
のステータスには制限がないため)。現在の行のステータスが Yes
に設定されると、行は、ステータスが COUNT()
式による計算によって Yes
となった行が他に存在しない場合のみ有効になります。
高評価アイコンか低評価アイコンをクリックすることで、出欠を記録します。
このアプリは、以下の更新をトリガーするアクションを定義します。
- 出席者のステータスを Present(出席)または Absent(欠席)に変更する
- 出欠状況の確認用に Building と Room を設定できます。
Roster
テーブルでは、最新のデータを追跡します。Attendance Records
テーブルでは、すべての出欠状況レコードを追跡します。
一括選択により、複数の行に対しアクションを適用します。
アプリの右上のチェックボックスをクリックすると、複数の行を選択できます。次に [More] をクリックすると、アクションを選択できます。モバイル デバイスでは、行を長押しすると、一括操作モードを有効化できます。一括操作の使用もご覧ください。
このサンプルアプリは、次のことを行います。
ユーザーの現在地から LatLong
で表される目的地(建物の位置など)までの距離を計算します。
このサンプルアプリは、次のことを行います。
- ユーザーの現在地(
HERE()
)とLatLong
の値に基づき、DISTANCE()
関数を使用して距離を計算します。 - ユーザーと、その
LatLong
の位置からの距離を一覧表示した Distances スライドビューを提供します。 - ユーザーの位置をマップ上のポイントとして識別する Map マップビューを提供します。
- 位置情報サービスをオンにするよう要求します。
現時点では、
LatLong
データ型の間でのみ距離を計算できます。
特定の列が変更された時点のタイムスタンプを記録します。
Change type columns は、ある行に対し何回の変更が行われたか、その変更がいつ行われたかを追跡するのに便利です。
一連の列は、ChangeTimestamp
と ChangeCounter
のデータ型を使用して Color
列と Decimal
列の変更を追跡するのに使用されます。Color と Decimal の値を変更して、デモを確認してください。
行の選択に応じてビューを動的に切り替えます。
このサンプルアプリは、LINKTOVIEW()
関数を使用して Views
テーブルの View Name
列に基づき現在のビューを変更する Change View というアクションを定義します。このアクションは、ビューの Row Selected イベントに関連付けられます。
ビューを [Letters View] または [Numbers View] に変更する
特定の行の関連レコードのチャートビュー(ヒストグラム)を表示します。
Item
テーブルの各行は、Owner
列を使用して、特定の Person
行に関連付けられます。
このサンプルアプリでは、以下のビューを使用できます。
人物を選択して、その人物の関連アイテムをサイズ別に表示するチャートを確認してみましょう。
建設業者のプロジェクト費用を追跡します。
サンプルアプリは、費用などのプロジェクトの全情報の追跡に使用されるスプレッドシートに接続されます。建設業者は、プロジェクトの見積もり、実際の費用、プロジェクトで実施される各種作業の進捗状況を追跡できます。
各ビューには、Total Cost Overrun
の値を除く Remodel
データのスライスが表示されます。これにより、建設業者は、アプリを顧客と共有でき、建設業者がより機密性が高いと判断したデータを除き、顧客が支出と全体の進捗状況を追跡できるようになります。
このサンプルアプリでは、以下を行えます。
- 実際の費用を示す Col Series というタイプのグラフを表示します。
- ステータスごとまたはエリアごとにデータを(テーブルビューとして)一覧表示します。
会社の従業員に対し、医療上の緊急事態の発生時に心肺蘇生(CPR)を実施する方法について図で説明します。
このアプリでは、Step
、Title
、Details
、Image
の 4 つの行を持つスプレッドシートを使用します。
このサンプルアプリの最も重要な側面の一つとして、従業員に各ステップの実施方法を正確に示す画像が挙げられます。スプレッドシートには、ステップに対応する各画像のファイル名を定義する Image
列が含まれています。
サンプルアプリでは、各ステップを特定の順序で表示できる Steps スライドビューを使用できます。正しい順序で各ステップを実施しなければ命に関わることとなる場合があるため、この機能は必要です。アプリの Steps スライドビューでは、一般情報が表示されます。各アイテムをクリックすると、そのステップの実施方法に関する詳細が表示されます。
値のシンプルなリストから以下のプルダウンを作成します。
- リストから(
Enum
を使用して)1 種類の果物を選択する - リストから(
EnumList
を使用して)複数の種類の果物を選択する
以下は、プルダウンがアプリでどのように表示されるかを示しています。
シンプルな値のリストからの 2 つのプルダウン(単一選択と複数選択)が表示されている Enum versus EnumList アプリ
詳細は、値のシンプルなリストのプルダウンを表示するをご覧ください。
列のデータを並べ替えます。
このサンプルアプリでは、2 つのテーブルビューを使用できます。1 つは Price
列の値を並べ替えるもの、もう 1 つは Name
列の値をアルファベット順に並べ替えるものです。
データに保存されていない画像をフォームに格納します。
Images in forms サンプルアプリ
このアプリには、Show Image
という Show
型の列を持つテーブルが含まれています。この列の Type Details の Category は Image
に、Content は画像の URL に設定されています。
[Category] は [Image] に設定され、[Content] はイメージの URL に設定されている。
マップを使用して、インタラクティブ ダッシュボード ビューを作成します(アプリをフルスクリーン モードで表示します)。
このサンプルアプリでは、以下のビューを使用できます。
- 複数のビュー、特に Countries ビューと Sites Map ビューを 1 か所で表示できる Dash ダッシュボード ビュー。
- 国の一覧を表示する Countries テーブルビュー。国を選択すると、マップビューが表示されます。
- 世界遺産の場所と詳細を表示する Sites Map マップビュー。
同じ行の列の値に一致する列の値にアクセスします。
Form
テーブルで、次の LOOKUP()
関数を使用すると、Email
列がユーザーにより入力されたメールアドレスと等しい Lookup Table
の行を見つけることができます。その後、この関数により、その行の Name
または Color
の値が返されます。
LOOKUP([指定したメールアドレス], "Lookup Table", "Email", "Name")
LOOKUP([指定したメールアドレス], "Lookup Table", "Email", "Color")
期間ごと、メディアタイプごとに予算データを確認します。
マーケティング予算が各メディアにどのように費やされたか、および四半期ごとのマーケティング予算の合計額を確認できます。このアプリでは、予算の全項目を確認し、必要に応じて更新することもできます。このアプリでは、データを追加できませんが、予算セクションのエントリを編集することはできます。また、各マーケティング構想に関与した主要パートナーとその役割の詳細を検索することもできます。
このサンプルアプリでは、以下のビューを使用できます。
- Items テーブルビューには、確認用に予算の全項目が表示されます。
- By Media グラフビューでは、グラフの上のフィルタを選択することで、四半期ごとに情報をフィルタ処理できます。これにより、時間の経過とともにどのような支出がなされるかをすばやく確認し、異なるメディア間のデータを比較できます。
- By Quarter チャートビューでは、特定の四半期におけるメディアのタイプごとの支出を比較できます。これにより、同じ期間で発生するすべての支出をすばやく確認し、四半期ごとの情報を比較しやすくなります。
- ハンバーガー メニューの Key Partners テーブルビューでは、パートナーがどのプロジェクトに携わっているかとともに、各パートナーが担当している主な業務を確認できます。
顧客、プロダクト、注文を管理します。
このサンプルアプリでは、以下を行えます。
- 顧客リストを作成、編集する。
- プロダクト リストを作成、編集する。
- 顧客に関連する注文を作成する。注文には、Open(未対応)、Complete(対応完了)、Canceled(キャンセル)の 3 つのステータスを持たせることができます。
- プロダクトを各注文に追加し、数量を指定する。アプリは、注文の合計金額とプロダクトあたりの合計費用を計算します。
このサンプルアプリは、AppSheet の以下の機能を活用します。
- テーブル間の参照。
Customers
、Orders
、Order Details
がテーブル間の参照により関連付けられます。注文が作成されたら、すべての顧客を一覧表示するプルダウンができます。このリストは、顧客リストが更新されるたびに動的に更新されます。また、ユーザーが顧客の詳細を開くたびに、そのビューから新しい注文を作成できます。 - スプレッドシートの数式。アプリがスプレッドシートと同期されると、一連の数式の計算が行われます。Orders ビューの Order Total の数式は、スプレッドシートがアプリと同期されると計算されます。
- 未対応の注文、顧客ごとの未対応の注文、未対応の注文の詳細、対応済みの注文の詳細にアクセスするためのスライス。
参照アクションを使用します。
参照アクションは、別のテーブルで定義されたアクションを使用してあるテーブルの行を変更するために使用されます。このサンプルアプリでは、以下の形式が取られます。
- Parent テーブルには、関連する子レコードの
Number
列に 1 を加える +1 All というアクションがあります。このアクションのタイプは、Data: execute an action on a set of rows(データ: 一連の行に対しアクションを実行する)です。 - Child テーブルには、現在のレコードの
Number
列に 1 を加える +1 というアクションがあります。このアクションのタイプは、Data: set the values of some columns in this row(データ: この行の複数の列の値を設定する)です。
従業員または顧客にマニュアルを提示します。
このアプリは、3 つのテーブルから作成されています。いずれの事例でも、以下の形式を取ります。
-
Title
列には、各ステップの名前が含まれ、Description
列には、ステップの実施方法に関する手引きが含まれます。 -
Image
列は、アプリエディタとアプリでImage
タイプを有効化します。この例では、画像が一般公開 URL を使用して表示されています。画像は、クラウド プロバイダのアプリのフォルダ内のファイル名と正確に一致するファイル名を使用して表示することもできます。画像とドキュメントを表示するをご覧ください。 -
アプリの全テーブルは読み取り専用に指定されているため、アプリユーザーはコンテンツを閲覧できますが、データを編集、追加、削除することはできません。
スライドビューには、ステップを表すわかりやすい画像とともに、実施される予定の順番でステップが縦に表示されます。
アプリで行が閲覧された回数をカウントします。
各行には、閲覧回数を保持する Counter
列があります。テーブルビューの行をクリックすると、カウンターの値が増えます。
このアプリは、ユーザーがテーブルビューの行をクイックしたときにデフォルトの動作をオーバーライドする以下のカスタム アクションを定義します。
- Navigate: 行の詳細ビューに移動します。アクションのタイプは、App: go to another view within this app(アプリ: このアプリ内の別のビューに移動する)です。
- Increment: 行のカウンターの値を増やします。アクションのタイプは、Data: set the values of some columns in this row(データ: この行の複数の列の値を設定する)です。
- Increment and Navigate: 上記のアクションの両方を実行します。アクションのタイプは、Grouped: execute a sequence of actions, namely the Increment and Navigate actions(グループ: 一連のアクション、つまり Increment と Navigate のアクションを実行する)です。
View Counter1 ビューの Row Selected の動作は、Increment and Navigate アクションを呼び出すよう構成されています。