数据处理FAQ

观小数发表于:2020年02月03日 15:35:54更新于:2020年09月17日 19:05:57

Q1、 在Oracle能正常跑的数据库,但在观远里创建数据集时报错:Field SKU is not unique in Record

答:观远数据不支持同名字段。 在Oracle 的Client里,只是做查询跟显示, 但在观远这里是要做存储的,需要不同的名称。

Q2、去重计数时,空字符串也计数吗?

答:是的,空字符串是计数的,如果不想计数,可以把空字符串改成null值,nul值不计数。

Q3、ETL页面的操作符中,使用合并列操作符后,如何把合并好的字段再拆开?

答:在合并列的操作符中,可以选择是否删除原始字段,建议保留原始字段,这样既有原始字段也有合并之后的字段可以使用;如果没有保留原始字段,可以使用添加计算字段操作符,使用substr和instr将合并之后的字段进行截取拆分。

Q4、添加主键,数据获取量跟原数据里的数量对不上?

答:经查发现主键里有大量是null的行,如果去重主键有null并且该列是数值类型的话,会把所有null的行丢掉,导致数据变少,建议先把null处理掉再抽取,或者全量更新。

Q5、传数据集的时候,重名的能传上去吗?

答:同个文件夹下是不支持相同名称的数据集上传的,不同文件夹下是允许两个相同名称的数据集存在的。

Q6、如何设置卡片导出数据的格式?

答:选择“表格模板设置”,上传设置好的表格模板,然后选择“导出表格数据”。

Q7、如何实时连接数据库?

答:数据连接方式为直连数据库,可以做到准实时,另外也支持创建实时数据集(此为付费模块)。

Q8、新建字段的数据计算错误可能是什么原因?

答:有null值的情况下计算的结果为null值,建议在ETL输出前加一步“null值替换”。

Q9、etl处理结果的数据集能写回我们的数据库吗?

答:数据分析平台内是目前是做不到的,因为数据集是面向BI分析的,要获得这些数据,只能通过API对接的方式。数据开发平台是可以的,因为它是面向数据开发的,ETL处理完了可直接写回到指定数据库。

Q10、double类型的数据如何作等于比较?

答:double类型一般不能做等于比较的,有精度问题,double的0也不一定是0;

所以double的比较一般需要人为设定一个精度标准,比如abs(a-b)<0.0001这样的。

Q11、数据集创建好之后是否可以更改连接方式?

答:观远数据连接方式分为“抽取”与“直连”,如下图:0015d64cc874b8e8a8243573fce3d95

由于两种连接方式原理不同,数据集一旦创建好之后无法更改连接方式,可以重新创建数据集。

Q12、创建数据集时,数据库预览报错,"column ambiguously defined"

答:报错原因为:

①未明确定义列

select 查询的字段在from的两张表中都存在,导致数据库无法区别需要查询的字段来自于哪张表

②查询中有重复字段

如:select a.name,a.name 

Q13、etl中直接使用聚合函数会报错?

答:在etl中不能直接使用聚合函数,如SUM(A)+SUM(B),必须使用窗口函数如SUM(A)over()。

或者直接在卡片中进行使用。

Q14、用户行为分析页面的原始数据在哪里可以看到?

答:原始数据可以在数据中心看到,文件夹为“Built-in-Dataset”,数据集类型为“内置数据集”。

Q15、ETL输出数据集所有者为何不能前往ETL详情?

答:普通用户非ETL所有者无法查看ETL详情,只有ETL所有者或者有管理员权限的用户才能查看ETL详情。

Q16、新建数据库数据集时,用了IF嵌套函数,为何会预览失败?

答:由于IF嵌套时间复杂度太高,是幂次增长的,如果在预览界面使用了多个嵌套IF的sql,很有可能会导致预览超时,建议使用case when替代IF嵌套函数。

Q17、用卡片制作明细数据下载,为什么有些限制5万行下载,有些限制100行数据?

答:导出数据为excel的默认限制是5万行,但是维度里如果设置了显示数量为100,那么导出的数据就是100行。

Q18、在模型结构里用SQL修改列名时,为何没生效?

答:默认了字段关联,将目标字段选为“无关联”就可以了。

Q19、在ETL里能否固定随机数?

答:输出数据集在ETL没有更新的情况下,可以保持随机数不变 ,如果要保留某次结果的话,可以把输出数据集导出来。

    您需要登录后才可以回复