如何通过表格中的汇总日期值在Google Data Studio中创建饼图?

时间:2019-08-22 17:14:07

标签: charts google-sheets google-data-studio

我对超级度量,表格和数据工作室有些陌生,因此请原谅新手问题。我试图根据给定日期范围内的总用户数与新用户数,在数据工作室中显示一个饼图。

当我将Google Analytics(分析)数据放入表格中(通过超量度)时,它自然地分为3列:日期,用户,新用户。

enter image description here

在Google Data Studio中,饼图希望查看1维和1指标的数据源:用户类型,用户计数,如下所示:

enter image description here

当然,我可以使用公式来计算总计并创建辅助表,但是当GDS用户更改日期范围时,该表不会更新。

我也尝试过这种方法,无法制作饼图:

enter image description here

要么我需要找到一种方法,当用户在GDS中更改日期范围时,就可以在GDS中人为创建此1x1表,或者在表格中触发一个函数。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

为了解决这个问题,我刚刚在Sheets中创建了一个函数,可以按照我需要的方式重新创建数据表。然后,我为该功能设置了一个触发器,只要源数据发生更改,该触发器就可以运行。 源数据是这样的:

enter image description here

功能是这样的:

  function reformatUsersForPieChart() {
    var sheet = getSheetReference('data-ga-top-level-new-v-users-ALT'); // this is the analytics from google
    var target_sheet = getSheetReference('data-ga-top-level-new-v-users-FINAL');

    var ypos = 2,
        newdata = [];

    // clear out the target sheet
    var start = 1, end;
    end = target_sheet.getLastRow(); 
    //blank rows after last row with content will not be deleted
    if (end > start) target_sheet.clear(); //deleteRows(start, end);

    // create header row
    newdata.push(["Date", "Type of User", "Uaer Count"]);

    while (sheet.getRange(ypos, 1).getValue() != "") {
        newdata.push([sheet.getRange(ypos, 1).getValue(), "Users", sheet.getRange(ypos, 2).getValue()])
        newdata.push([sheet.getRange(ypos, 1).getValue(), "New Users", sheet.getRange(ypos, 3).getValue()])

        ypos++;
    }

    target_sheet.getRange(1, 1, newdata.length, newdata[0].length).setValues(newdata);
}

,结果表是这样的:

enter image description here