このページでは、Zoho Creatorのフォームにおいて、データが入力されるたびにZoho Analyticsのテーブルにデータがアップロードされるフォームを作成する方法について例を挙げて説明します。以下の画像のように、Zoho Analyticsに 「店舗売上」 というワークスペースがあり、ワークスペースに 「売上」 というテーブルがあるとします。Zoho Analyticsへのデータ入力用フォームを作成するには、以下の手順を実施します。
Zoho Creator( https://creator.zoho.com/ )にログインします。このとき、Zoho Analyticsで使用するのと同じログイン認証情報を使用します。
すでにZoho Creatorでアプリケーションを作成している場合は、既存のアプリケーションを開きます。アプリケーションを新しく作成する場合、ホーム画面右上にある [+ 新しいアプリケーション] ボタンをクリックし、アプリケーション名を入力します。アプリケーションの作成方法に関する詳細については、 Creatorヘルプ の アプリケーションの作成 をご参照ください。
作成した新しい空の フォーム (例: 売上フォーム )が[フォーム]タブに表示されます。フォームの作成画面左側に表示されている 項目 の欄から、フォームでデータを入力するための項目をドラッグ&ドロップします。
フォームの作成後、ボタンのクリック時に実行する Delugeスクリプト を記述する必要があります。Delugeスクリプトとは、Zohoサービスで利用できるプログラミング言語(スクリプト言語)です。フォームで処理を実行するためのプログラミング内容を簡単に記述することができます。
フォームから送信されたデータをZoho Analyticsのテーブルの新しい行として追加するには、関数「createRow()」を使用してDelugeスクリプトを記述します。
<出力値(マップ)> = zoho.reports.createRow(<ワークスペース名>,<テーブル名>,<データ(マップ)>);
<ワークスペース名> :Zoho Analyticsのワークスペース名です。
<テーブル名> :Zoho Analyticsのワークスペース内のテーブル名です。
<データ(マップ)> :キーと値のペアを持つマップ変数です。マップのキーは、Zoho Analyticsアカウント内のテーブルの列名です。マップの値は、Zoho Creatorのフォームから送信された項目の値です。
<出力値(マップ)> :Zoho Analyticsから出力される処理結果(レスポンス)を含むマップオブジェクトです。
上記の例をもとに、 「createRow()」 を使用してデータを追加する方法を説明します。 売上フォーム に入力項目を配置し、 「Zoho Analyticsのワークスペースに追加する」 ボタンを追加した後、以下の手順を実施します。
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フォームに送信された項目の値です。
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のテーブル内の行がすべて更新されます。
初期設定では、非公開のアプリケーションのフォームにアクセスできるのはアプリケーションの所有者のみです。他のユーザーに対してフォームへのアクセスを許可するには、フォームをユーザーに共有するか、他のユーザーがフォームにアクセスできるようにWebサイトやブログにフォームを埋め込む必要があります。フォームを共有/埋め込む際には、ユーザーに対して権限を設定できます。
フォームを共有するには、 [共有] タブで対象のユーザーのメールアドレスを指定します。フォームの共有方法や権限の設定方法に関する詳細については、 こちら をご参照ください。
共有ユーザーがすでにZohoのアカウントを持ち、共有メールアドレスをログインIDとして使用している場合、 サインイン するだけでZoho Creatorからアプリケーションにアクセスできます。共有ユーザーがZohoのアカウントを持っていない場合は、招待メールで指定されているメールアドレスでアカウントに 登録 する必要があります。
ログイン後、ホーム画面から [自分に共有] タブをクリックして対象のアプリケーションを選択すると、共有されたフォームにアクセスできます。また、フォームの共有時に送信した招待メール内のリンクをクリックすると、ユーザーはフォームに直接アクセスできます。
フォームをWebページや、Webアプリ、ブログに埋め込むこともできます。埋め込むには、WebページのHTMLコンテンツにフォームのHTMLコードを貼り付けます。コードを張り付けると、Webページがブラウザーに読み込まれるたびに埋め込まれたフォームが表示されます。
HTMLコードを作成するには、フォームの画面上部の [共有] をクリックし、画面の手順に沿って内容を選択します。
作成したHTMLコードを対象のWebページのHTMLコンテンツ内に貼り付けると、埋め込んだフォームがWebページに表示されます。
フォームの埋め込み方法やその他の設定に関する詳細については、こちらをご参照ください。