BI数据权限问题

0
最近刚接触商业智能BI就开始做项目了,是一家制药公司的。
公司一共有100多个办事处,希望实现每个办事处只能看到自己的数据。
这样在CUBE里面怎么样设置数据权限呢?不想每个办事处都设置一个角色,那样工作量很大,并且职务变动时候不方便维护。现在网上资料很少,希望高手指点!谢谢!
已邀请:
1

梁勇 - 天道酬勤、上善若水。爱好商业智能 2014-06-11 回答

一般的权限分为两种:一种 是 菜单权限,即不同的人登录系统看到不同的报表,这个可以通过用户角色权限管理系统去实现,分配不同的菜单。。。另一位种是 数据权限。数据权限,就是不同的部门看着各自部门的数据,这个可以在报表层面上去实现。具体解决方案如下:
1、新建一个办事处维度
2、在报表 层面开发MDX的时候参数把 办事处维度添加进来
1.jpg


3、报表与Web集成的时候,不同的人登录系统,可以找到对应的办事处,然后把对应的办事处 传参给该报表即可。。
0

梁勇 - 天道酬勤、上善若水。爱好商业智能 2014-06-11 回答

发个MDX的参考给你
,以DIM_SHOP维度为基准,如果要看所有的,直接ALL,如 [Dim Shop].[Shop ID].[All] ,如果想看单个门店的,如 [Dim Shop].[Shop ID].&[MD001] 等进行过滤即可


WITH MEMBER [Measures].[本月销量] AS SUM(MTD([Dim Date].[Y-M-D]),[Measures].[销售量]) MEMBER [Measures].[本月整月销量] AS ([Dim Date].[Y-M-D].parent,[Measures].[销售量]) MEMBER [Measures].[本月目标] AS ([Dim Date].[Y-M-D].parent.firstchild,([Dim Target].[Target For].&[总销量],[Measures].[目标值]))
MEMBER [Measures].[本月完成率] AS IIF([Measures].[本月销量]=NULL OR [Measures].[本月目标] =NULL,0,
[Measures].[本月销量]/[Measures].[本月目标]) MEMBER [Measures].[上月同期销量] AS (PARALLELPERIOD([Dim Date].[Y-M-D].[Month],1),[Measures].[本月销量]) MEMBER [Measures].[上月整月销量] AS ([Dim Date].[Y-M-D].parent.prevmember,[Measures].[销售量]) MEMBER [Measures].[月环比] AS IIF([Measures].[本月销量]=NULL OR [Measures].[上月同期销量] =NULL,0,
[Measures].[本月销量]/[Measures].[上月同期销量]-1) MEMBER [Measures].[去年同期销量] AS (PARALLELPERIOD([Dim Date].[Y-M-D].[Year],1),[Measures].[本月销量]) MEMBER [Measures].[月同比] AS IIF([Measures].[本月销量]=NULL OR [Measures].[去年同期销量] =NULL,0,
[Measures].[本月销量]/[Measures].[去年同期销量]-1) MEMBER [Measures].[本年销量] AS SUM(YTD([Dim Date].[Y-M-D]),[Measures].[销售量]) MEMBER [Measures].[去年累计同期销量] AS (PARALLELPERIOD([Dim Date].[Y-M-D].[Year],1),[Measures].[本年销量]) SELECT NON EMPTY { [Measures].[上月整月销量], [Measures].[上月同期销量], [Measures].[去年累计同期销量], [Measures].[本年销量], [Measures].[去年同期销量], [Measures].[月环比], [Measures].[本月销量], [Measures].[销售量], [Measures].[本月完成率], [Measures].[本月目标], [Measures].[月同比], [Measures].[本月整月销量] } ON COLUMNS, NON EMPTY { ([Dim Shop].[Shop Name].[Shop Name].ALLMEMBERS ) } DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS FROM ( SELECT ( { [Dim Shop].[Shop ID].[All] } ) ON COLUMNS FROM ( SELECT ( STRTOSET(@DimDateYMD, CONSTRAINED) ) ON COLUMNS FROM [KPI])) WHERE ( IIF( STRTOSET(@DimDateYMD, CONSTRAINED).Count = 1, STRTOSET(@DimDateYMD, CONSTRAINED), [Dim Date].[Y-M-D].currentmember ), [Dim Shop].[Shop ID].[All] ) CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS
0

苏州补丁 - 天道酬勤 厚积薄发 2014-06-11 回答

还是没有搞出来,是不是版本问题呢?
我在CUBE浏览器设置是不能保存的,您的第二步是在哪里操作的?
0

天桥下的郑成功 - Hadoop大数据开发工程师、数仓架构师、熟悉数据仓库设计、Hadoop、Spark、HBase、Hive、SSIS等开发 2014-12-29 回答

有2种办法
  1. 就是通过传参数来决定显示的维度,做切片。
  2. 然后就是类似下面链接的,做Cube内限制
http://www.cnblogs.com/cleo/ar ... .html
0

xpivot - SSAS & Excel &Cube架构师、产品经理 课程地址:http://www.hellobi.com/course/34 2015-01-06 回答

我去,评论和回复不一回事啊。。。

要回复问题请先登录注册