可覆寫的設定參數

可覆寫的設定參數可讓報表編輯者修改資料來源中的預設值。將設定參數定義為可覆寫,可讓資料來源更具彈性,並讓使用者建立可設定的報表範本。

舉例來說,提供天氣資料的連接器可以包含位置參數,讓報表檢視者要求取得非預設地區的天氣報表。

本文說明如何定義可覆寫的參數、啟用修改功能,以及報表使用者如何修改參數值。如要進一步瞭解 Looker Studio 如何使用參數,請參閱「資料來源參數」。

角色

本文件中提及的使用者角色如下:

角色 定義
連接器開發人員 建立社群連接器的使用者。
資料來源擁有者 建立及擁有資料來源的使用者。
報表編輯器 有權以編輯模式存取報表的使用者。
報表檢視器 有權以檢視模式存取報表的使用者。

定義可覆寫的參數

連接器開發人員會在社群連接器的 getConfig() 函式中定義設定參數。如要將設定參數定義為可覆寫,連接器會呼叫 setAllowOverride(true)

下列範例定義了 2 個可覆寫的參數:zipcodeunits,以及 1 個不可覆寫的參數:days-to-forcecast

2 個可覆寫參數的螢幕截圖

function getConfig(request) {
  var config = cc.getConfig();

  // A
  config
      .newTextInput()
      .setId("zipcode")
      .setName("ZIP Code")
      .setAllowOverride(true);

  // B
  config
    .newSelectSingle()
    .setId("units")
    .setName("Units")
    .addOption(
        config
          .newOptionBuilder()
          .setLabel("Metric")
          .setValue("metric")
    )
    .addOption(
      config
        .newOptionBuilder()
        .setLabel("Imperial")
        .setValue("imperial")
    )
    .setAllowOverride(true);

  // C
  config
    .newTextInput()
    .setId("days-to-forecast")
    .setName("Days to forecast")
      .setAllowOverride(false);


  return config.build();
}

避免將參數定義為可覆寫的時機

建議您先參閱「Looker Studio 如何連結至您的資料」,瞭解連接器、資料來源和報表之間的關係。

請避免在下列情況下將參數定義為可覆寫:

  1. 參數值會影響結構定義。
    • 如果使用者變更參數值,且傳回的新資料結構與資料來源中定義的結構不同,則任何依附於資料來源的報表都可能因缺少欄位而無法運作。
  2. 如果參數值控管敏感資料,例如選取帳戶。
    • 如要避免無意間查看或分享私密資料,請勿將參數定義為可覆寫。

為報表使用者啟用參數

資料來源擁有者可控管報表編輯者可修改的覆寫參數。同樣地,報表編輯者可以控管報表檢視者可修改的參數。

允許報表編輯者修改參數值

資料來源擁有者可控管報表中允許修改的參數。這項設定是在建立或編輯資料來源時設定,且僅適用於連接器開發人員定義為可覆寫的參數。啟用後,報表編輯者就能修改報表中的參數

在以下範例中,連接器有 2 個參數定義為可覆寫:zipcodeunits資料來源擁有者只允許在報表中修改 zipcode。在報表中,報表編輯者可以修改 zipcode 參數值。

啟用覆寫選項

允許報表檢視者修改參數值

報表編輯器可控管報表檢視者可修改的參數。 報表檢視者可以透過報表網址修改參數值。

舉例來說,假設連接器有 2 個可覆寫的參數:zipcodeunits (圖 1)。如果資料來源擁有者已允許在報表中修改 zipcode (圖 2),則報表編輯者只能允許報表檢視者修改 zipcode報表編輯器不會提供存取權或顯示權限,讓報表檢視者修改 units 參數。

已啟用郵遞區號參數
圖 1:連接器設定。

只有郵遞區號參數可以修改
圖 2:管理參數。

網址參數

如要允許報表檢視者透過報表網址編輯參數值,請按照下列步驟操作:

  1. 編輯報表。
  2. 選取「資源」->「管理報表參數」
  3. 勾選「允許在報表網址中修改」核取方塊,允許或禁止在報表網址中修改參數值。系統會自動儲存變更。
  4. 按一下右上角的「關閉」

修改參數值

報表編輯者可以使用報表屬性面板修改參數值,報表檢視者則可以透過報表網址修改參數值。

「報表屬性」面板

如要瞭解報表編輯者如何設定參數值,請參閱「修改報表中的參數」。

報表網址參數

如要設定允許在報表網址中修改的參數值,請在檢視模式中,將網址編碼的 JSON 物件附加至報表網址。

如要建立網址設定,請按照下列步驟操作:

  1. 收集參數名稱

    1. 編輯報表。
    2. 選取「資源」->「管理報表參數」
    3. 請記下您打算透過報表網址設定的參數名稱。

    舉例來說,在下圖中,參數名稱為 ds0.zipcode

    啟用網址參數

  2. 建立參數物件

    參數是透過 JSON 物件定義。參數值的鍵是參數名稱。

    {
      "parameterName": parameterValue
    }
    

    參數值類型為 STRINGNUMBERBOOLEAN。對於接受多個值的參數 (即多選下拉式選單),請使用值陣列。

    舉例來說,如果參數名稱為 ds0.zipcode,要將郵遞區號設為 94094,JSON 如下:

    {
      "ds0.zipcode": "94094"
    }
    
  3. 對參數物件進行網址編碼

    建立參數物件後,請使用 JSON.stringify() 將其轉換為字串,然後使用 [encodeURIComponent] 進行網址編碼。

    var params = {
      "ds0.zipcode": "94094"
    };
    var paramsAsString = JSON.stringify(params);
    var encodedParams = encodeURIComponent(paramsAsString)
    

    這會產生下列編碼字串:

    "%7B%22ds0.zipcode%22%3A%2294094%22%7D"
    
  4. 建立報表網址

    取得網址編碼參數物件後,請使用 params 查詢參數,將該物件附加至報表資料檢視網址。

    https://lookerstudio.google.com/reporting/REPORT_ID/page/PAGE_ID?params=%7B%22ds0.zipcode%22%3A%2294094%22%7D

    請務必將 REPORT_IDPAGE_ID 換成報表和網頁的值。

  5. 使用網址

    報表網址會根據參數沿用,覆寫 JSON 參數物件中定義的參數。

參數物件範例

下列參數物件顯示如何設定多個參數。並說明如何為不同輸入類型設定參數值。

  • ds0.includeToday 是核取方塊輸入內容
  • ds0.units 是單選輸入內容
  • ds1.countries 是複選輸入內容
  • ds1.labelName 是文字輸入內容。
  {
    "ds0.includeToday": true,
    "ds0.units": "Metric",
    "ds1.countries": ["Canada", "Mexico"],
    "ds1.labelName": "Population"
  }

參數繼承

參數所用的值會依據參數的設定位置,遵循優先順序。在優先順序較高的位置設定的參數,會覆寫在優先順序較低位置設定的參數。優先順序 (由低至高) 如下:

  1. 資料來源 (預設)
  2. 報表網址
  3. 報表屬性面板,遵循資料來源參數沿用規則。