【问题标题】:Google data studio to provide reports and dashboard based on organization谷歌数据工作室提供基于组织的报告和仪表板
【发布时间】:2019-06-14 12:46:37
【问题描述】:

我们是一家基于 SaaS 的公司。我们正在探索使用谷歌数据工作室为我们的用户(属于一个组织)提供报告和仪表板。我们在 BigQuery 中有数据。我们的挑战是 - 我们需要根据登录用户的组织 ID 在我们的 Web 应用程序上显示报告。所以,需要有一个过滤器。我们无法创建报告并嵌入链接,因为在这种情况下我们无法应用预过滤器(登录用户的组织)并且必须动态应用它。 因此,另一种选择似乎是编写我们自己的自定义数据连接器。在高层次上,我知道我需要创建一个数据连接器,将其绑定到 biqquery、报告模板 Id 和参数(在我们的例子中是 org Id)。但无法真正执行。任何方向或例子都会有帮助。

谢谢。

【问题讨论】:

    标签: google-bigquery google-data-studio connector


    【解决方案1】:

    我们需要根据登录用户的组织 ID 在我们的 Web 应用程序上显示报告...
    任何方向或例子都会有帮助。

    下面是 BigQuery 标准 SQL 的简化示例

    假设您有如下报告表 - 指标字段模仿您的实际报告字段,而 org_id 用于识别要将此行包含到报告中的用户

    `project.dataset.table` AS (
      SELECT 1 metrics, 1 org_id UNION ALL
      SELECT 2, 2 UNION ALL
      SELECT 3, 3
    )
    

    您希望能够在下面运行查询,但只返回分配给登录用户的行(具有特定的 org_id)

    SELECT metrics
    FROM `project.dataset.table`
    

    为此,您需要有一个元表,它将托管 org_id 和 GCP 中使用的对应用户帐户之间的映射

    `project.dataset.users` AS (
      SELECT 1 org_id, 'user1@gmail.com' user UNION ALL
      SELECT 2, 'user2@gmail.com' UNION ALL
      SELECT 3, 'user3@gmail.com' 
    )
    

    所以,现在你可以运行下面的查询而不是原来的

    #standardSQL
    SELECT t.* EXCEPT(org_id)
    FROM `project.dataset.table` t
    JOIN `project.dataset.users` USING(org_id)
    WHERE LOWER(user) = LOWER(SESSION_USER())   
    

    如您所料,此查询的结果将取决于运行它的用户

    例如,对于 user2@gmail.com - 输出将是

    Row metrics  
    1   2       
    

    同时,对于 user4@gmail.com - 输出是

    Row metrics  
    Query returned zero records.   
    

    为简单起见,我省略了 template_id - 但您可以轻松地将其添加到图片中

    【讨论】:

    • 你好,米哈伊尔,谢谢。我们将数据工作室报告嵌入到我们的应用程序中,我们不确定如何将用户组织引用/用户 ID 传递给大查询/数据工作室。由于我们将报表嵌入到 Web 应用程序的 iframe 中,因此我们看不到传递参数的方法。
    【解决方案2】:

    本机电子邮件过滤功能现已引入 Google 数据洞察。 Quoting the section specific to BigQuery:

    在 BigQuery 中按电子邮件过滤
    在 BigQuery 数据源中,您可以过滤 通过在自定义查询中使用 @DS_USER_EMAIL 参数的电子邮件地址。 例如:

    Select * from Sales WHERE sales-rep-email = @DS_USER_EMAIL;

    这为您的过滤器提供了额外的灵活性。学习更多关于 BigQuery parameters.

    【讨论】:

      猜你喜欢
      • 2020-01-19
      • 2013-01-08
      • 1970-01-01
      • 1970-01-01
      • 2021-10-27
      • 2014-06-19
      • 2022-11-09
      相关资源
      最近更新 更多