永洪社区

标题: 参数列 [打印本页]

作者: yhdata_j9sxIuzu    时间: 2021-10-25 11:28
标题: 参数列
使用参数列之后是不是就不能用预定义的计算器
做了一个柱形图 数据是使用的参数列 然后用预定义的计算器算累计总计 之后再勾选就会报错
筛选框不选订单金额 就会报订单金额不存在 全选的时候不报错
这个要怎么改

作者: _贝贝    时间: 2021-10-25 11:36
是哪个版本呢 当前921验证没有问题,可以在没筛选的情况下使用
作者: yhdata_j9sxIuzu    时间: 2021-10-25 11:38
9.0的版本 不筛选的时候不用动态计算器就可以 用了动态计算器就不行了  怎么可以用了参数列再用动态计算器 不报错
作者: _贝贝    时间: 2021-10-25 12:44
本地验证90版本没有报错,先取消勾选sql解析器和数据库内计算看一下
作者: yhdata_j9sxIuzu    时间: 2021-10-25 13:31
取消勾选sql解析器和数据库内计算在哪里
作者: _贝贝    时间: 2021-10-25 13:37
数据集模块
作者: yhdata_j9sxIuzu    时间: 2021-10-25 13:38
找着了 取消勾选这两个之后 没报错 不勾选会对别的地方造成影响吗
还有现在筛选框的速度很慢 是因为取消勾选吗
作者: _贝贝    时间: 2021-10-25 13:40
yhdata_j9sxIuzu 发表于 2021-10-25 13:38
找着了 取消勾选这两个之后 没报错 不勾选会对别的地方造成影响吗
还有现在筛选框的速度很慢 是因为取消勾 ...

取消勾选数据库内计算会影响性能,计算机交给BI内存处理。数据库计算可以勾选上
作者: yhdata_j9sxIuzu    时间: 2021-10-25 13:43
不行啊 数据库计算勾上之后又报错了
作者: yhdata_j9sxIuzu    时间: 2021-10-25 13:45
试了一下 不勾选SQL解析器 勾选数据库计算不报错 但是速度还是很慢 只有这一种办法吗
作者: _贝贝    时间: 2021-10-25 13:47
yhdata_j9sxIuzu 发表于 2021-10-25 13:45
试了一下 不勾选SQL解析器 勾选数据库计算不报错 但是速度还是很慢 只有这一种办法吗 ...

因为当前报错是sql抛出来的,动态绑定参数列下推到了数据库底层,封装一层sql,底层无法识别这样的计算,所以目前要么取消sql解析器,要么用计算列自己写一个动态计算的计算语句
作者: yhdata_j9sxIuzu    时间: 2021-10-25 13:50
那请教一下自己写动态计算的计算语句应该写在哪里 怎么写
作者: 美滋滋    时间: 2021-10-25 13:56
你单独执行一下SQL,看看需要多少时间。先要调查清楚是SQL执行慢还是BI计算慢。
作者: yhdata_j9sxIuzu    时间: 2021-10-25 14:02
单独执行SQL是在数据集那刷新数据吗 这个挺快的
还是在哪里执行?
作者: yhdata_j9sxIuzu    时间: 2021-10-25 14:04
不对 这个第一次 刷新比较慢 后面就快了 但是刷新完之后报表还是很慢 这里的SQL是SELECT *
作者: _贝贝    时间: 2021-10-25 14:06
yhdata_j9sxIuzu 发表于 2021-10-25 13:50
那请教一下自己写动态计算的计算语句应该写在哪里 怎么写

这个比较复杂 需要根据不同的计算来做,比如求汇总百分比, 每个字段当前的数据/字段总和
1,新建文本组件,绑定这个度量,求出总和  325527
2,新建计算列 计算列   col['利润]/325527
3,参数列绑定这个计算列


其他的动态计算也是类似的方式,根据逻辑自己手动写出每个计算列来绑定
作者: yhdata_j9sxIuzu    时间: 2021-10-25 14:06
lijie 发表于 2021-10-25 13:56
你单独执行一下SQL,看看需要多少时间。先要调查清楚是SQL执行慢还是BI计算慢。 ...

有没有自己写动态计算的脚本
作者: yhdata_j9sxIuzu    时间: 2021-10-25 14:08
永洪tech-zxx 发表于 2021-10-25 14:06
这个比较复杂 需要根据不同的计算来做,比如求汇总百分比, 每个字段当前的数据/字段总和
1,新建文本组 ...

但是这个的柱状图的月份也是根据起始月份和结束月份动态变化的(总和是变化的)
作者: _贝贝    时间: 2021-10-25 14:10
效果如图
作者: yhdata_j9sxIuzu    时间: 2021-10-25 14:56
但是这个的柱状图的月份也是根据起始月份和结束月份动态变化的(总和是变化的)
作者: _贝贝    时间: 2021-10-25 15:06
yhdata_j9sxIuzu 发表于 2021-10-25 14:56
但是这个的柱状图的月份也是根据起始月份和结束月份动态变化的(总和是变化的) ...

没有相关脚本,把过滤也加在文本组件上,动态引用,param['a']=文本1.data  计算列就写col['字段']/param['a']
作者: yhdata_j9sxIuzu    时间: 2021-10-25 15:09
没太懂具体该怎么操作 (是不要用动态计算器吗) 可以麻烦详细说一下怎么做累计汇总吗?
作者: _贝贝    时间: 2021-10-25 15:10
yhdata_j9sxIuzu 发表于 2021-10-25 15:09
没太懂具体该怎么操作 (是不要用动态计算器吗) 可以麻烦详细说一下怎么做累计汇总吗? ...

一定要sql解析器就不要用动态计算器  柱状图怎么动态的 文本框的数据也怎么设置过滤实现动态  保证总和一样
作者: yhdata_j9sxIuzu    时间: 2021-10-25 15:19
永洪tech-zxx 发表于 2021-10-25 14:06
这个比较复杂 需要根据不同的计算来做,比如求汇总百分比, 每个字段当前的数据/字段总和
1,新建文本组 ...

请问:
1.新建文本组件的作用是什么 绑定这个度量是哪个度量(所作的柱状图有三个行轴)
2.新建计算列就是你需要的计算吗(比如我要做累计汇总 就是sum吗)
3.参数列怎么绑定计算列
作者: _贝贝    时间: 2021-10-25 15:24
yhdata_j9sxIuzu 发表于 2021-10-25 15:19
请问:
1.新建文本组件的作用是什么 绑定这个度量是哪个度量(所作的柱状图有三个行轴)
2.新建计算列就 ...

1.文本组件的作用是求出字段的总和,比如我要求汇总百分比,就需要先知道这一个整个字段的总和,使用文本参数可以绑定度量获取, 度量就是需要做汇总百分比的度量
2.新建计算列 目的是 适用计算列替代 汇总百分比, 建议先按照我说的步骤操作之后再看一下是否能理解
3. 参数列绑定计算列的方式和绑定字段的方式一样的,  
使用下拉参数1 - 录入数据- 计算列名称
新建参数列-- 对应刚才的下拉参数1



亲 建议先实际操作一下

作者: yhdata_j9sxIuzu    时间: 2021-10-25 15:29
选中这个柱状图又看不了用的字段了 真的很头疼啊
作者: _贝贝    时间: 2021-10-25 15:30
建议新建一张报告来做,先明白原理后续做起来会简单一点
作者: _贝贝    时间: 2021-10-25 15:33
最好的方式还是建议取消勾选sql解析器 因为有一些动态计算器里面计算会很复杂,写多个计算列实现,有些计算列不支持下推数据库,这样的情况下更会降低性能。 只要勾选了数据库内计算,直接使用动态计算器 这样的效率还更高于 计算列实现,是可以下推到数据库的。
作者: yhdata_j9sxIuzu    时间: 2021-10-25 16:08
永洪tech-zxx 发表于 2021-10-25 15:24
1.文本组件的作用是求出字段的总和,比如我要求汇总百分比,就需要先知道这一个整个字段的总和,使用文本 ...

是用文本组件做累计汇总还是用新建计算列做累计汇总
作者: _贝贝    时间: 2021-10-25 16:15
yhdata_j9sxIuzu 发表于 2021-10-25 16:08
是用文本组件做累计汇总还是用新建计算列做累计汇总

我做的汇总百分比 不是累计汇总 累计汇总无法计算列实现
作者: yhdata_j9sxIuzu    时间: 2021-10-25 16:17
永洪tech-zxx 发表于 2021-10-25 15:33
最好的方式还是建议取消勾选sql解析器 因为有一些动态计算器里面计算会很复杂,写多个计算列实现,有些计算 ...

是这样吗?我实际试了一下 咋是取消勾选数据库内计算 勾选上SQL解析器不会报错
作者: _贝贝    时间: 2021-10-25 16:43
yhdata_j9sxIuzu 发表于 2021-10-25 16:17
是这样吗?我实际试了一下 咋是取消勾选数据库内计算 勾选上SQL解析器不会报错 ...

是什么数据库
作者: yhdata_j9sxIuzu    时间: 2021-10-25 17:07
永洪tech-zxx 发表于 2021-10-25 16:43
是什么数据库

是GP数据库
作者: _贝贝    时间: 2021-10-25 17:12
yhdata_j9sxIuzu 发表于 2021-10-25 17:07
是GP数据库

sql执行失败 看报错推断是当前gp不支持这样转换 具体可以找日志中的sql放在gp数据库底层执行,、如果无法通过,就是数据库不支持计算下推,如果可以通过就需要进一步分析报错了




欢迎光临 永洪社区 (http://club.yonghongtech.com/) Powered by Discuz! X3.4