找回密码
 立即注册

QQ登录

只需一步,快速开始

简单
金牌服务用户   /  发表于:2021-6-3 12:16  /   查看:2678  /  回复:3
1金币
本帖最后由 Freya.Li 于 2021-10-14 09:40 编辑

RT,想要在活字格中实现输入数字,柱形图显示对应数据对应的前N项数据

最佳答案

查看完整内容

首先,活字格表格的加载记录行数是不支持动态赋值的,基于这一点,我们就需要考虑考虑其他的实现方案 如果图表想要只显示这几条数据,意味着表格只能显示出来这几条数据,我们可以通过表格查询的逻辑,只查询前N行的数据展示到表格中 具体如何实现呢? 1.因为涉及到获取前N项的数据,活字格的ODATA是支持这一点的 我们可以通过ODATA获取top N的数据 2.使用ODATA获取出来前N行的ID之后,为了让表格可以查询,我们需要 ...

3 个回复

倒序浏览
最佳答案
最佳答案
Eric.Liang讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2021-6-3 12:16:16
来自 2#
首先,活字格表格的加载记录行数是不支持动态赋值的,基于这一点,我们就需要考虑考虑其他的实现方案
如果图表想要只显示这几条数据,意味着表格只能显示出来这几条数据,我们可以通过表格查询的逻辑,只查询前N行的数据展示到表格中

具体如何实现呢?

1.因为涉及到获取前N项的数据,活字格的ODATA是支持这一点的
我们可以通过ODATA获取top N的数据


2.使用ODATA获取出来前N行的ID之后,为了让表格可以查询,我们需要用Excel行数TEXTJOIN函数,将查出来的多行ID通过逗号连接起来
=TEXTJOIN(",",1,ODATA("大类统计?$select=产品大类&$top="&D9))

3.当拿到前N行的ID或者其他唯一字段之后,可以表格设置查询条件,使用“在里面”实现你的需求


4.但是这里还需要注意一点:因为ODATA和表格的查询逻辑有一些区别,如果表格的查询条件为空而不是NULL,会认为没有查询条件,显示所有数据;
但是ODATA是请求数据库的逻辑,如果查询条件为空,意味着是要查字段为空的值;所以在特殊条件下(输入0时),需要满足不显示任何数据,熟悉活字格的小伙伴都知道,这种情况,我们通常会使用IFERROR函数进行判断,实现如果TXETJOIN函数连接的是个空值,赋值为-1,让表格查询不到数据的逻辑~
=IFERROR(TEXTJOIN(",",1,ODATA("大类统计?$select=产品大类&$top="&D9)),-1)


效果如下:


工程文件见附件


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
happy_e
中级会员   /  发表于:2021-10-14 22:35:19
3#
Eric.Liang 发表于 2021-6-3 12:16
首先,活字格表格的加载记录行数是不支持动态赋值的,基于这一点,我们就需要考虑考虑其他的实现方案
如果 ...

如果除了要显示前N项数据,还要把N+1以后的项累加起来作为“其他”项来展示,请问有什么好办法?
回复 使用道具 举报
Chelsey.Wang讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-10-15 09:44:31
4#
happy_e 发表于 2021-10-14 22:35
如果除了要显示前N项数据,还要把N+1以后的项累加起来作为“其他”项来展示,请问有什么好办法?

您好,请重新发一个帖子进行提问哈,我们尽量保证一个帖子解决一个问题哦,这样再次遇到相同问题,大家就可以通过帖子题目的关键词进行检索啦~
您可以再发一个新帖,描述一下您的需求和场景,这样也能针对您的问题进行解答哦
另外,提问时尽量带上截图或工程文件,有助于这边对您问题的理解哈~
感谢您的理解与支持~


回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部