去重计数

计数_20240801154358.png

虚心求问,插入数据列怎么实现去重计数,并且要能动态筛选时间,所以在SQL中使用distinct这个方法不行

举例数据源和需求如下图:

需求截图_20240801161724.png

注意:接MYSQL数据库,实际数据量很大,做的是统计表,类似月报,只看总量,不能把时间体现在输出中,只能用时间控件

FineReport 帆软用户5TwBcnuH0g 发布于 2024-8-1 15:42 (编辑于 2024-8-1 17:00)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共5回答
最佳回答
1
snrtuemcLv8专家互助
发布于2024-8-1 15:43

=COUNT(UNIQUEARRAY(E3))

最佳回答
0
Z4u3z1Lv6专家互助
发布于2024-8-1 15:43

SQL distinct

帆软公式:先去重

UNIQUEARRAY(array):去掉数组array中的重复元素。

示例:UNIQUEARRAY([14,2,3,4,3,2,5,6,2,7,9,12,3])返回[14,2,3,4,5,6,7,9,12].

再count()

最佳回答
0
ID1208Lv6高级互助
发布于2024-8-1 15:53(编辑于 2024-8-1 15:53)

单元格用公式,代替拖入字段,value获取数据集某列数据

image.png

=count(UNIQUEARRAY(value("ds1",1)))

最佳回答
0
很困想睡觉Lv5初级互助
发布于2024-8-1 16:25(编辑于 2024-8-2 08:13)

自己看模板吧,我做到内置数据集,依据你的数据父子格设置好就可以了.日期筛选自己加

WorkBook14.rar

换成你的字段和表直接执行

select  count(姓名),城市,接待人 from table 

where

 日期 between 2024-07-01 and 2024-07-30

 group by 城市,接待人

  • 帆软用户5TwBcnuH0g 帆软用户5TwBcnuH0g(提问者) 这样不行,日期不能体现在输出里,我们做的是统计表,我是列举了一部分数据,实际数据量很大,不可能把日期放里面
    2024-08-01 16:57 
  • 很困想睡觉 很困想睡觉 回复 帆软用户5TwBcnuH0g(提问者) 日期筛选框不是你自己在参数面板加吗,根据参数查询数据,我是内置数据集,我这个是根据你查询出来的数据做的渲染,你查询多少数据就自动汇总了
    2024-08-01 17:00 
  • 很困想睡觉 很困想睡觉 回复 帆软用户5TwBcnuH0g(提问者) 你自己写sql传参不就好了吗,你参数怎么变无所谓,父子格设置好了不就自动汇总了吗,我上面的操作没有用到时间列,你自己写数据集写sql处理成你截图的数据然后按照我这个模板设置就可以了
    2024-08-01 17:02 
  • 很困想睡觉 很困想睡觉 回复 帆软用户5TwBcnuH0g(提问者) 你就算是全量查询,你按照我的模板来他也是直接自动汇总数据,而且我这个模板的设置都没用到日期的数据,是你截图有日期控件 所以我让你在我的基础上加,只需要把你的数据集的数据处理成你截图的格式,按照我的设置来,效果就出来了
    2024-08-01 17:06 
  • 帆软用户5TwBcnuH0g 帆软用户5TwBcnuH0g(提问者) 回复 很困想睡觉 哦哦,我看错了,礼貌再问一下,如果维度从城市换到省份,你这个怎么解决呢,换成四川省和重庆省
    2024-08-01 17:08 
最佳回答
0
幻尘Lv2见习互助
发布于2024-8-2 09:10

你试试SQL语句用窗口函数row_number去重

  • 5关注人数
  • 320浏览人数
  • 最后回答于:2024-8-2 09:10
    请选择关闭问题的原因
    确定 取消
    返回顶部