可覆寫的設定參數可讓報表編輯者修改資料來源中的預設值。將設定參數定義為可覆寫,可讓資料來源更具彈性,並讓使用者建立可設定的報表範本。
舉例來說,提供天氣資料的連接器可以包含位置參數,讓報表檢視者要求取得非預設地區的天氣報表。
本文說明如何定義可覆寫的參數、啟用修改功能,以及報表使用者如何修改參數值。如要進一步瞭解 Looker Studio 如何使用參數,請參閱「資料來源參數」。
角色
本文件中提及的使用者角色如下:
角色 | 定義 |
---|---|
連接器開發人員 | 建立社群連接器的使用者。 |
資料來源擁有者 | 建立及擁有資料來源的使用者。 |
報表編輯器 | 有權以編輯模式存取報表的使用者。 |
報表檢視器 | 有權以檢視模式存取報表的使用者。 |
定義可覆寫的參數
連接器開發人員會在社群連接器的 getConfig()
函式中定義設定參數。如要將設定參數定義為可覆寫,連接器會呼叫 setAllowOverride(true)
。
下列範例定義了 2 個可覆寫的參數:zipcode
和 units
,以及 1 個不可覆寫的參數:days-to-forcecast
。
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 如何連結至您的資料」,瞭解連接器、資料來源和報表之間的關係。
請避免在下列情況下將參數定義為可覆寫:
- 參數值會影響結構定義。
- 如果使用者變更參數值,且傳回的新資料結構與資料來源中定義的結構不同,則任何依附於資料來源的報表都可能因缺少欄位而無法運作。
- 如果參數值控管敏感資料,例如選取帳戶。
- 如要避免無意間查看或分享私密資料,請勿將參數定義為可覆寫。
為報表使用者啟用參數
資料來源擁有者可控管報表編輯者可修改的覆寫參數。同樣地,報表編輯者可以控管報表檢視者可修改的參數。
允許報表編輯者修改參數值
資料來源擁有者可控管報表中允許修改的參數。這項設定是在建立或編輯資料來源時設定,且僅適用於連接器開發人員定義為可覆寫的參數。啟用後,報表編輯者就能修改報表中的參數。
在以下範例中,連接器有 2 個參數定義為可覆寫:zipcode
和 units
。資料來源擁有者只允許在報表中修改 zipcode
。在報表中,報表編輯者可以修改 zipcode
參數值。
允許報表檢視者修改參數值
報表編輯器可控管報表檢視者可修改的參數。 報表檢視者可以透過報表網址修改參數值。
舉例來說,假設連接器有 2 個可覆寫的參數:zipcode
和 units
(圖 1)。如果資料來源擁有者已允許在報表中修改 zipcode
(圖 2),則報表編輯者只能允許報表檢視者修改 zipcode
。報表編輯器不會提供存取權或顯示權限,讓報表檢視者修改 units
參數。


網址參數
如要允許報表檢視者透過報表網址編輯參數值,請按照下列步驟操作:
- 編輯報表。
- 選取「資源」->「管理報表參數」。
- 勾選「允許在報表網址中修改」核取方塊,允許或禁止在報表網址中修改參數值。系統會自動儲存變更。
- 按一下右上角的「關閉」。
修改參數值
報表編輯者可以使用報表屬性面板修改參數值,報表檢視者則可以透過報表網址修改參數值。
「報表屬性」面板
如要瞭解報表編輯者如何設定參數值,請參閱「修改報表中的參數」。
報表網址參數
如要設定允許在報表網址中修改的參數值,請在檢視模式中,將網址編碼的 JSON 物件附加至報表網址。
如要建立網址設定,請按照下列步驟操作:
收集參數名稱
- 編輯報表。
- 選取「資源」->「管理報表參數」。
- 請記下您打算透過報表網址設定的參數名稱。
舉例來說,在下圖中,參數名稱為
ds0.zipcode
。建立參數物件
參數是透過 JSON 物件定義。參數值的鍵是參數名稱。
{ "parameterName": parameterValue }
參數值類型為
STRING
、NUMBER
或BOOLEAN
。對於接受多個值的參數 (即多選下拉式選單),請使用值陣列。舉例來說,如果參數名稱為
ds0.zipcode
,要將郵遞區號設為94094
,JSON 如下:{ "ds0.zipcode": "94094" }
對參數物件進行網址編碼
建立參數物件後,請使用 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"
建立報表網址
取得網址編碼參數物件後,請使用
params
查詢參數,將該物件附加至報表資料檢視網址。https://lookerstudio.google.com/reporting/REPORT_ID/page/PAGE_ID?params=%7B%22ds0.zipcode%22%3A%2294094%22%7D
請務必將 REPORT_ID 和 PAGE_ID 換成報表和網頁的值。
使用網址
報表網址會根據參數沿用,覆寫 JSON 參數物件中定義的參數。
參數物件範例
下列參數物件顯示如何設定多個參數。並說明如何為不同輸入類型設定參數值。
ds0.includeToday
是核取方塊輸入內容ds0.units
是單選輸入內容ds1.countries
是複選輸入內容ds1.labelName
是文字輸入內容。
{
"ds0.includeToday": true,
"ds0.units": "Metric",
"ds1.countries": ["Canada", "Mexico"],
"ds1.labelName": "Population"
}
參數繼承
參數所用的值會依據參數的設定位置,遵循優先順序。在優先順序較高的位置設定的參數,會覆寫在優先順序較低位置設定的參數。優先順序 (由低至高) 如下:
- 資料來源 (預設)
- 報表網址
- 報表屬性面板,遵循資料來源參數沿用規則。