Zoho Creatorを使用したZoho Analyticsへのデータ入力用フォームの作成

Zoho Creatorを使用したZoho Analyticsへのデータ入力用フォームの作成

Zoho Creatorでの新しいフォームの作成

このページでは、Zoho Creatorのフォームにおいて、データが入力されるたびにZoho Analyticsのテーブルにデータがアップロードされるフォームを作成する方法について例を挙げて説明します。以下の画像のように、Zoho Analyticsに 「店舗売上」 というワークスペースがあり、ワークスペースに 「売上」 というテーブルがあるとします。Zoho Analyticsへのデータ入力用フォームを作成するには、以下の手順を実施します。




Zoho Creator( https://creator.zoho.com/ )にログインします。このとき、Zoho Analyticsで使用するのと同じログイン認証情報を使用します。

すでにZoho Creatorでアプリケーションを作成している場合は、既存のアプリケーションを開きます。アプリケーションを新しく作成する場合、ホーム画面右上にある [+ 新しいアプリケーション] ボタンをクリックし、アプリケーション名を入力します。アプリケーションの作成方法に関する詳細については、 Creatorヘルプ アプリケーションの作成 をご参照ください。


  • 既存のアプリケーションを編集する場合は、ホーム画面で対象のアプリケーションにマウスのカーソルを合わせて [編集] をクリックします。 
  • 新しいフォームを作成するには、アプリケーションの画面上部にある [+] をクリックし、 [フォーム]を選択します。 フォームの作成方法には4種類あります。要件に合わせて作成方法を選択できます。
  • フォーム名を入力し、フォームの作成画面で項目を配置します。
  • [データをZoho Creatorに保存] のチェックボックスにチェックを入れて、 [完了] をクリックします。初期設定では、Zoho Creatorのサーバー内のテーブルにフォームへの入力データが保存されます。Zoho Creatorのテーブルの代わりにZoho Analyticsのテーブルに入力データを保存するには、このチェックボックスのチェックを外します。


メモ:
データのない空のフォームで新しいアプリケーションを作成する場合、Zoho Creatorのテーブルに データを保存 するための設定は表示されません。この設定は、既存のアプリケーションで新しいフォームを作成する場合にのみ表示されます。この場合、最初に作成した空のフォームの代わりに別のフォームを作成し、以下の手順を実施します。

作成した新しい空の フォーム (例: 売上フォーム )が[フォーム]タブに表示されます。フォームの作成画面左側に表示されている 項目 の欄から、フォームでデータを入力するための項目をドラッグ&ドロップします。

  • 右側の画面で [項目名] の欄をクリックすると、項目の名前を変更できます。 
  • ボタンを追加し、ボタン名を「Zoho Analyticsのワークスペースに追加する」に変更します。 [項目の種類] [送信] を選択します。 
  • 完了後、 [このアプリケーションにアクセス]をクリックします。 以下の画像のようにフォームが表示されます。


クリック時のスクリプト

フォームの作成後、ボタンのクリック時に実行する Delugeスクリプト を記述する必要があります。Delugeスクリプトとは、Zohoサービスで利用できるプログラミング言語(スクリプト言語)です。フォームで処理を実行するためのプログラミング内容を簡単に記述することができます。

クリック時のスクリプトによるデータの追加:

フォームから送信されたデータをZoho Analyticsのテーブルの新しい行として追加するには、関数「createRow()」を使用してDelugeスクリプトを記述します。


構文 :データを追加するDelugeスクリプトの一般的な形式は、以下のとおりです:

<出力値(マップ)> = zoho.reports.createRow(<ワークスペース名>,<テーブル名>,<データ(マップ)>);

<ワークスペース名> :Zoho Analyticsのワークスペース名です。
<テーブル名> :Zoho Analyticsのワークスペース内のテーブル名です。
<データ(マップ)> :キーと値のペアを持つマップ変数です。マップのキーは、Zoho Analyticsアカウント内のテーブルの列名です。マップの値は、Zoho Creatorのフォームから送信された項目の値です。
<出力値(マップ)> :Zoho Analyticsから出力される処理結果(レスポンス)を含むマップオブジェクトです。


上記の例をもとに、 「createRow()」 を使用してデータを追加する方法を説明します。 売上フォーム に入力項目を配置し、 「Zoho Analyticsのワークスペースに追加する」 ボタンを追加した後、以下の手順を実施します。

  • 「Zoho Analyticsのワークスペースに追加する」 ボタンにマウスのカーソルを合わせて、 クリック時の処理 の設定を選択します。 [スクリプト] タブのスクリプト作成画面が開きます。
  • スクリプト作成画面の右上の切り替えボタンをクリックし、スクリプトを 自由記述 するモードに切り替えます。
  • スクリプト作成画面で以下の例を参考にDelugeスクリプトを記述して、 [保存] をクリックします。

    creatingMap = map();
    creatingMap.put("日付", input.Date_field);
    creatingMap.put("地域", input.Region);
    creatingMap.put("商品カテゴリー", input.Product_Category);
    creatingMap.put("商品", input.Product);
    creatingMap.put("顧客名", input.Customer_Name);
    creatingMap.put( "売上", input.Sales.toString());
    creatingMap.put("費用", input.Cost.toString());
    mapResponse = zoho.reports.createRow( "店舗売上", "売上", creatingMap);


上記のDelugeスクリプトの説明は以下のとおりです。

「creatingMap」 は、マップ変数です。列名(日付、地域、商品カテゴリー、商品、顧客名、売上、費用)と、 売上フォーム 経由で送信された各列に対応する値が格納されます。

「mapResponse」 は、XMLテキスト(文字列)を持つ変数です。行の追加後に、Zoho Analyticsから出力された値が格納されます。

ユーザーがデータを入力し、 売上フォーム 「Zoho Analyticsのワークスペースに追加する」 ボタンをクリックすると、指定したDelugeスクリプトが実行されます。送信されるデータは、Zoho Analyticsアカウントの 「売上」 テーブルに新しい行として追加されます。


クリック時のスクリプトによるデータの更新:

Zoho Creatorのフォームを通じて、Zoho Analyticsのテーブルのデータが更新されるように設定することもできます。Zoho Creatorのフォームを通じてZoho Analyticsのテーブルの行を更新するには、関数 「update data()」 を使用してDelugeスクリプトを記述します。Zoho Analyticsの行を更新するDelugeスクリプトの一般的な形式は、以下のとおりです:


構文:

<出力値(マップ)> = zoho.reports.updatedata(<ワークスペース名>,<テーブル名>, CreatingMap, <条件>);

<ワークスペース名> :Zoho Analyticsのワークスペース名です。
<テーブル名> :Zoho Analyticsのワークスペース内のテーブル名です。
<データ(マップ)> :キーと値のペアを持つマップ変数です。マップのキーは、Zoho Analyticsアカウント内のテーブルの列名です。マップの値は、Zoho Creatorフォームに送信された項目の値です。

<条件> :条件は、 {<列名><演算子><列の値>} の形式にする必要があります(例:"地域"='東')。条件の形式に関する詳細については、 こちら をご参照ください。
<出力値(マップ)> :Zoho Analyticsから出力される処理結果( レスポンス )を含むマップオブジェクトです。上記の例では、 売上フォーム から送信されたデータをもとに、Zoho Analyticsの 「店舗売上」 のワークスペース内の 「売上」 テーブルにある を更新します:
  • 上記 の説明と同じ手順で、 売上フォーム にボタン(例: 「更新」 ボタン)を追加します。
  • 「更新」 ボタンにマウスのカーソルを合わせて、 クリック時の処理 の設定を選択します。 [スクリプト] タブのスクリプト作成画面が開きます。
  • スクリプト作成画面の右上の切り替えボタンをクリックし、スクリプトを 自由記述 するモードに切り替えます。
  • スクリプト作成画面で以下の例を参考にDelugeスクリプトを記述して、 [保存] をクリックします。

creatingMap = map();
creatingMap.put("日付", input.Date_field);
creatingMap.put("地域", input.Region);
creatingMap.put("商品カテゴリー", input.Product_Category);
creatingMap.put("商品", input.Product);
creatingMap.put("顧客名", input.Customer_Name);
creatingMap.put("売上", input.Sales.toString());
creatingMap.put("費用", input.Cost.toString());
mapResponse = zoho.reports.updatedata("店舗売上","売上", creatingMap, "地域 = '東' and Sales =10000");


ユーザーがデータを 売上フォーム に入力し、 更新 ボタンをクリックすると、指定したDelugeスクリプトが実行されます。これにより、 「店舗売上」 のワークスペースにある 「売上」 テーブル内で、 地域 が「東」かつ 売上 が「10000」であるすべての行が、送信されたデータで更新されます。


クリック時のスクリプトによる行の削除:

Zoho Analyticsにあるテーブルの特定の行を削除するには、 「deleterow()」 の関数を使用してDelugeスクリプトを記述します。

構文 :Zoho Analyticsの行を 削除 するDelugeスクリプトの形式は、以下のとおりです:

<出力値(マップ)> = zoho.reports.deleteRow(<ワークスペース名>,<テーブル名>, <条件>);

<ワークスペース名> :Zoho Analyticsのワークスペース名です。
<テーブル名> :Zoho Analyticsのワークスペース内のテーブル名です。
<条件> は、 {<列名><演算子><列の値>} の形式にする必要があります(例:"地域"='東')。条件の形式に関する詳細については、こちらをご参照ください。
<出力値(マップ)> :Zoho Analyticsから出力される処理結果( レスポンス )を含むマップオブジェクトです。
たとえば、Zoho Analyticsの 「店舗売上」 のワークスペースにある 「売上」 テーブルから、「西」の地域の売上データをすべて削除するには、スクリプト作成画面で以下のDelugeスクリプトを記述します。

s = zoho.reports.deleteRow("店舗売上", "売上", "地域='西'");


フォームでのデータ入力

フォームにデータを入力し、Zoho Analyticsのテーブルに入力されたデータを追加/更新するには、画面右上から [このアプリケーションにアクセス] をクリックします。項目にデータを入力してボタンをクリックすると、Zoho Analyticsのテーブルの値が追加/更新されます。



Zoho Analyticsでのデータの確認

フォームが正しく送信されると、 「店舗売上」 のワークスペースの 「売上」 テーブルにデータが新しい行として追加されます。 「Zoho Analyticsのワークスペースに追加する」 ボタンをクリックすると、以下のように表示されます。



同様に、ユーザーが 「更新」 ボタンをクリックすると、指定した条件に一致するZoho Analyticsのテーブル内の行がすべて更新されます。


フォームの共有と埋め込み

初期設定では、非公開のアプリケーションのフォームにアクセスできるのはアプリケーションの所有者のみです。他のユーザーに対してフォームへのアクセスを許可するには、フォームをユーザーに共有するか、他のユーザーがフォームにアクセスできるようにWebサイトやブログにフォームを埋め込む必要があります。フォームを共有/埋め込む際には、ユーザーに対して権限を設定できます。

フォームの共有:

フォームを共有するには、 [共有] タブで対象のユーザーのメールアドレスを指定します。フォームの共有方法や権限の設定方法に関する詳細については、 こちら をご参照ください。
共有ユーザーがすでにZohoのアカウントを持ち、共有メールアドレスをログインIDとして使用している場合、 サインイン するだけでZoho Creatorからアプリケーションにアクセスできます。共有ユーザーがZohoのアカウントを持っていない場合は、招待メールで指定されているメールアドレスでアカウントに 登録 する必要があります。
ログイン後、ホーム画面から [自分に共有] タブをクリックして対象のアプリケーションを選択すると、共有されたフォームにアクセスできます。また、フォームの共有時に送信した招待メール内のリンクをクリックすると、ユーザーはフォームに直接アクセスできます。



フォームの埋め込み:

フォームをWebページや、Webアプリ、ブログに埋め込むこともできます。埋め込むには、WebページのHTMLコンテンツにフォームのHTMLコードを貼り付けます。コードを張り付けると、Webページがブラウザーに読み込まれるたびに埋め込まれたフォームが表示されます。
HTMLコードを作成するには、フォームの画面上部の [共有] をクリックし、画面の手順に沿って内容を選択します。

作成したHTMLコードを対象のWebページのHTMLコンテンツ内に貼り付けると、埋め込んだフォームがWebページに表示されます。

フォームの埋め込み方法やその他の設定に関する詳細については、こちらをご参照ください。