チューリップ・テーブルのクエリと集約
  • 13 May 2024
  • 1 読む分
  • 寄稿者

チューリップ・テーブルのクエリと集約


記事の要約

目的

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は現在アプリからアクセスできないため、アプリロジックで直接利用することはできません。クエリから集計を実行することで**、**この値をターゲットにすることができ、その値を中心にアプリロジックを構築することができます。


この記事は役に立ちましたか?