父子维如何"变身"可满足亿信BI通用层级维

4522
6

wut 数据老手Lv5

发表于2018-10-12 17:20

楼主
大家在项目上或者在产品试用中,可能会经常遇到父子维的维表结构,但在BI中无法直接支持父子维的形式,那这时就会困扰,该如何处理数据呢?如何让其摇身一变,变成我们可以使用的结构呢?
接下来就给大家举一个例子说明~~~~
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
需求:父子维结构的数据如何在BI维表中成树型显示?

实现流程:
熟悉亿信BI的小伙伴们,肯定知道针对代码无规律的数据要想在BI中成树型显示,那么采用通用层级维的方式。那要使用通用层级维,它的数据结构要是这样的:

那如何把父子维变成这样呢?
此刻你只需要一串SQL语句,类似如下一样:
ps:SQL中引用的dim_fid数据在这里 backup.zip (465 Bytes, 下载次数: ) BI特有的db文件,通过数据库管理中的导入功能导入即可
create view dim_tyw as
select t.* from (
select
       regexp_substr(tree_id, '[^,]+', 1, 1) upid0,
       regexp_substr(tree_id, '[^,]+', 1, 2) upid1,
       regexp_substr(tree_id, '[^,]+', 1, 3) upid2,
       regexp_substr(tree_name, '[^,]+', 1, 1) upid0_name,
       regexp_substr(tree_name, '[^,]+', 1, 2) upid1_name,
       regexp_substr(tree_name, '[^,]+', 1, 3) upid2_name
  from ((select t.*, sys_connect_by_path(id, ',') tree_id,sys_connect_by_path(name, ',') tree_name
           from dim_fid t
          start with pid is null
         connect by prior id = pid)) t) t where t.upid2 is not null;

ps:以上例子是3层结构,如果有多层结构的话,只修改红色文字,来获得不同层级的代码和文字regexp_substr(tree_id, '[^,]+', 1, X) upidX

那么dim_tyw这个视图就可以直接做为BI通用层级维的数据使用了~~~~
具体的通用层级维的配置就不赘述了~~~~
不会的小伙伴们可以查询我们在线的知识库呦(http://www.esensoft.com/service/self-help/knowledges.html


以上SQL适用于oracle的数据库,欢迎小伙伴们补充其他数据库的转化方法~~~~

最近看过此主题的会员

esen_4FEZ7U2INX3Q

ajsdhkjfhdasf

353850388

pandabuxizao

a1647255077

弥生

nsmeng3

安服

shqx

啊洋

esen_43K228T11K83

hcdHUAYU

vishaw

哇殴

fyk9102

6个回答

只看楼主

西瓜小姐 数据达人Lv4

发表于2018-10-12 17:41

只看该作者

取消 关注该作者的回复

沙发

kingpeng 初学数据Lv2

发表于2018-10-12 17:59

只看该作者

取消 关注该作者的回复

板凳


社区小辣妹 小试身手Lv3

发表于2018-10-12 18:00

只看该作者

取消 关注该作者的回复

地板


这张图片竟然是土豪金~

wut 数据老手Lv5

发表于2018-10-12 18:01

只看该作者

取消 关注该作者的回复

5#


超牛~~

韦韬然 数据老手Lv5

发表于2018-10-12 18:04

只看该作者

取消 关注该作者的回复

6#

18516843105 数据达人Lv4

发表于2020-6-1 17:16

只看该作者

取消 关注该作者的回复

7#

这个传的项目编码,是3个级次按$隔开的,不是本身的

登录后可回答问题,请登录注册

快速回复 返回顶部 返回列表

小时

全天响应

分钟

快速处理问题

工程师强势助力

明星产品
解决方案
联系合作

渠道咨询电话:137-0120-6790

技术支持QQ:400-0011-866(工作日9:00-18:00)

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

版权所有© 2006-2024 北京亿信华辰软件有限责任公司 京ICP备07017321号 京公网安备11010802016281号