Spotfire® 用户指南

个性化信息链接

使用个性化信息链接可以将数据源设置为仅返回适用于特定用户或组的信息。根据登录的具体用户以及对信息链接的访问情况,可用的数据子集将各不相同。

例如,您可能设置了一个信息链接来检测检索数据的用户是否为欧洲、亚洲或美国的销售团队成员,并仅返回相应区域内的数据。

以下三个示例演示了个性化信息链接。第一个示例根据登录的具体用户检索数据,第二个示例则根据用户所属的组来检索数据。第三个选项确保具有相同用户名但位于不同域的用户不可自动访问同一数据。

语法

个性化信息链接参数的语法如下所示。

%CURRENT_USER%

并且

%CURRENT_GROUPS%
并且
%CURRENT_USER_DOMAIN%

用户名通过查找表

场景:您希望对显示公司内所有销售人员实现的销售额的数据表设置信息链接。但是,销售部门中使用此信息链接访问分析的具体人员,将仅可检索有关该单个用户的销售数字。

首先,请看一下“销售额”表,其中包含销售团队中每个人的总销售额。

订单 ID 员工 ID 乘积 销售额 ($)
1 101 玉米片 100
2 150 汽水 550
3 244 玉米片 160
4 101 矿泉水 400
5 101 汽水 120
6 339 矿泉水 200

然后,为登录 Spotfire Server 的每个人,在数据源上创建“查找表”,使 Employee IDSpotfire username 相匹配。

Spotfire 用户名 员工 ID
mikesmith 101
lauraclarke 150
sarahdonovan 244
malcolmreynolds 339

接下来,创建“筛选器”“列”元素,将 Spotfire Username 列限制为仅返回与当前登录用户对应的值。(在以下示例中,通过添加个性化条件作为列元素的硬筛选器,创建了一个新的受限列元素。这是将在信息链接中使用的列元素。)

显示个性化信息链接列元素的屏幕截图

用户 malcolmreynolds 的结果 SQL 的一个示例为:
"LookupTable"."Spotfire Username" = 'malcolmreynolds'

最后,创建“销售额”表与查找表之间的联接,从而将“员工 ID”列联接起来。

将受限列元素(或筛选器元素)添加到信息链接,将其与其他任何感兴趣的列放在一起,然后进行保存。现在,即可使用该信息链接,它将仅检索与当前登录的用户对应的数据。

组成员关系

场景:您希望对显示公司内所有销售人员实现的销售额的数据表设置信息链接。但是,销售部门中使用此信息链接访问分析的具体人员,将仅可检索有关该销售人员被分派到区域的的销售数字。例如,如果销售人员在东部区域工作,她应仅被允许查看该区域内(任何人员)的销售数字。

Spotfire 管理员在 Spotfire Server 上创建了名为“SalesForce-East”、“SalesForce-West”、“SalesForce-South”和“SalesForce-North”的组。每个销售人员都是上述一个或多个组的成员。

提示: 您还可以创建查找表(就像第一个示例一样),从中将各个用户或组分配给与您的“销售额”表匹配的类别。这样,当具有匹配名称的组不可用时,无需在 Spotfire Server 上创建组。

然后,看一下包含销售团队中每个人员总销售额的“销售额”表。

订单 ID 员工 ID 地区 乘积 销售额 ($)
1 101 SalesForce-East 玉米片 100
2 150 SalesForce-West 汽水 550
3 244 SalesForce-North 玉米片 160
4 101 SalesForce-East 矿泉水 400
5 101 SalesForce-East 汽水 120
6 339 SalesForce-East 矿泉水 200

接下来,添加限制 Region 列的“筛选器”“列”元素,从而使该列仅在当前登录的用户是具有与列完全相同名称的组的成员时,才返回值。(在以下示例中,通过添加个性化条件作为列元素的硬筛选器,创建了一个新的受限列元素。这是将在信息链接中使用的列元素。)

区域的个性化信息链接

属于“SalesForce-East”和“SalesForce-North”组的用户的结果 SQL 示例为:
"SalesTable"."Region" = ('SalesForce-East','SalesForce-North')

将受限列元素(或筛选器元素)添加到信息链接,将其与其他任何感兴趣的列放在一起,然后进行保存。现在,即可使用该信息链接,它将仅检索与当前登录用户所属的组对应的数据。

当前用户域

场景:你在一家大公司管理数据访问,这家公司各个部门都有很多员工。一些用户的用户名相同,但要根据他们所任职的部门访问不同的数据。

要根据用户名和当前用户域检索信息,可使用以下表达式。
%1=(%CURRENT_USER%) AND %1=(%CURRENT_USER_DOMAIN%)

有关更多信息,请参见在 Information Designer 中定义列筛选器创建筛选器元素