コミュニティ コネクタ API リファレンス

必須の関数

getConfig()

コネクタのユーザー設定可能なオプションを返します。

リクエスト

@param {Object} request 設定リクエスト パラメータを含む JavaScript オブジェクト。

パラメータ JavaScript オブジェクトには、次の構造のデータが含まれます。

{
      languageCode: string
    }
    
フィールド名 説明
languageCode string ユーザーの言語を表すコード。このコードを指定すると、ユーザーの設定オプションのローカライズ版が返されます(省略可)。サポートされている言語とコードの全リストをご覧ください。
configParams オブジェクト getConfig() への前回の呼び出しに .setIsSteppedConfig(true) が含まれた場合に存在します。これまでにユーザーが指定した設定値を含むオブジェクト。
リクエストの例

言語がイタリア語に設定されているユーザーの getConfig リクエストの例:

{
      languageCode: "it"
    }
    

レスポンス

データポータル サービス

@return {object} 指定されたリクエストの設定を表す JavaScript オブジェクト。

function getConfig(request) {
      var cc = DataStudioApp.createCommunityConnector();
      var config = cc.getConfig();

      config
          .newTextInput()
          .setId('exampleTextInput')
          .setName('Single line text')
          .setHelpText('Helper text for single line text')
          .setPlaceholder('Lorem Ipsum');

      config
          .newTextArea()
          .setId('exampleTextArea')
          .setName('Text area')
          .setHelpText('Helper text for text area')
          .setPlaceholder('Lorem Ipsum');

      config
          .newSelectSingle()
          .setId('exampleSelectSingle')
          .setName('Select single')
          .setHelpText('Helper text for select single')
          .setAllowOverride(true)
          .addOption(config.newOptionBuilder().setLabel('Lorum foo').setValue('lorem'))
          .addOption(config.newOptionBuilder().setLabel('Ipsum Bar').setValue('ipsum'))
          .addOption(config.newOptionBuilder().setLabel('Sit').setValue('amet'));

      config
          .newSelectMultiple()
          .setId('exampleSelectMultiple')
          .setName('Select multiple')
          .setHelpText('Helper text for select multiple')
          .addOption(config.newOptionBuilder().setLabel('Lorum foo').setValue('lorem'))
          .addOption(config.newOptionBuilder().setLabel('Ipsum Bar').setValue('ipsum'))
          .addOption(config.newOptionBuilder().setLabel('Sit').setValue('amet'));

      config
          .newCheckbox()
          .setId('exampleCheckbox')
          .setName('This is a checkbox')
          .setHelpText('Helper text for checkbox');

      config
          .newInfo()
          .setId('exampleInfo')
          .setText('Examle instructions text used in Info')

      config.setDateRangeRequired(true);
      config.setIsSteppedConfig(false);

      return config.build();
    }
    

従来版

@return {object} ユーザーに表示するコネクタ設定を表す JavaScript オブジェクト。

レスポンスには、次の構造のコネクタ設定が含まれます。

  {
        configParams: [
          {
            type: string(ConfigType),
            name: string,
            displayName: string,
            helpText: string,
            placeholder: string,
            isDynamic: boolean,
            parameterControl: {
              allowOverride: boolean
            },
            options: [
              {
                label: string,
                value: string
              }
            ]
          }
        ],
        dateRangeRequired: boolean,
        isSteppedConfig: boolean
      }
    

フィールド名 説明
configParams[] object コネクタで必須のユーザー指定値。各項目はユーザー入力フィールドを表します。
configParams[].type string (ConfigType) 入力フィールドの種類。
configParams[].name string 入力フィールドの ID。
スペースを含まない、空でない文字列にします。
configParams[].displayName string 入力フィールドのテキストラベル。
configParams[].helpText string フィールドで期待される値についてユーザーに追加の参考情報を表示するテキスト。
configParams[].placeholder string typeTEXTINPUT または TEXTAREA である場合にのみ使用されます。
入力フィールドで期待される値のヒントとして使用される、プレースホルダ テキスト。
configParams[].isDynamic boolean このフィールドを使用して、後に設定エントリを動的に入力するかどうかを指定します。デフォルト値は false です。
configParams[].parameterControl.allowOverride boolean パラメータのオーバーライドを有効にします。true に設定すると、データソースの作成者はレポートの編集者によるオーバーライドを有効にすることができます。
allowOverride のデフォルト値は false です。パラメータのオーバーライドを有効にしたくない場合は、allowOverride プロパティを省略できます。
configParams[].options[] list typeSELECT である場合にのみ使用されます。
すべてのオプションのリストを提供します。
options[].label string オプションのラベル。
options[].value string オプションの値。
スペースまたはカンマを含まない、空でない文字列にします。
dateRangeRequired boolean true の場合、getData() リクエストの期間が指定されます。デフォルトでは、today を除く過去 28 日間が期間として選択されます。クエリの期間を指定する必要があるデータ API に対しては設定が必須です。また、期間の限定によりデータ API へのリクエストが効率的になる場合には設定が推奨されます。デフォルト値は false です。
isSteppedConfig boolean true の場合、ユーザーに現在の設定質問のセットに回答するように促し、回答された質問を getConfig() への後続の呼び出しに返します。false(デフォルト)の場合、ユーザーは「接続」をクリックして「スキーマ」ページに進むことができます。

レスポンスの例

次の例は、1 行のテキスト ボックス、テキストエリア、単一選択、複数選択、チェックボックス、情報ボックスの設定を示しています。単一選択の値は、レポートでオーバーライドすることができます。

  {
        configParams: [
          {
            type: "TEXTINPUT",
            name: "exampleTextInput",
            displayName: "Single line text",
            helpText: "Helper text for single line text",
            placeholder: "Lorem Ipsum"
          },
          {
            type: "TEXTAREA",
            name: "exampleTextArea",
            displayName: "Text area",
            helpText: "Helper text for text area",
            placeholder: "Lorem Ipsum"
          },
          {
            type: "SELECT_SINGLE",
            name: "exampleSELECT_SINGLE",
            displayName: "Select single",
            helpText: "Helper text for select-single",
            parameterControl: {
              allowOverride: true
            },
            options: [
              {
                label: "Lorem foo",
                value: "lorem"
              },
              {
                label: "Ipsum bar",
                value: "ipsum"
              },
              {
                label: "Sit",
                value: "amet"
              }
            ]
          },
          {
            type: "SELECT_MULTIPLE",
            name: "exampleSELECT_MULTIPLE",
            displayName: "Select multiple",
            helpText: "Helper text for select-multiple",
            options: [
              {
                label: "Lipsum",
                value: "lipsum"
              },
              {
                label: "Foo Bar",
                value: "foobar"
              },
              {
                label: "Dolor Sit",
                value: "amet"
              }
            ]
          },
          {
            type: "CHECKBOX",
            name: "exampleCheckbox",
            displayName: "This is a checkbox",
            helpText: "Helper text for checkbox",
          },
          {
            type: "INFO",
            name: "exampleInfo",
            text: "Example instructions text used in Info"
          }
        ],
        dateRangeRequired: false
      }
    

getSchema()

指定されたリクエストのスキーマを返し、コネクタのデータの構成に関する情報を提供します。各フィールドには、識別子、名前、データ型などの詳細が含まれます。

リクエスト

@param {Object} request スキーマ リクエスト パラメータを含む JavaScript オブジェクト。

パラメータ JavaScript オブジェクトには、次の構造のデータが含まれます。

{
      "configParams": object
    }
    
フィールド名 説明
configParams Object コネクタによって定義される設定パラメータのユーザー指定値を含む JavaScript オブジェクト。
リクエストの例

getSchema リクエスト オブジェクトの例:

{
      "configParams": {
        "exampleSelectMultiple": "foobar,amet",
        "exampleSelectSingle": "ipsum",
        "exampleTextInput": "Lorem Ipsum Dolor Sit Amet",
        "exampleTextArea": "NA",
        "exampleCheckbox": "true"
      }
    }
    

レスポンス

データポータル サービス

@return {object} 指定されたリクエストのスキーマを表す JavaScript オブジェクト。

function getSchema(request) {
      var cc = DataStudioApp.createCommunityConnector();
      var fields = cc.getFields();
      var types = cc.FieldType;

      var created = fields.newDimension()
          .setId('Created')
          .setName('Date Created')
          .setDescription('The date that this was created')
          .setType(types.YEAR_MONTH_DAY)
          .setGroup('Date');

      var amount = fields.newMetric()
          .setId('Amount')
          .setName('Amount (USD)')
          .setDescription('The cost in US dollars')
          .setType(types.CURRENCY_USD)
          .setIsHidden(true);

      var amountper = fields.newMetric()
          .setId('AmountPer')
          .setName('Amount Per Dimension')
          .setDescription('The summed cost')
          .setType(types.CURRENCY_USD)
          .setGroup('Money')
          .setFormula('sum($Amount)');

      var probability = fields.newMetric()
          .setId('Probability')
          .setName('Probability (Close rate)')
          .setDescription('The probability that a store closes')
          .setType(types.PERCENT);

      var opportunityname = fields.newDimension()
          .setId('OpportunityName')
          .setName('Opportunity Name')
          .setDescription('The name of the opportunity')
          .setType(types.TEXT);

      var isverified = fields.newDimension()
          .setId('IsVerified')
          .setName('Verified Status')
          .setDescription('Whether or not the store is verified')
          .setType(types.BOOLEAN);

      var company = fields.newDimension()
          .setId('Company')
          .setName('Incorporated Company Name')
          .setDescription('The name of the company the store belongs to')
          .setType(types.TEXT);

      fields.setDefaultMetric(amountper.getId());
      fields.setDefaultDimension(created.getId());

      return { 'schema': fields.build() };
    }
    

従来版

@return {object} 指定されたリクエストのスキーマを表す JavaScript オブジェクト。

この関数は、次の構造を持つスキーマを返します。

  {
        "schema": [
          {
            object(Field)
          }
        ]
      }
    

フィールド名 説明
schema[] object(Field) 各フィールドの詳細を含む、指定されたリクエストのスキーマ。

レスポンスの例

  {
        "schema": [
          {
            "name": "Created",
            "label": "Date Created",
            "description": "The date that this was created",
            "dataType": "STRING",
            "group": "Date",
            "isDefault": true,
            "semantics": {
              "conceptType": "DIMENSION",
              "semanticGroup": "DATE_AND_TIME",
              "semanticType": "YEAR_MONTH_DAY",
              "isReaggregatable": false
            }
          },
          {
            "name": "Amount",
            "label": "Amount (USD)",
            "description": "The cost in US dollars",
            "dataType": "NUMBER",
            "isHidden": true,
            "semantics": {
              "conceptType": "METRIC",
              "semanticGroup": "CURRENCY",
              "semanticType": "CURRENCY_USD",
            }
          },
          {
            "name": "AmountPer",
            "label": "Amount Per Dimension",
            "description": "The summed cost",
            "dataType": "NUMBER",
            "group": "Money",
            "formula": "sum(Amount)",
            "isDefault": true,
            "semantics": {
              "conceptType": "METRIC",
              "semanticGroup": "CURRENCY",
              "semanticType": "CURRENCY_USD",
              "isReaggregatable": true
            }
          },
          {
            "name": "Probability",
            "label": "Probability (Close rate)",
            "description": "The probability that a store closes",
            "dataType": "NUMBER",
            "semantics": {
              "conceptType": "METRIC",
              "semanticGroup": "NUMERIC",
              "semanticType": "PERCENT",
              "isReaggregatable": false
            }
          },
          {
            "name": "OpportunityName",
            "label": "Opportunity Name",
            "description": "The name of the opportunity",
            "dataType": "STRING",
            "semantics": {
              "conceptType": "DIMENSION",
              "semanticType": "TEXT",
              "isReaggregatable": false
            }
          },
          {
            "name": "IsVerified",
            "label": "Verified Status",
            "description": "Whether or not the store is verified",
            "dataType": "BOOLEAN",
            "semantics": {
              "conceptType": "DIMENSION",
              "semanticType": "BOOLEAN",
              "isReaggregatable": false
            }
          },
          {
            "name": "Company",
            "label": "Incorporated Company Name",
            "description": "The name of the company the store belongs to",
            "dataType": "STRING",
            "semantics": {
              "conceptType": "DIMENSION",
              "semanticType": "TEXT",
              "isReaggregatable": false
            }
          }
        ]
      }
    

getData()

指定されたリクエストの表形式データを返します。

リクエスト

@param {Object} request データ リクエスト パラメータを含む JavaScript オブジェクト。

request パラメータには、ユーザーが指定した値と、データ リクエストを完了するために使用できる追加情報が含まれます。構造は次のとおりです。

{
      "configParams": object,
      "scriptParams": {
        "sampleExtraction": boolean,
        "lastRefresh": string
      },
      "dateRange": {
        "startDate": string,
        "endDate": string
      },
      "fields": [
        {
          "name": string
        }
      ],
      "dimensionsFilters": [
        [{
          "fieldName": string,
          "values": string[],
          "type": DimensionsFilterType,
          "operator": Operator
        }]
      ]
    }
    
名前 説明
configParams object コネクタによって定義される設定パラメータのユーザー指定値を含むオブジェクト。
scriptParams ScriptParams コネクタの実行に関連する情報を含むオブジェクト
dateRange DateRange デフォルトでは、指定期間は今日を除く過去 28 日間です。ユーザーがレポートに期間フィルタを適用している場合、ユーザーの選択が指定期間に反映されます。
sampleExtraction が `true** に設定されている場合、今日の 2 日前の日付が開始日と終了日の両方に指定されます。
fields[].name string リクエストされたフィールドの名前。
fields[].forFilterOnly boolean リクエストのフィルタ処理にのみ使用されるフィールドにマークを付けます。コネクタがフィルタを適用している場合は、このフィールドを返しません。
dimensionsFilters DimensionsFilters ユーザーが選択したフィルタのネストされた配列。最も内側の配列は OR で連結し、最も外側の配列は AND で連結する必要があります。

dateRange

名前 説明
startDate string データのフィルタ処理の開始日。dateRangeRequiredtrue に設定されている場合にのみ適用されます。形式は YYYY-MM-DD です。
endDate string データのフィルタ処理の終了日。dateRangeRequiredtrue に設定されている場合にのみ適用されます。形式は YYYY-MM-DD です。

scriptParams

名前 説明
sampleExtraction boolean true の場合、getData() リクエストは自動セマンティック型検出になります。
lastRefresh string データ更新の最新のリクエストを示すタイムスタンプ。

dimensionsFilters

名前 説明
fieldName string フィルタ処理するフィールドの名前。
values string[] 演算子に使用する値の配列。
type "INCLUDE" | "EXCLUDE" このフィルタに一致するデータを getData() レスポンスに含めるか除外するかを指定します。
operator FilterOperator 適用する演算子。
リクエストの例
{
      "configParams": {
        "multiSelectExample": "foo,bar",
        "singleSelectExample": "Lipsum",
        "singleTextExample": "Lorem Ipsum",
        "multiTextExample": "Dolor Sit Amet",
        "includeCheckExample": "true"
      },
      "dateRange": {
        "endDate": "2017-07-16",
        "startDate": "2017-06-19"
      },
      "fields": [
        {"name": "count"},
        {"name": "family"}
      ]
    }

    

レスポンス

デフォルト

@return {object} 指定されたリクエストのスキーマとデータを含む JavaScript オブジェクト。

この関数は、指定されたリクエストを満たす表形式データを返します。表形式データのスキーマはレスポンスに含まれます。レスポンスは、次の構造を持ちます。

  {
        "schema": [
          {
            object(Field)
          }
        ],
        "rows": [
          {
            "values": [
              string
            ]
          }
        ]
      }
    
名前 説明
schema Field[] リクエストされたフィールドのスキーマ。 field.namefield.dataType は必須です。field オブジェクトの順序は、各行の値の順序と一致する必要があります。
rows[].values[] string | number | boolean 必須フィールドの値。
値の順序は、schema で定義された Fields の順序に対応する必要があります
filtersApplied boolean すべてのフィルタが正常に適用された場合は true、それ以外の場合は false に設定します。

Field

名前 説明
name string フィールドの名前。
dataType DataType フィールドのタイプ。
{
      "schema": [
        {
          "name": "OpportunityName",
          "dataType": "STRING"
        },
        {
          "name": "IsVerified",
          "dataType": "BOOLEAN"
        },
        {
          "name": "Created",
          "dataType": "STRING"
        },
        {
          "name": "Amount",
          "dataType": "NUMBER"
        }
      ],
      "rows": [
        {
          "values": ["Interesting", true, "2017-05-23", "120453.65"]
        },
        {
          "values": ["SF", false, "2017-03-03", "362705286.92"]
        },
        {
          "values": ["Spring Sale", true, "2017-04-21", "870.12"]
        }
      ],
      "filtersApplied": false
    }
    

BigQuery

@return {object} BigQuery クエリ設定を表す JavaScript オブジェクト。

var bqTypes = DataStudioApp.createCommunityConnector().BigQueryParameterType;
    var configuration = DataStudioApp.createCommunityConnector().newBigQueryConfig()
        .setBillingProjectId('billingProjectId')
        .setQuery('myQueryString')
        .setUseStandardSql(true)
        .setAccessToken('myAccessToken')
        .addQueryParameter('myUrlParameterName', bqTypes.STRING, 'myUrlParameterValue')
        .build();
    

getAuthType()

コネクタの認証方法を返します。

リクエスト

この関数は引数を受け取りません。

レスポンス

データポータル サービス

@return {object} コネクタで使用される AuthType を含むオブジェクト。AuthTypeUSER_TOKENUSER_PASSKEY のいずれかである場合は、オプションの helpUrl も設定できます。

function getAuthType() {
      var cc = DataStudioApp.createCommunityConnector();
      return cc.newAuthTypeResponse()
        .setAuthType(cc.AuthType.USER_PASS)
        .setHelpUrl('https://www.example.org/connector-auth-help')
        .build();
    }
    

従来版

@return {object} コネクタで使用される AuthType を含むオブジェクト。AuthTypeUSER_TOKENUSER_PASSKEY のいずれかである場合は、オプションの helpUrl も設定できます。

レスポンスの構造は次のとおりです。

 {
       "type": string(AuthType),
       "helpUrl": string
     }
    

フィールド名 説明
type string(AuthType) 認証の種類の値。
helpUrl string type が、USER_TOKENUSER_PASSKEY のいずれかの場合にユーザーに表示されるオプションの URL。この URL は、コネクタの認証方法について説明するページをポイントしている必要があります。

レスポンスの例
{
      "type": "USER_TOKEN",
      "helpUrl": "https://www.example.org/connector-auth-help"
    }
    

必須の認証関数

isAuthValid()

サードパーティ サービスの認証情報が有効かどうかをチェックします。

リクエスト

この関数は引数を受け取りません。

レスポンス

@return {boolean} サードパーティ サービスの認証情報が有効な場合は true を返し、有効でない場合は false を返します。true の場合、getDatagetSchema に対する呼び出しは承認されると想定できます。false の場合、ユーザーには通常、承認が期限切れになったことを示す通知が送信され、再承認が求められます。

resetAuth()

サードパーティ サービスのユーザー認証情報を消去します。

リクエスト

この関数は引数を受け取りません。

レスポンス

レスポンスは空です。

必須の OAuth2 関数

get3PAuthorizationUrls()

承認 URL を返し、サードパーティ サービスの OAuth 2.0 フローを開始します。

リクエスト

この関数は引数を受け取りません。

レスポンス

@return {string} サードパーティ サービスの承認 URL を返します。承認 URL は、サードパーティ サービスへのアクセスを許可する OAuth 2.0 フローを開始するためにユーザーに提示されます。

authCallback()

OAuth 2.0 承認プロセスの一環として、サードパーティ サービスから受け取った承認レスポンスを処理します。

リクエスト

@param {string} request OAuth 2.0 フロー完了時のリクエスト データを表す JSON エンコード オブジェクト。

OAuth 2.0 フロー完了時の request パラメータには、次の構造のデータが含まれていることが想定されます(以下には、リクエストが成功した場合と失敗した場合の 2 つのケースを示しています)。

// Success
    {
      "parameter":
        {
          "code": string
        }
    }

    // Error
    {
      "parameter":
        {
          "error": string
        }
    }
    
フィールド名 説明
parameter object OAuth 2.0 フローが成功した場合または失敗した場合の code または error の値。これらの値は、その後のコールバック処理に使用できます。
code string OAuth 2.0 フローが成功した場合に存在し、サードパーティ サービスから受け取った OAuth 2.0 コールバック リクエストの code クエリ パラメータの値が含まれます。この承認コードは、その後の OAuth 2.0 処理に使用できます。
error object OAuth 2.0 フローが失敗した場合に存在し、サードパーティ サービスから受け取った OAuth 2.0 コールバック リクエストの error クエリ パラメータの値が含まれます。このエラー メッセージは、その後の OAuth 2.0 処理と通知作成に使用できます。

レスポンス

@return {object} ユーザーに対してレンダリングおよび表示される HTML オブジェクトを返します。詳しくは、OAuth ライブラリに関するドキュメントと Apps Script の HTML サービスに関するドキュメントをご覧ください。

ユーザー名 / パスワードおよびキーの必須関数

setCredentials()

データポータルから渡される認証情報を格納します。

リクエスト

@param {Object} request データ リクエスト パラメータを含む JavaScript オブジェクト。

request パラメータには、ユーザーが入力した認証情報が含まれます。getAuthType() のレスポンスに応じて、userPassuserTokenkey のいずれかが設定されます。

{
      "userPass": {
        "username": string,
        "password": string
      },
      "userToken": {
        "username": string,
        "token": string,
      },
      "key": string
    }
    
フィールド名 タイプ
userPass.username ユーザーが指定したユーザー名。
userPass.password ユーザーが指定したパスワード。
userToken.username ユーザーが指定したユーザー名。
userToken.token ユーザーが指定したトークン。
key ユーザーが指定した API キーまたはトークン。

レスポンス

@return {object} 認証情報が正常に設定されたかどうかを示すエラーコードを含む JavaScript オブジェクト。

{
      "errorCode": string("NONE" | "INVALID_CREDENTIALS")
    }
    
フィールド名 説明
errorCode enum(string) setCredentials 呼び出しのエラーコード。
エラーコード名 説明
"NONE" 認証情報は正常に設定されました。
"INVALID_CREDENTIALS" 指定された認証情報は無効でした。
レスポンスの例
{
      "errorCode": "NONE"
    }
    

オプションの関数

isAdminUser()

ユーザーがコネクタの管理者かどうかを確認します。この関数を使用して、デバッグ機能を有効または無効にできます。詳しくは、デバッグ機能を有効または無効にするをご覧ください。

リクエスト

この関数は引数を受け取りません。

レスポンス

@return {boolean} ユーザーがコネクタの管理者である場合は true を返します。関数が省略されているか false を返す場合、ユーザーは管理者とは見なされません。詳しくは、デバッグ機能を有効または無効にするをご覧ください。

データ型

フィールド

データポータル サービス

フィールドで使用できるすべてのメソッドについては、クラス Field をご覧ください。

フィールドを作成する

var cc = DataStudioApp.createCommunityConnector();
    var types = cc.FieldType;
    var aggregations = cc.AggregationType;

    var myField = cc.newDimension() // Or newMetric
      .setId('my_unique_identifier')
      .setName('My friendly name')
      .setDescription('My short description')
      .setType(types.YEAR_MONTH_DAY)
      // formula fields cannot be hidden.
      .setIsHidden(true)
      .setGroup('My group name');
    

従来版

レコードや行の特定のフィールドをスキーマの一部として記述します。

各フィールドの構造は次のとおりです。

{
      "name": string,
      "label": string,
      "description": string,
      "dataType": string(DataType),
      "group": string,
      "formula": string,
      "isDefault": boolean,
      "defaultAggregationType": string(DefaultAggregationType),
      "semantics": {
        "conceptType": string(ConceptType),
        "semanticType": string(SemanticType),
        "semanticGroup": string(SemanticGroup),
        "isReaggregatable": boolean
      }
    }
    
フィールド名 説明
name string フィールドの名前。
固有の識別子として使用されます。英数字とアンダースコアのみ使用できます。
label string フィールドの表示名。UI では「わかりやすい」名前として使用されます。
description string フィールドの説明(省略可)。書式なしテキストのみを使用できます。
dataType string(DataType) フィールドのデータ型。
isHidden boolean オプションのプロパティ。フィールドを非表示にするには、true に設定します。 非表示のフィールドは、フィールド画面には表示されません。グラフの選択可能フィールドにも表示されませんが、計算フィールドの数式では使用できます。 数式フィールドを非表示にすることはできません。
group string フィールドがグループに属することを示すプロパティ(省略可)。fieldAfieldB の両方が groupC に属している場合、これらのフィールドは UI の「指標選択ツール」または「ディメンション選択ツール」でグループ化されます。1 つ以上のフィールドでグループが定義されている場合、グループのないフィールドは Default Group のグループになります。
formula string

フィールドの計算方法を指定するプロパティ(省略可)。数式が無効な場合、フィールドは削除されます。集計プロパティ(isReaggregatable および defaultAggregationType)と formula が両方とも指定されている場合、集計プロパティは無視されます。

特定の semanticType だけが formula フィールドで機能します。一般的に、dategeo を除いて、テキストまたは数字が最適です。data または geo の数式のテキスト出力がセマンティック型と一致する場合、そのセマンティック型を使用できます。それ以外の場合、セマンティック型は string である必要があります。

このフィールドを手動で設定した場合、フィールド エディタでは編集できません。数式の作成について詳しくは、計算フィールドについてをご覧ください。

isDefault boolean 1 つのフィールドをデフォルトの dimension または metric として選択する必要があるかどうかを示すプロパティ(省略可)。スキーマに指定できるデフォルトの dimension とデフォルトの metric はそれぞれ 1 つだけです。
defaultAggregationType string(DefaultAggregationType) データポータルがこのフィールドのデフォルトとして使用する集計のタイプを示すプロパティ(省略可)。ユーザーはこの値を変更できます。
semantics object フィールドに関するセマンティック情報を指定するためのプロパティ。このプロパティ(および semantics.semanticType)がスキーマのいずれかのフィールドに存在する場合、自動セマンティック型検出は無効になります。このプロパティがどのフィールドにもない場合、自動セマンティック型検出は有効になります。
semantics.conceptType string(ConceptType) フィールドがディメンションか指標かを示します。
semantics.semanticType string(SemanticType) フィールドのセマンティック型。指定すると、自動セマンティック型検出は無効になります。
semantics.semanticGroup string(SemanticGroup) フィールドのセマンティック グループ。このプロパティ(省略可)を使用すると、セマンティック型をグループ化できます。データポータルは現在このフィールドを使用していませんが、今後使用する可能性があります。
semantics.isReaggregatable boolean true は、集計をこのフィールドに適用できることを示します。データポータルでは、デフォルトで集計が SUM に設定されますが、ユーザーはこの集計を変更することができます。
false は、このフィールドに集計が適用されないことを示します。データポータルでは、デフォルトで集計が Auto に設定されます。ユーザーがこの集計を変更することはできません。
デフォルト値は true です。
注: このプロパティは指標フィールドにのみ影響します。

ConceptType

セマンティック コンセプト型の値は次のいずれかになります。

列挙値 説明
DIMENSION ディメンション。ディメンションは、カテゴリの名前、説明、その他の特性などの値を持つデータカテゴリです。
METRIC 指標。指標はディメンション値を測定し、合計、個数、比率などの測定値を表します。

DataType

スキーマデータ型の値は次のいずれかになります。

列挙値 説明
STRING 任意の文字列。JSON スキーマ仕様で定義されています。
NUMBER 倍精度 64 ビット浮動小数点形式(IEEE 754)の数値データ型。
BOOLEAN ブール値。true または false。JSON スキーマ仕様で定義されています。

SemanticType

列挙値 説明
YEAR YYYY "2017"
YEAR_QUARTER YYYYQ "20171"
YEAR_MONTH YYYYMM "201703"
YEAR_WEEK YYYYww "201707"
YEAR_MONTH_DAY YYYYMMDD "20170317"
YEAR_MONTH_DAY_HOUR YYYYMMDDHH "2017031403"
YEAR_MONTH_DAY_SECOND YYYYMMDDHHMMSS "20170314031545"
QUARTER (1, 2, 3, 4) "1"
MONTH MM "03"
WEEK ww "07"
MONTH_DAY MMDD "0317"
DAY_OF_WEEK 0 を日曜日とする 0~6 の 10 進数 "0"
DAY DD "17"
HOUR HH "02"
MINUTE mm "12"
DURATION 経過時間(秒) 6340918234
COUNTRY "United States"
COUNTRY_CODE 国コード "US"
CONTINENT 大陸 "Americas"
CONTINENT_CODE 大陸コード "019"
SUB_CONTINENT 亜大陸 "North America"
SUB_CONTINENT_CODE 亜大陸コード "003"
REGION 地域 "California"
REGION_CODE 地域コード "CA"
CITY 都市 "Mountain View"
CITY_CODE 都市コード "1014044"
METRO_CODE 大都市圏コード "200807"
LATITUDE_LONGITUDE 緯度と経度 "51.5074, -0.1278"
NUMBER 10 進数 14
PERCENT 小数表記での割合(1.0 を超えてもよい) 1.0
TEXT 自由形式のテキスト "Here is some text"
BOOLEAN true または false true
URL テキスト形式の URL "https://www.google.com"

数式のセマンティック タイプ

列挙値 説明 数式
HYPERLINK テキストラベルのあるリンク "HYPERLINK($url, $description)"
IMAGE 画像の URL "IMAGE($image_url, $alt_text)"
IMAGELINK 画像ラベル付きのリンク "HYPERLINK($url, $image_field)"

通貨のセマンティック タイプ

すべての通貨の値は JavaScript の数値です。負の値を使用できます。

列挙値 説明
CURRENCY_AED アラブ首長国連邦ディルハム(dh)
CURRENCY_ALL アルバニアレク(Lek)
CURRENCY_ARS アルゼンチン ペソ($)
CURRENCY_AUD オーストラリア ドル($)
CURRENCY_BDT バングラデシュ タカ(৳)
CURRENCY_BGN ブルガリアレフ(лв)
CURRENCY_BOB ボリビア ボリビアーノ(Bs)
CURRENCY_BRL ブラジルレアル(R$)
CURRENCY_CAD カナダドル($)
CURRENCY_CDF コンゴフラン(FrCD)
CURRENCY_CHF スイスフラン(CHF)
CURRENCY_CLP チリペソ($)
CURRENCY_CNY 中国人民元(¥)
CURRENCY_COP コロンビアペソ($)
CURRENCY_CRC コスタリカ コロン(₡)
CURRENCY_CZK チェココルナ(Kč)
CURRENCY_DKK デンマーク クローネ(kr.)
CURRENCY_DOP ドミニカペソ(RD$)
CURRENCY_EGP エジプトポンド(£)
CURRENCY_ETB エチオピアブル(Birr)
CURRENCY_EUR ユーロ(€)
CURRENCY_GBP イギリスポンド(£)
CURRENCY_HKD 香港ドル($)
CURRENCY_HRK クロアチア クーナ(kn)
CURRENCY_HUF ハンガリー フォリント(Ft)
CURRENCY_IDR インドネシア ルピア(Rp)
CURRENCY_ILS イスラエル新シェケル(₪)
CURRENCY_INR インドルピー(₹)
CURRENCY_IRR イランリアル(Rial)
CURRENCY_ISK アイスランド クローナ(kr)
CURRENCY_JMD ジャマイカドル($)
CURRENCY_JPY 日本円(¥)
CURRENCY_KRW 韓国ウォン(₩)
CURRENCY_LKR スリランカ ルピー(Rs)
CURRENCY_LTL リトアニア リタス(Lt)
CURRENCY_MNT モンゴル トゥグルグ(₮)
CURRENCY_MVR モルディブ諸島ルフィア(Rf)
CURRENCY_MXN メキシコペソ($)
CURRENCY_MYR マレーシア リンギット(RM)
CURRENCY_NOK ノルウェー クローネ(kr)
CURRENCY_NZD ニュージーランド ドル($)
CURRENCY_PAB パナマバルボア(B/.)
CURRENCY_PEN ペルー ヌエボソル(S/.)
CURRENCY_PHP フィリピンペソ(₱)
CURRENCY_PKR パキスタン ルピー(Rs)
CURRENCY_PLN ポーランド ズウォティ(zł)
CURRENCY_RON ルーマニアレイ(RON)
CURRENCY_RSD セルビア ディナール(din)
CURRENCY_RUB ロシアルーブル(₽)
CURRENCY_SAR サウジアラビア リアル(Rial)
CURRENCY_SEK スウェーデン クローナ(kr)
CURRENCY_SGD シンガポール ドル($)
CURRENCY_THB タイバーツ(฿)
CURRENCY_TRY トルコリラ(₺)
CURRENCY_TWD ニュー台湾ドル(NT$)
CURRENCY_TZS タンザニア シリング(TSh)
CURRENCY_UAH ウクライナ グリブナ(грн.)
CURRENCY_USD 米ドル($)
CURRENCY_UYU 米ドル($)
CURRENCY_VEF ウルグアイペソ($)
CURRENCY_VND ベネズエラ ボリバル フエルテ(Bs)
CURRENCY_YER ベトナムドン(₫)
CURRENCY_ZAR イエメンリアル(Rial)

SemanticGroup

これは推奨値のリストにすぎず、このリストにない値を自由に選択できます。ただし、このフィールドを設定しても、フィールド エディタの Type オプションでデータポータルが使用するグループはオーバーライドされません。

推奨値 説明
NUMERIC 数値グループ
DATETIME 日時グループ
GEO 地域グループ
CURRENCY 通貨グループ

DefaultAggregationType

列挙値 説明
AVG エントリの平均。
COUNT エントリの数。
COUNT_DISTINCT 異なるエントリの数。
MAX エントリの最大値。
MIN エントリの最小値。
SUM エントリの合計。
NONE 集約なし。
AUTO 集計を含む計算フィールドに設定する必要があります

AuthType

認証方式の種類の値は次のいずれかになります。

列挙値 説明
NONE コネクタに認証が必要ないことを示します。
OAUTH2 コネクタが認証に OAuth 2.0 を使用することを示します。
KEY コネクタが認証に API キーを使用することを示します。
USER_PASS コネクタが認証にユーザー名とパスワードを使用することを示します。
USER_TOKEN コネクタが認証にユーザー名とトークンを使用することを示します。

ConfigType

設定要素の種類の値は次のいずれかになります。

列挙値 説明
TEXTINPUT 入力要素が 1 行のテキスト ボックスになります。
TEXTAREA 入力要素が複数行の textarea ボックスになります。
SELECT_SINGLE 入力要素が単一選択オプションのプルダウンになります。
SELECT_MULTIPLE 入力要素が複数選択オプションのプルダウンになります。
CHECKBOX 入力要素がブール値を取得するために使用できる単一のチェックボックスになります。
INFO ユーザーに手順や情報を提供するために使用できる静的な書式なしのテキスト ボックスになります。リンクはクリック可能です。

フィルタ演算子

演算子
EQUALS
CONTAINS
REGEXP_PARTIAL_MATCH
REGEXP_EXACT_MATCH
IN_LIST
IS_NULL
BETWEEN
NUMERIC_GREATER_THAN
NUMERIC_GREATER_THAN_OR_EQUAL
NUMERIC_LESS_THAN
NUMERIC_LESS_THAN_OR_EQUAL

EQUALS

比較値とディメンションの値が完全一致することを表します。

句の例:

{
        "operator": "EQUALS",
        "type": "INCLUDE",
        "values": ["USA"],
        "fieldName": "Country"
    }
    

フィルタ適用前のデータ:

Country City
USA Seattle
CA Montreal
ROK Seoul

フィルタ適用後のデータ:

Country City
USA Seattle

CONTAINS

ディメンションの値の中に比較値が含まれることを表します。

句の例:

{
        "operator": "CONTAINS",
        "type": "INCLUDE",
        "values": ["A"],
        "fieldName": "COUNTRY"
    }
    

フィルタ適用前のデータ:

Country City
USA Seattle
CA Montreal
ROK Seoul

フィルタ適用後のデータ:

Country City
USA Seattle
CA Montreal

REGEXP_PARTIAL_MATCH

ディメンションの値に正規表現が含まれることを表します。

句の例:

{
        "operator": "REGEXP_PARTIAL_MATCH",
        "type": "INCLUDE",
        "values": ["(?i)R[A-Z]*"],
        "fieldName": ""
    }
    

フィルタ適用前のデータ:

Country City
USA Seattle
CA Montreal
ROK Seoul
RU Moscow

フィルタ適用後のデータ:

Country City
ROK Seoul
RU Moscow

REGEXP_EXACT_MATCH

ディメンションの値が正規表現に一致することを表します。

句の例:

{
        "operator": "REGEXP_EXACT_MATCH",
        "type": "INCLUDE",
        "values": ["^R[A-Z]*K$"],
        "fieldName": ""
    }
    

フィルタ適用前のデータ:

Country City
USA Seattle
CA Montreal
ROK Seoul
RU Moscow

フィルタ適用後のデータ:

Country City
ROK Seoul

IN_LIST

1 つ以上の比較値がディメンションの値に完全一致することを表します。

句の例:

{
        "operator": "IN_LIST",
        "type": "INCLUDE",
        "values": ["USA", "CA"],
        "fieldName": "Country"
    }
    

フィルタ適用前のデータ:

Country City
USA Seattle
CA Montreal
ROK Seoul

フィルタ適用後のデータ:

Country City
USA Seattle
CA Montreal

IS_NULL

ディメンションの値が null の場合に一致することを表します。

句の例:

{
        "operator": "IS_NULL",
        "type": "INCLUDE",
        "values": [],
        "fieldName": "COUNTRY"
    }
    

フィルタ適用前のデータ:

Country City
USA Seattle
CA Montreal
ROK Seoul
RU Moscow
Terabithia

フィルタ適用後のデータ:

Country City
Terabithia

BETWEEN

ディメンションの値が 2 つのテスト値の間にある場合に一致することを表します。

句の例:

{
        "operator": "BETWEEN",
        "type": "INCLUDE",
        "values": ["20190101", "20190131"],
        "fieldName": "Date"
    }
    

フィルタ適用前のデータ:

Country Date
USA 20190101
USA 20190111
USA 20190201

フィルタ適用後のデータ:

Country Date
USA 20190101
USA 20190111

NUMERIC_GREATER_THAN

ディメンションの値がテスト値より大きい場合に一致することを表します。

句の例:

{
        "operator": "NUMERIC_GREATER_THAN",
        "type": "INCLUDE",
        "values": ["20190101"],
        "fieldName": "Date"
    }
    

フィルタ適用前のデータ:

Country Date
USA 20190101
USA 20190111
USA 20190201

フィルタ適用後のデータ:

Country Date
USA 20190111
USA 20190201

NUMERIC_GREATER_THAN_OR_EQUAL

ディメンションの値がテスト値以上の場合に一致することを表します。

句の例:

{
        "operator": "NUMERIC_GREATER_THAN_OR_EQUAL",
        "type": "INCLUDE",
        "values": ["20190101"],
        "fieldName": "Date"
    }
    

フィルタ適用前のデータ:

Country Date
USA 20180101
USA 20190101
USA 20190111
USA 20190201

フィルタ適用後のデータ:

Country Date
USA 20190101
USA 20190111
USA 20190201

NUMERIC_LESS_THAN

ディメンション値がテスト値以下である場合に一致することを表します。

句の例:

{
        "operator": "NUMERIC_LESS_THAN",
        "type": "INCLUDE",
        "values": ["20190101"],
        "fieldName": "Date"
    }
    

フィルタ適用前のデータ:

Country Date
USA 20180101
USA 20190101
USA 20190111
USA 20190201

フィルタ適用後のデータ:

Country Date
USA 20180101

NUMERIC_LESS_THAN_OR_EQUAL

ディメンション値がテスト値以下である場合に一致することを表します。

句の例:

{
        "operator": "NUMERIC_LESS_THAN_OR_EQUAL",
        "type": "INCLUDE",
        "values": ["20190101"],
        "fieldName": "Date"
    }
    

フィルタ適用前のデータ:

Country Date
USA 20180101
USA 20190101
USA 20190111
USA 20190201

フィルタ適用後のデータ:

Country Date
USA 20180101
USA 20190101