1

Zoho Creator には、リンクする必要がある 2 つのフォームがあります。


フォーム A:特定の質問に対して特定のポイントが与えられる報酬カウンターであり、エントリごとに「Points_Earned」という列に保存されます。

フォーム B: ID データベースであり、名前、姓、DB のメンバーシップなど、個人の基本的な詳細が含まれています。

2 つのフォーム間の PK は、次の形式の個人 ID です"UID - Lastname, Firstname"(これらのフィールドは、フォーム Bでは個別の列として表示されますが、フォーム Aでは、ドロップダウン ボックスに 1 つの連結された文字列として表示されます。フィールド名Reward_Member)。


目的:

フォーム B には という列があり、特定の UIDTotal_Pointsのすべての合計を表示する必要があります。Points_Earned

SQL 式は次のようになります。select SUM(Points_Earned) from Form_A where Reward_Member = Form_B.UID + " - " + Form_B.Lastname + ", " + Form_B.Firstname;


問題:

Delugeで前述のロジックを実行する方法がわかりません。Aggregate メソッドを試してみましたが、レコードの合計をカウントしていないようで、ナレッジ ベースの記事もあまり役に立ちません。結果は空白のままです。

これは、Sum を表示するために使用したスクリプトです (EDIT>>ON_LOAD に配置):

//Variables
curpts = 0;
emp_lookup_val = input.Employee_ID + " - " + input.First_Name + ", " + input.Last_Name;

//Perform the sum aggregation function
curpts = Add_Loyalty_Entry[Reward_Member == input.Employee_ID].sum(Points_Earned);

//Set the Text Field Total_Points with the calc result
input.Total_Points = curpts;

サンプルデータ:

フォーム A:

+---------------+---------------+
| Reward_Member | Points_Earned |
+---------------+---------------+
| 1 - Doe, John |       3       |
| 1 - Doe, John |       2       |
| 4 - Crow, Bob |       1       |
+---------------+---------------+

フォーム B:

+-----+-----------+----------+
| UID | Firstname | Lastname |
+-----+-----------+----------+
|  1  |   John    |   Doe    |
|  4  |   Bob     |   Crow   |
+-----+-----------+----------+

デバッグ情報

次の式を使用して、格納されているデータがどのように見えるかを確認しReward_Member、式の後に結果を示しました。

式:alert input.Reward_Member.toString() + " earned " + input.Points_Earned + " Point(s)."; 結果: 3485853000000015046 earned 1 Point(s).... BigInt のように見える

4

1 に答える 1