3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

プリザンターAPIで複数のテーブルをJOINしてデータを取得する方法

Posted at

プリザンターAPIで複数のテーブルをJOINしてデータを取得する方法

はじめに

プリザンター に格納された テーブルA と テーブルB の情報をJOINして取得することができます。マスタデータにある属性値などが簡単に取得できます。

前提条件

テーブルA と テーブルB はリンクの設定が必要です。

テーブル構成

親テーブルA - サイトID: 6
子テーブルB - サイトID: 7 (分類AでサイトID 6 にリンク)

Request URL

子テーブルから親テーブルを参照する場合には、子テーブルのサイトIDをURLに指定します。

https://servername/api/items/7/get

Request Body

複数のテーブルからデータを取得する際には、以下の指定を行います。"ApiDataType"は必ず"KeyValues"とします。"GridColumns"には取得する項目をのテーブルと項目を指定します。"ClassA~6,ClassA" のカンマの前の部分は、分類Aに設定したサイトID: 6 へのリンクであることを示します。カンマの後ろの部分は、リンク先テーブルの分類Aを示します。

{
    "ApiKey":"9318a126...",
    "View": {
        "ApiDataType": "KeyValues",
        "GridColumns": [
            "Title",
            "ClassA",
            "ClassA~6,ClassA",
            "ClassA~6,ClassB"
        ]
    }
}

取得結果

デモ環境 の「商談管理の例」で「顧客」と「商談」を取得した場合、下記のようにデータが取得できます。件名と顧客は サイトID: 7 から取得していますが、住所と連絡先は サイトID: 6 のマスタデータから取得しています。

{
    "StatusCode": 200,
    "Response": {
        "Offset": 0,
        "PageSize": 200,
        "TotalCount": 7,
        "Data": [
            {
                "件名": "業務改善コンサルティング",
                "顧客": "働き方改革推進団体",
                "住所": "東京都立川市",
                "連絡先": "258-258-258"
            },
            {
                "件名": "文書管理ソフトウェアの販売",
                "顧客": "Webデータベース開発株式会社",
                "住所": "東京都練馬区",
                "連絡先": "789-789-789"
            },
            {
                "件名": "営業支援ツールの追加機能開発",
                "顧客": "情報共有イノベーション研究所",
                "住所": "東京都新宿区",
                "連絡先": "333-333-333"
            },
            {
                "件名": "グループウェアのクラウド環境への移行",
                "顧客": "株式会社プリザンター",
                "住所": "東京都中央区",
                "連絡先": "111-111-111"
            },
            {
                "件名": "AI技術の検証",
                "顧客": "マネジメント快適化ホールディングス",
                "住所": "東京都中野区",
                "連絡先": "123-123-123"
            },
            {
                "件名": "グラフ化ツールの販売",
                "顧客": "有限会社ノンプログラミング",
                "住所": "東京都国分寺市",
                "連絡先": "456-456-456"
            },
            {
                "件名": "食品工場内の環境モニタリングシステムの開発",
                "顧客": "株式会社オープンソーステクノロジー",
                "住所": "東京都豊島区",
                "連絡先": "555-555-555"
            }
        ]
    }
}

その他

親の親や子を指定することも可能です。

親の親を指定する場合

ClassA~7-ClassA~6,ClassA

子を指定する場合

ClassA~~7,ClassB

リンク項目を表す文字列の確認方法

「テーブルの管理」の「一覧」タブで他のテーブルの項目を追加し、ブラウザの開発者ツールを開き要素の「data-value」で確認することができます。
image.png

3
1
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?