在視覺效果中新增顯示警告圖示
在 Power BI 視覺效果中,顯示警告圖示可以通知使用者可能發生的問題或錯誤。 顯示警告圖示在許多情況下很有用,例如:
當值超出緯度或經度有效範圍時,地圖視覺效果可以顯示警告圖示。
圓形圖視覺效果在顯示與正值混合的負值時,會顯示警告圖示。
計算無限大值時,笛卡兒圖表可以顯示警告圖示。 例如,如果 Y 為零,則 X 除以 Y 時,結果為無限大。
當圖示出現時,使用者可以將滑鼠停留在圖示上方,以查看警告訊息的標題。
當使用者選取警告圖示時,描述問題的訊息隨即出現在彈出視窗中。
建立警告圖示
您可以使用自訂視覺效果的自訂訊息來建立警告圖示。 您可自行決定是否要引發警告圖示。 如這些範例所示,視覺效果會在顯示警告圖示時繼續運作。
新增對更新方法的呼叫
若要將顯示警告圖示新增至視覺效果,請叫用 displayWarningIcon
方法。 方法是 IVisualHost
的一部分,而且會使用 powerbi-visuals-api
公開。
將下列匯入新增到您的檔案:
import powerbiVisualsApi from "powerbi-visuals-api";
新增匯入之後,請新增條件,以決定何時要顯示警告圖示。 使用本文中的範例來檢視兩個選擇性條件。
範例 1:檢查語言相容性
當地語系化是用來在客戶的原生語言中顯示視覺效果,這取決於作業系統設定。
在此範例中,視覺效果會將設定為美式英文的視覺效果語言與作業系統的語言進行比較。 如果語言不相符,則會顯示警告圖示。
if (this.locale != 'en-US') {
this.host.displayWarningIcon('Language inconsistency', 'This visual supports only US English. For the visual to work as expected, set your browser's language to US English.');
}
範例 2:比較連續資料行中的色彩
在此範例中,當兩個相鄰的資料行具有相同色彩時,會顯示警告圖示。
getColumnColorByIndex
方法會逐一查看所有資料行。 如果兩個相鄰的資料行具有相同的色彩,則會顯示警告圖示。
let category = options.dataViews[0].categorical.categories[0];
let dataValue = options.dataViews[0].categorical.values[0];
let colorPalette = this.host.colorPalette;
for (let i = 0, len = Math.max(category.values.length, dataValue.values.length); i < len-1; i++) {
const color1: string = getColumnColorByIndex(category, i, colorPalette);
const color2: string = getColumnColorByIndex(category, i+1, colorPalette);
if (color1 == color2) {
this.host.displayWarningIcon('Adjacent columns have the same color.', 'Columns that are next to each other have the same color. To change a column's color, use the data colors option in the Format tab.');
}
}
考量與限制
某些錯誤和警告不是由視覺效果所造成。 例如,太多值。未顯示所有資料錯誤衍生自 Power BI 服務。 這類錯誤和警告會在您視覺效果的呼叫之前進行傳播。 其優先順序高於源自您視覺效果程式碼的錯誤。 如果在載入資料時發生錯誤,則在執行視覺效果的程式碼並符合顯示警告圖示條件之前,視覺效果會顯示該錯誤,而不是顯示警告圖示錯誤。
顯示警告會在視覺效果的每個轉譯期間清除,例如,當新的資料拖曳至視覺效果時。 在呈現視覺效果之後,會叫用視覺效果的
update()
方法。 如果視覺效果的警告是根據更新方法中簽入的條件引發,則每次呈現視覺效果時,如果符合條件,視覺效果就會再次顯示警告。調整視覺效果的大小不會影響警告圖示。
下列限制是指顯示圖示文字:
標題的長度上限是 70 個字元
文字的長度上限是 2,000 個字元
文字只會顯示為純文字