开发者社区> 问答> 正文

如何在表单页面进行指标计算?

指标卡只能用在报表页面,但我不想做报表,因为我需要用普通表单的提交等功能。现在有一个数据表记录员工的姓名和加分,我想在表单页面统计所有员工加分的最大值、最小值、总和,应该怎么办?我创建了一个数值框,发现里面公式的SUM只支持处理给定的几个数字,除此之外关联查询得到的姓名-加分表也不能作为变量输入。

展开
收起
游客ywe2jnkydqrru 2023-09-27 14:21:34 384 0
来自:钉钉宜搭
6 条回答
写回答
取消 提交回答
  • 月移花影,暗香浮动

    在表单页面,你可以通过自定义公式来实现对员工加分数据的最大值、最小值和总和的统计。具体操作步骤如下:

    1. 在表单设计器中,找到数值框组件,将其放置在合适的位置。
    2. 双击数值框组件,打开“公式设置”对话框。
    3. 在“公式设置”对话框中,选择“自定义公式”选项。
    4. 在“自定义公式”文本框中,输入以下公式(假设你的数据表名为data_table,员工姓名字段为name,加分字段为score):
    最大值: IF(COUNT(data_table)>0, MAX(data_table[score]), 0)
    最小值: IF(COUNT(data_table)>0, MIN(data_table[score]), 0)
    总和: IF(COUNT(data_table)>0, SUM(data_table[score]), 0)
    
    1. 点击“确定”按钮,完成公式设置。

    这样,在表单页面的数值框中,你就可以看到员工加分的最大值、最小值和总和了。注意,这里的公式是针对单个数据表的,如果你需要处理多个数据表,可以将公式中的data_table替换为实际的数据表名称,并在公式中使用相应的字段名。

    2023-10-07 15:25:34
    赞同 展开评论 打赏
  • 十分耕耘,一定会有一分收获!

    楼主你好,你可以在表单页面运用JavaScript来实现指标计算。具体步骤如下:

    1. 在表单页面添加三个数值框,分别命名为“最大值”、“最小值”、“总和”;
    2. 在表单页面添加一个按钮,命名为“计算”;
    3. 在按钮的点击事件中,编写JavaScript代码来计算最大值、最小值、总和;
    4. 通过JavaScript代码将计算结果更新到对应的数值框中。

    代码示例:

    // 获取姓名-加分表单数据
    var formData = fd.get("名字-加分表")// 初始化计算结果
    var maxScore = Number.MIN_SAFE_INTEGER; 
    var minScore = Number.MAX_SAFE_INTEGER; 
    var totalScore = 0// 遍历表单数据,计算最大值、最小值、总和
    formData.forEach(function (item) {
        // 获取加分值
        var score = item["加分"]// 更新最大值
        if (score > maxScore) {
            maxScore = score;
        }
        // 更新最小值
        if (score < minScore) {
            minScore = score;
        }
        // 更新总和
        totalScore += score;
    });
    
    // 将计算结果更新到数值框中
    fd.field("最大值").setValue(maxScore);
    fd.field("最小值").setValue(minScore);
    fd.field("总和").setValue(totalScore)

    你需要根据实际情况调整代码中的表单和字段名称。

    2023-09-30 08:25:02
    赞同 2 展开评论 打赏
  • 在表单页面进行指标计算可以通过以下步骤实现:

    1. 在表单页面中创建一个数值框,用于显示计算结果。
    2. 在表单页面中创建一个按钮,用于触发指标计算的操作。
    3. 在按钮的点击事件中编写JavaScript代码,实现指标计算的逻辑。

    下面是一个示例的代码片段,可以在按钮的点击事件中使用:

    // 获取所有员工的加分数据
    var employeeScores = [];
    // 假设employeeScores是一个数组,存储了所有员工的加分数据,每个元素是一个对象,包含姓名和加分属性
    // 示例数据格式:[{name: '员工1', score: 10}, {name: '员工2', score: 20}, ...]
    
    // 计算最大值
    var maxScore = Math.max.apply(Math, employeeScores.map(function(employee) {
      return employee.score;
    }));
    
    // 计算最小值
    var minScore = Math.min.apply(Math, employeeScores.map(function(employee) {
      return employee.score;
    }));
    
    // 计算总和
    var sumScore = employeeScores.reduce(function(total, employee) {
      return total + employee.score;
    }, 0);
    
    // 将计算结果显示在数值框中
    document.getElementById('result').value = '最大值:' + maxScore + ',最小值:' + minScore + ',总和:' + sumScore;
    

    在以上代码中,假设employeeScores是一个数组,存储了所有员工的加分数据,每个元素是一个对象,包含姓名和加分属性。你可以根据实际情况修改代码中的变量名和数据结构。

    最后,将计算结果显示在数值框中,可以通过给数值框的id属性赋值,如document.getElementById('result').value,将计算结果赋值给数值框的value属性。记得在表单页面中给数值框设置一个id,以便在JavaScript代码中使用。

    2023-09-30 08:22:46
    赞同 2 展开评论 打赏
  • 十年摸盘键,代码未曾试。 今日码示君,谁有上云事。

    想要统计某个宜搭表单在某个时间段内提交数据的条数可以通过 COUNT 函数来实现,COUNT函数里有三个参数,第一个是您需要提交的表单的表单ID,第二个参数是USERID,统计所有的提交数量可以默认不填,写一个空字符串 "" 代替,第三第四个参数就是时间段的开始和结束时间。

    2023-09-27 19:08:19
    赞同 3 展开评论 打赏
  • 可以试试看创建一个中间的数据表,用来存储计算结果,每次提交表单时,通过触发器或工作流更新这个中间表。
    然后在表单页面通过关联这个中间表来显示计算的结果。

    2023-09-27 16:02:22
    赞同 2 展开评论 打赏
  • 如果您想在普通表单的提交等功能中使用宜搭指标卡,您可以将指标卡嵌入到普通表单中。以下是一个简单的示例:

    1. 在宜搭设计器中,创建一个新的页面,并添加一个普通表单组件。
    2. 在普通表单组件中,添加一个数值框组件,并设置其默认值为0。
    3. 在普通表单组件中,添加一个文本框组件,并设置其默认值为“最大值”、“最小值”、“总和”等。
    4. 在普通表单组件中,添加一个按钮组件,并设置其默认值为“统计”等。
    5. 在普通表单组件中,将数值框组件和文本框组件关联起来,设置其计算公式。
    6. 在普通表单组件中,将按钮组件关联起来,设置其事件处理函数。
    7. 在事件处理函数中,使用宜搭指标卡的API,获取员工加分的最大值、最小值、总和等数据,并将数据填入文本框组件中。
    8. 在事件处理函数中,提交普通表单,完成数据的统计和提交。
      通过以上步骤,您可以在普通表单的提交等功能中使用宜搭指标卡,统计所有员工加分的最大值、最小值、总和等数据。如果您在操作过程中遇到任何问题,建议您联系阿里云客服人员,寻求专业的技术支持和帮助。
    2023-09-27 15:24:54
    赞同 1 展开评论 打赏
滑动查看更多
问答分类:
BI
问答地址:
关联地址:
来源圈子
更多
收录在圈子:
+ 订阅
「宜搭」是云钉原生低代码平台(钉钉 PaaS - aPaaS),让企业应用搭建更简单! 帮助中小企业降本提效,加强组织的数字化自主权; 帮助大型企业释放个体创新力,助力组织创新涌现。
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载