前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Salesforce Tableau CRM Dashboards,为查询条件设置默认值

Salesforce Tableau CRM Dashboards,为查询条件设置默认值

原创
作者头像
repick
发布2022-04-24 22:27:43
1.2K0
发布2022-04-24 22:27:43
举报
文章被收录于专栏:Salesforce

Dashboards查询条件,默认情况下,查询所有担当者的金额情报,如下也可以进行自由选择,选择特定用户的情报。

1.需求:

以特定用户登录时,查询条件项目默认设置成登录用户,普通管理员用户登录是无需设置默认值,

以下是查询项目没有设置默认值的情况。

2.为查询条件设置默认值

切换到Query模式下,添加以下代码。

代码语言:javascript
复制
"start": [
        "!{User.Name}"
    ],

如下,现在使用任何用户登录情况下,查询条件都会设置当前用户为查询条件。

但是我们的需求是只有特定用户登录情况下设置默认值,所以需要写出分歧条件,首先需要做成Flow,取得所有用户名称和对应的Profile,用来进行用户身份判断

3.DataFlow做成

3.创建Query,用于判断登录用户身份。

选择上边刚刚做成的DataSet(MC_User_DataSets)

Query模式下,切换到SQL编辑

编辑SQL,进行登录用户绑定的Profile判断

变更前

代码语言:javascript
复制
SELECT COUNT(*) AS "A" FROM "MC_User_DataSets" LIMIT 2000

变更后

代码语言:javascript
复制
SELECT
CASE "Profiles.Name" WHEN 'Partner Community User'
THEN "Name" ELSE null END as "Name"
FROM "MC_User_DataSets" WHERE "Name" = '!{User.Name}'

当登录用户的Profile是“Partner Community User”时,默认选择当前登录用户,以外时使用null,不设置默认值

Query创建成功

4.Query模式下,编辑查询项目

选择查询条件项目,切换Query模式进行编辑

变更前

代码语言:javascript
复制
{
    "broadcastFacet": true,
    "datasets": [
        {
            "id": "0Fb5g000000yJsVCAU",
            "label": "MC_Opportunity_DataSets",
            "name": "MC_Opportunity_DataSets",
            "url": "/services/data/v54.0/wave/datasets/0Fb5g000000yJsVCAU"
        }
    ],
    "isGlobal": false,
    "query": {
        "measures": [
            [
                "count",
                "*"
            ]
        ],
        "groups": [
            "owners.Name"
        ]
    },
    "receiveFacetSource": {
        "mode": "all",
        "steps": []
    },
    "selectMode": "single",
    "start": [
        "!{User.Name}"
    ],
    "type": "aggregateflex",
    "useGlobal": true,
    "visualizationParameters": {
        "options": {}
    }
}

变更后

代码语言:javascript
复制
{
    "broadcastFacet": true,
    "groups": [],
    "label": "担当者",
    "numbers": [],
    "query": "q = load \"MC_Opportunity_DataSets\";\nq = group q by 'owners.Name';\nq = foreach q generate 'owners.Name' as 'owners.Name';\nq = limit q 100;",
    "receiveFacetSource": {
        "mode": "all",
        "steps": []
    },
    "selectMode": "multi",
    "start": "{{cell(lens_1.result, 0, \"Name\").asObject() }}",
    "strings": [],
    "type": "saql",
    "useGlobal": true
}

5.效果展示

管理员用户登录:

Partner Community User登录:

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.需求:
  • 3.DataFlow做成
  • 3.创建Query,用于判断登录用户身份。
  • 4.Query模式下,编辑查询项目
  • 5.效果展示
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档