利用 Tableau Lightning Web 组件实现用户属性函数 (UAF)
您可以将用户属性函数 (UAF) 与 Tableau 视图和 Pulse Lightning Web 组件 (LWC) 一起使用,根据查看可视化项的用户的属性显示特定数据。用户属性函数 提供行级安全性,以便查看可视化项的人只能看到与他们相关的数据。有关 UAF 的详细信息,请参见利用用户属性函数释放个性化分析的力量。
先决条件
为 Tableau Lightning Web 组件配置了具有令牌身份验证的单点登录 (SSO)。请参见使用令牌身份验证配置 Tableau Lightning Web 组件和单点登录 (SSO)。
Tableau 配置为在身份验证工作流中捕获用户属性。请参见允许捕获用户属性。
要嵌入的 Tableau 内容包括用户属性函数。有关如何在 Tableau 工作簿中使用用户属性函数的示例,请参见确保内容作者包含用户属性函数。
Salesforce 中的 Tableau UAF 声明定义
Tableau UAF 定义允许您在 JWT 中包含对用户属性的声明。这些属性的值可以从 Salesforce 中的帐户或用户对象中提取。当与 Tableau 内容中的用户属性函数结合使用时,仅显示与指定属性匹配的数据。
例如,Tableau 仪表板可以配置为仅显示其 [州/省/市/自治区] 数据列中的值与属性“state”的 JWT 声明中的某个值匹配的销售数据。
语法:USERATTRIBUTEINCLUDES('attribute_name',预期值)
示例:USERATTRIBUTEINCLUDES('state',[州/省/市/自治区])
在 Salesforce 中创建声明定义可以将适当的用户特定信息包含在 JWT 中。在此示例中,可以通过从“账单州/省/市/自治区”字段中提取值,用当前用户作为帐户所有者的帐户的值填充属性“state”。
声明定义示例
定义名称:state_Account_BillingState
属性名称:state
目标对象:帐户
目标对象字段:账单州/省/市/自治区
查看者目标对象关系:当前查看者是帐户所有者
对于在华盛顿州、俄勒冈州和加利福尼亚州拥有帐户的销售代表,JWT 将包含“state”声明,其值为 [WA, OR, CA]。Tableau 仪表板将仅显示 [州/省/市/自治区] 值与 WA、OR 或 CA 匹配的数据。
创建定义
若要创建用户属性定义,请执行以下步骤:
从您的 Salesforce 应用中,选择右上角的齿轮,然后选择“Setup”(设置)。
在左侧导航窗格的“Quick Find”(快速查找)搜索栏中输入“Tableau”。
选择“Tableau UAF Claims Definition”(Tableau UAF 声明定义)设置页面。
选择“Create New”(创建新定义)。
填写定义值:
定义名称:输入一个唯一名称。(例如:state_Account_BillingState)
属性名称:输入Tableau中用户属性函数指定的属性名称。(例如:state)
目标对象:选择您想要从中提取信息的目标对象。Tableau LWC 目前支持用户和帐户对象。
目标对象字段:选择您想要从中提取信息的字段。(例如:账单州/省/市/自治区)
查看者目标对象关系:选择当前查看者和目标对象之间的关系。(例如:当前查看者是帐户所有者)。
选择“保存”。或者,如果要返回 Tableau UAF 声明定义设置页面而不保存,请选择“取消”。
向 Tableau Lightning Web 组件页面添加定义
配置 Tableau LWC 时,使用 UAF 定义名称组件字段来选择要添加的 UAF 声明定义。
若要添加定义,请执行以下操作:
选择“选择…”。
使用箭头将可用的定义移动到“已选定”字段。
选择“确定”。
Experience Cloud 页面
输入以逗号分隔的 UAF 声明定义名称列表。若要复制定义名称,请从 Salesforce 应用程序中导航到“Tableau UAF Claims Definition”(Tableau UAF 声明定义)设置页面,然后选择“Copy”(复制)。
删除定义
若要删除用户属性定义,请执行以下步骤:
从您的 Salesforce 应用中,选择右上角的齿轮,然后选择“Setup”(设置)。
在左侧导航窗格的“快速查找”搜索栏中输入“Tableau”。
选择“Tableau UAF Claims Definition”(Tableau UAF 声明定义)设置页面。
针对要删除的定义选择“Delete”(删除)。
“应用程序”、“主页”和“记录”页面
如果删除已添加到 Tableau LWC 的定义,请刷新 Lightning App Builder 中的页面以更新可用的定义。已删除的定义将被自动移除。
Experience Cloud 页面
已删除的定义不会自动从 Tableau LWC 组件字段中移除。“UAF 定义名称”组件字段中的已删除定义不会导致问题,但会造成不必要的和令人困惑的混乱。若要从 Tableau LWC 组件字段中移除定义,请选择“UAF 定义名称”字段,然后手动删除不再使用的任何名称。