最近在工作中频繁使用到了Tableau Prep,沉淀一些内容,避免遇到类似的坑。
节点使用规则
以下规则你可以按自己的喜好来,不过这些规则都是我最近趟坑趟出来的,建议你遵循以下,提高自己的效率。
1、在制作数据流程之前,根据需求/sql整理数据库表连接思维导图。这步非常非常重要,直接读sql当然也可以,但是效率一定没有这种方式高。
推荐使用:幕布
推荐幕布格式:
- 各级节点:表/字段名称 中文备注
- 备注:表连接条件
2、各节点使用规则
-
数据表:拖入流程后,首先进行字段筛选,选择要使用的字段即可,提高数据库查询效率
-
清理步骤:每个数据表节点及表连接后加入清理步骤,标明做了哪些动作;如果动作操作3种,建议新建一个清理步骤,保证流程清晰可读,同时清理步骤可以直观查看数据明细。
-
表连接:注意表连接方式即可,避免产生笛卡尔积,如果确实有多对多的情况,需要在表连接后增加聚合节点;表连接后增加清理步骤,清理连接所用的多余字段;表连接节点名称标明连接字段关系。
-
修改字段名称:在表连接之后,流程输出节点之前统一修改。原因我下面会说。
其他节点随着使用我会更新
一些产品缺陷导致的坑与解决方案
-
不要在表连接之前修改连接字段名称为中文!!!这个坑非常的深,prep目前的产品缺陷,会导致你把流程共享给别人之后,对方下载的流程连接字段报错;同时,当你想把字段改回去时,直接在字段名称上修改也是不可行的,保存之后再打开,你的流程还会报错。prep的判定机制是你两次修改了字段名称,而不是撤销修改。这应该算是一个产品缺陷。
解决方案:把之前修改字段的表节点删掉重新拖入。 -
不要使用分组功能,这个功能出了很久,但是会导致流程报错,至少mysql实践是这样。
解决方案:用计算字段处理。 -
注意流程的输出设置。这个主要针对使用Tableau Server的童鞋来说,发布流程之前注意你的输出设置要改成发布数据源,而不是保存文件。否则server上的prep流程会无法运行哦!
PS:prep教程短期内先不更新了,做完报表我要上路python啦~
网友评论