- 印刷する
目的
Tulipテーブルをクエリし、Tulip Appsからアクセス可能な集計を作成する方法を学びます。
この記事では、次のことを学びます。
- テーブルクエリの機能
- クエリと集計の作成方法
- アプリでのクエリと集計の使用方法
テーブルクエリとテーブル集計の紹介
テーブルクエリとテーブル集計を使用すると、Tulipテーブルをダイナミックに操作して、データをフィルタリングしたり、アプリで使用できるように要約したりできます。
この記事では、10行を持つ次の注文テーブルを参照します:
右上にQueriesと Aggregationsのボタンがあります。右上にQueriesとAggregationsのボタンがある。
次の例では、出荷されていないレコードのみを返すフィルタを使用しています:
集計はクエリの上に追加され、クエリのようにテーブルレベルで作成されます。新しい集計を作成するには、**[Aggregations]**をクリックします。
次の例では、テーブルフィールド「商品数量」を集計します:
クエリオプション
フィルタ
特定の列、または複数の列を静的値またはアプリ入力と比較して、レコードをフィルタリングします。
比較オプションの例を以下に示します:
- 等しい / 等しくない
- NULL / NULLでない
- 含む / 含まない
- で始まる / で始まらない
- で終わる / で終わらない
- である
- 以上である / 以下である
- が後またはatである / が前またはatである
Static Valueはクエリ構築時に静的に設定されるが、App Inputはアプリ自体で設定される。App Inputは以下のように設定できる:
- 変数
- 静的値
- アプリ情報
- チューリップ・テーブル・レコード
テーブル・クエリでCreated AtフィールドとUpdated Atフィールドを使用できるようになりました。
ソート
Sortオプションを設定することで、レコードの表示をカスタマイズできます。例を以下に示します:
- AからZ / ZからA
- 0から9 / 9から0
上限
クエリによって返されるレコードの最大数。
- デフォルト:1,000
- 最大1,000
:::(Warning) (制限時の動作)
クエリ・フィルタに一致するレコードがテーブル内に制限数より多い場合 (またはフィルタを設定しない場合は全体として)、制限数で指定された数のみがクエリ結果に含まれます。
クエリにソートが含まれている場合は、そのソートに従った最初のレコードが含まれます:
テスト
Filter、Sort、Limit オプションを設定してクエリを設定した後、Test をクリックしてテーブル上でクエリをテストできます。これにより、クエリがアプリで返す結果をシミュレートできます。
集計
集計は、クエリ上で実行されるサマリ値で、特定のカラムに対して以下の値のいずれかを計算できます:
- 平均
- カウント
- 最大値
- 最小
- モード
- 合計
- 一意の値
:::(Warning) (制限) 集計は、設定されているテーブル・クエリが返すレコードに対して実行されます。したがって、集約の親テーブルクエリに設定された制限は、集約にも適用されます。
つまり、Aggregation が考慮できるレコードは最大 1,000 件です。そのため、指定されたフィルタのレコード数が制限数より多く、ユーザがクエリの制限を認識していない場合、予期しない結果が表示される可能性があります。
アプリで使用するために1,000以上のレコードを集計する必要がある場合は、コネクタ関数を介して、最大100,000レコードをサポートするTulip APIのrunAggregationエンドポイントを使用することができます。より多くのレコードの集計を視覚化する必要がある場合は、テーブル内のすべてのレコードを集計できるTulip AnalyticsでSingle Value分析を構築できます:
アプリでクエリと集計を使用する
アプリへのクエリの追加
アプリにクエリを追加するには、まず[Records]タブで**[+Add Table**]をクリックして、テーブルをアプリに追加します。次に、[Query]をクリックします。
表示されるモーダルで、クエリに「Query Name(クエリ名)」を指定し、該当する場合はフィルタに関連する「App Input(アプリ入力)」を構成します。この例では、[Products Not Shipped(出荷されていない商品)]というクエリを参照してください:
クエリがアプリで構成されたので、インタラクティブテーブルを埋め込み、クエリとなるデータソースを選択します。
埋め込みテーブルには、クエリの結果が表示されます。この例では、**'Shipped' equals 'No'**というフィルタを満たすレコードが3件返されています:
アプリへの集計の追加
クエリをAppに追加する方法と同様に、+Add Aggregationをクリックして集計を追加し、Aggregation Nameを割り当てます。
この例では、未出荷のレコードのみを返すクエリに対して、Total Qty Products Orderedという集計を実行しています。このため、集計名はQuantity of Products to be Shippedとなっています:
アプリに集約を埋め込むには、変数(Variable)をアプリにドロップし、データソース(Datasource)-チューリップ・テーブル集約(Tulip Table Aggregation)を選択します。次に、アプリに集約を追加するときに構成された集約名を選択します。
この例では、出荷が必要なレコードを返すQueryの上で、Sum of ProductQuantityという集計が実行されています。これは合計17を返します:
アプリのロジックで集計を使用する
集約を使用すると、集約の値を中心にアプリロジックを構築することができます。以下の例を参照してください:
Single NumberTulip Analyticsは現在アプリからアクセスできないため、アプリロジックで直接利用することはできません。クエリから集計を実行することで**、**この値をターゲットにすることができ、その値を中心にアプリロジックを構築することができます。