В Zoho Creator у меня есть две формы, которые нужно связать вместе.
Форма A: представляет собой счетчик вознаграждений, где за определенные вопросы присуждаются определенные баллы, и сохраняется для каждой записи в столбце под названием «Points_Earned».
Форма B: представляет собой базу данных личности, содержащую основные сведения о лицах, такие как имя, фамилия, членство в БД и т. д.
PK между двумя формами - это идентификатор человека в формате "UID - Lastname, Firstname"
(эти поля отображаются в форме B как отдельные столбцы, но в форме A отображаются как одна объединенная строка в раскрывающемся списке имя поля Reward_Member
).
Цель:
В форме B есть столбец с именем Total_Points
, в котором должна отображаться сумма всех Points_Earned
для определенного UID.
Выражение SQL похоже на: select SUM(Points_Earned) from Form_A where Reward_Member = Form_B.UID + " - " + Form_B.Lastname + ", " + Form_B.Firstname;
Проблема:
Я не уверен, как выполнить вышеупомянутую логику в Deluge. Я пробовал метод Aggregate, но, похоже, он не считает сумму записей, и статьи базы знаний также не помогают. Результат остается пустым.
Это сценарий, который я использовал, чтобы попытаться отобразить сумму (помещенную в 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 |
+---------------+---------------+
Форма Б:
+-----+-----------+----------+
| 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