可视化分析——Tableau数据权限方案

在选择了Tableau作为公司的可视化分析工具之后,由于tableau自身比较封闭,几乎没有二次开发的可能,因此在实现行级数据权限的过程中完全依赖于Tableau现有功能进行挖掘。经过一段时间的研究分析,我们总结了几套在tableau中可用的行级数据权限方案。

一、首先说下大的软件环境:

公司购买的tableau软件主要服务于事业部的运营、数据分析人员,因此客户端账号的80%都直接分发给业务部门使用;技术部主要基于tableauserver服务器的稳定性、权限管控等方面进行简单的二次开发,其实这所谓的二次开发也仅仅只是把tableau发布的报表页面嵌入到公司自己开发的系统当中,通过菜单访问控制、url传参等方式实现权限控制。

产品架构图如下:

二、权限问题解决方案:

把tableau的页面嵌入到系统中后,每个可视化报表也就是一个功能菜单,因此菜单权限的控制完全不是问题,业务部门可以在内部就进行菜单权限的管控。数据权限的实现比较曲折,也尝试过几种方案。

第一种方案:通过url传参,将需要控制的权限类型作为参数带入可视化报表url参数中;

1、在嵌入可视化报表的系统中开发一个小功能,实现报表发布时传入指定参数,如:配置网站权限,则参数会传入website_id_p=XXX;

2、报表开发过程中需要用到事实表中的网站website_id字段,由于用来传参的字段不能在工作表的筛选器中直接用,传参和筛选用同一个字段会有冲突,因此会copy一个website_id生成website_id_p的字段用于传参。(注:copy出来的website_id_p字段可以不用作为字段显示到报表中)

3、显示筛选器,并将筛选器设置为“仅相关值”。

4、发布到server后就可以在server端试验数据权限是否生效。

以上这种方案实现起来最简单,也是官方推荐的方案,并且数据可以进行正常提取。但是也存在一个很致命的问题:因为是通过url传参,因此能够传入的参数是受浏览器限制的,市面上主流的浏览器支持传入的url长度都不超过3000个字符,比如谷歌浏览器。但是业务现状是,超过3000字符的权限类型有很多,如产品分类、仓库,这部分权限无法通过这个方案来支持。因此,我们又苦苦寻找其他方案。

第二种方案:将用户ID作为参数传到url中,关联权限表进行控制;

这个方案的实现分为两个阶段。

第一阶段,我们在后台创建两个数据源,一张是做权限控制的权限表,另一张是数据事实表,用权限表作为主表关联事实表,传入的用户ID的参数控制权限表中所能看到的权限类型,以此来实现权限过滤。但是由于tableau的sql语法中对于两个数据源左关联的操作支持得并不好,因此当事实表有多个维度时,除了第一个维度字段之外的其他维度字段都会显示为“ * ”号,第一阶段到此宣告失败,具体的操作步骤也就不再描述。

第二阶段,还是用传入用户ID的方式,但是选择了参数字段来实现,具体操作如下:

1、编写自定义SQL创建事实表、权限表(这里举的例子使用了两个权限类型,因此创建了两个权限表1和2),并使用内关联;

2、创建一个名为user_id的参数,分别在两个权限表中作为参数插入(该参数是作为URL传用户ID时进行权限过滤的依据);

3、利用这个数据源开发可视化报表并发布,开发完成后的页面显示如下;

至此,用户ID传参的方案可以完美实现多维度,多数据权限类型的可视化报表开发,并且可以与第一种URL传参的方式共存(如:url中既传user_id,又传website_id),基本可以实现业务部门对于行级数据权限控制的所有要求。当然,这个方案也有缺陷,由于是在数据源中就写入参数,因此无法做数据提取(提取的结果为空),可视化报表的查询效率完全取决于直连数据库的查询效率。

总体来说,作为运营、数据分析师的可视化分析工具,tableau的分析效率高、学习成本低,也是目前市场上大部分数据分析师必备的分析工具,因此引入该工具进来之后业务部门的推广应用比想象中的要快,这也是当初选择tableau的主要原因。在解决了行级数据权限的问题之后,tableau甚至可以作为企业级可视化报表应用的选项之一,希望这些经验能够帮助到其他有需要的朋友。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,919评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,567评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,316评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,294评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,318评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,245评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,120评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,964评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,376评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,592评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,764评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,460评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,070评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,697评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,846评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,819评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,665评论 2 354