透過分析擴充功能傳遞運算式
從版本 2021.2 開始,可以為任何站台建立多個 Analytics 擴充功能連線。2021.2 之前的版本僅限於任何站台的單個 Analytics 擴充功能。
為分析擴充建立連線後,可透過計算欄位與外部服務溝通。每個計算欄位都使用 SCRIPT 運算式函數,作為表計算。
設定分析擴充功能
Tableau 允許透過一組 SCRIPT 函數連線至分析擴充功能。在將任何 SCRIPT 函數傳遞給分析擴充功能之前,需要設定與該服務的連線。
在 Tableau Desktop 中,按下「說明」 選單,然後選擇「設定與效能」 > 「管理分析擴充功能連線」。
選取要連線的分析擴充功能。MATLAB 連線由分析擴充功能 API 管理。
選取並設定分析服務。
- 若使用 Einstein Discovery,請選取啟用。預設瀏覽器將開啟,允許授權與 Salesforce 的連線。連線後,請前往此說明主題的 Einstein Discovery 部分以繼續。
- 對於所有其他服務(Tabpy、Matlab 和 RServe),將出現以下對話方塊。
使用域或 IP 位址輸入或選取伺服器名稱。
如果您的伺服器使用 SSL 加密,請選取「需要 SSL」選項。Tableau 將會讀取安裝在作業系統金鑰存放區中的憑證,以便建立安全的連線。
附註:連線至 TabPy 或 RServe 時,Tableau 僅支援 PEM 編碼憑證。
指定埠。
連接埠 6311 是純文字 RServe 伺服器的預設連接埠。
連接埠 4912 是 SSL 加密的 RServe 伺服器的預設連接埠。
連接埠 9004 是 TabPy 的預設連接埠。
按一下「測試連線」。
按一下「儲存」。
如果無法建立連線,則會顯示錯誤訊息。 按一下訊息中的「顯示詳細資料」檢視伺服器返回的任何診斷資訊。
在 Web 製作中使用 Analytics 擴充功能
當使用Web 製作來建立或編輯工作簿時,選取「分析」>「管理 Analytics 擴充功能連線」然後選取要用於工作簿的 Analytics 擴充功能。每個工作簿只能使用一個 Analytics 擴充功能。
- 有關 Tableau Server,請參閱「使用分析延伸模組設定連線」(Windows(連結在新視窗開啟) | Linux(連結在新視窗開啟))。
Einstein Discovery
Einstein Discovery 是 Salesforce 中一款強大的分析工具,可利用機器學習來提供見解和預測。Einstein Discovery 需要 Einstein Analytics Plus 授權、Tableau CRM Plus 授權或 Einstein Predictions 授權,這些授權需要額外付費才可使用。有關相關資訊,請參閱存取要求。
有關 Einstein Discovery 的詳情,請參閱 Salesforce 說明中的 Discovery 入門(連結在新視窗開啟)以及使用 Einstein Discovery 進行詮釋、預測並執行動作(連結在新視窗開啟)。也可以透過 Trailhead(連結在新視窗開啟) 中的使用 Einstein Discovery 取得見解(連結在新視窗開啟)學習路徑來擴充自己的知識。
附註:Tableau 中的 Einstein Discovery 由 salesforce.com(連結在新視窗開啟) 提供支援。有關適用條款,請參閱與 salesforce.com(連結在新視窗開啟) 的合約。
在 Tableau 中整合 Einstein Discovery 模型
透過將 Tableau 連線到 Einstein Discovery Analytics 擴充功能,可以在計算欄位及 Tableau 表格擴充功能中直接內嵌預測。在 Salesforce 中,使用模型管理器自動產生 Tableau 表計算指令碼,然後將該指令碼貼上到計算欄位中,以供 Tableau 工作簿使用。表計算指令碼可透過呼叫預測 ID 並傳遞模型所需的資料來存取在 Salesforce 中部署的預測模型。
附註:可以選擇在模型管理器生成的指令碼中包含其他參數,以用於表計算或 Tableau 表擴充功能。有關詳細信息,請參閱在模型管理器生成的指令碼中新增可選參數。
在計算中使用預測
開啟 Einstein Discovery Salesforce 帳戶,然後巡覽到「模型管理器」。選取一個模型以整合到 Tableau 中。在模型索引標籤上,選取編輯設定 > 建立 Tableau 表計算。
模型管理器會產生一個指令碼,其中包含要使用的預測定義的 Id、模型中使用的欄位(變數)以及 Tableau 中的相應來源欄位。
按一下複製到剪貼簿。
在 Tableau 工作簿中,選取分析 > 建立計算欄位,然後將產生的指令碼貼上到「計算編輯器」中。
將每個 ATTR 或 SUM 函數中的欄位名稱取代為 Tableau 資料中相符欄位的名稱,然後儲存計算欄位。
可以像其他任何 Tableau 計算一樣使用該計算。有關詳情,請參閱下方SCRIPT 運算式函數。
指令碼執行時,會將預測請求(具有輸入資料)傳送到 Salesforce 中的預測定義。Einstein Discovery 會將結果傳回到 Tableau,結果會出現在工作表或儀表板中。
在 Tableau 表擴充功能中嵌入預測
模型管理器產生的指令碼也可用於建立 Tableau 表延伸功能。要將模型過濾器生成的指令碼用於表擴充功能,請移除指令碼的 SCRIPT_REAL 部分,僅包括花括號中包含的請求主體。
在模型管理器生成的指令碼中新增可選參數
可以選擇在模型管理器生成的指令碼中包含其他參數。這些參數是完全選用的;該指令碼可以使用或不使用它們。這些可選參數可以與計算字段或表擴充功能一起使用。
選用參數 | 語法 | 說明 |
---|---|---|
maxMiddleValues | "maxMiddleValues": integer | 指定要在響應中返回的頂級預測變量的數量。 設為整數。 僅可用於迴歸和二元分類模型。 |
maxPrescriptions | "maxPrescriptions": integer | 指定要在響應中返回的最大改進數量。 設為整數。 僅可用於迴歸和二元分類模型。 |
showMultiClassProbabilities | "showMultiClassProbabilities": boolean | 選擇是否顯示多類分類模型的概率。 設為 true 或 false。 只能與多類分類模型一起使用。 |
以下示例指令碼顯示瞭如何在計算字段的指令碼中使用這些選用參數。
SCRIPT_REAL(
'{ "modelOrPredictionDefinitionId": "1ORB0000000HC3KOAW",
"columns": ["Postal_Code", "City", "Ship_Mode", "Row_ID", "Profit", "Category", "Sub_Category", "Order_Date", "Quantity", "Ship_Date", "Region", "Sales", "State", "Segment"],
"maxMiddleValues": 3,
"maxPrescriptions": 5,
"showMultiClassProbabilities": false }',
SUM([Postal Code]), ATTR([City]), ATTR([Ship Mode]), SUM([Row ID]), SUM([Profit]), ATTR([Category]), ATTR([Sub-Category]), ATTR([Order Date]), SUM([Quantity]), ATTR([Ship Date]), ATTR([Region]), SUM([Sales]), ATTR([State]), ATTR([Segment])
)
下一個示例演示將此指令碼與表擴充功能一起使用。如果是表擴充功能,僅在大括號中包含指令碼。不要在大括號外包含 SCRIPT_REAL 函數和屬性。
{
"modelOrPredictionDefinitionId": "1ORB0000000HC3KOAW",
"columns": ["Postal_Code", "City", "Ship_Mode", "Row_ID", "Profit", "Category", "Sub_Category", "Order_Date", "Quantity", "Ship_Date", "Region", "Sales", "State", "Segment"],
"maxMiddleValues": 3,
"maxPrescriptions": 5,
"showMultiClassProbabilities": false
}
RServe
R 是開放原始碼軟體程式語言,以及適用於統計運算和圖形的軟體環境。
正在實作 RServe 連線
Tableau Desktop 可以透過純文字或 SSL 加密流量連線至 R。如需使用類型的方向,請諮詢系統管理員。
附註:對於 R 整合,Tableau 已使用 R 版本 3.4 4 至 3.5 1 以及 RServer 版本 0.6-8 至 1.7 3 進行了測試。
RServe 分析擴充功能的中繼憑證鏈結
附註: 使用者不必使用 Tableau Server 將 Tableau Desktop 連線到 RServe。
截至 Tableau Server 版本 2020.1 為止,您必須在透過 Tableau Server 連線到 Rserve 外部連線的 Tableau Desktop 電腦(Windows 和 Mac)上安裝完整的憑證連結。此要求是以 Rserve 在安全連線管理信號握手的方式做為依據。
在 Tableau Desktop 匯入根憑證並不足夠,必須將整個憑證連結匯入用戶端電腦。
MATLAB
MATLAB 是一種可透過分析擴充功能 API 連線的高階語言,與傳統的程式設計語言(例如 C、C++ 和 Fortran)相比,其可讓您以更快的速度執行計算密集型工作。您可以在各種各樣的應用中使用 MATLAB,包括信號和影像處理、通訊、控制設計、測試和測量、金融建模和分析,以及計算生物學。有關如何設定 MATLAB 伺服器以使用 Tableau 的資訊,請與 MATLAB 支援聯絡。
若要閱讀有關在 Tableau 中使用 MATLAB 的可能性的更多資訊,請參閱使 MATLAB 模型和演算法在 Tableau 中起作用(連結在新視窗開啟)。
TabPy
Python 是廣泛用於一般用途程式設計的高階程式設計語言。透過向分析擴充功能傳送 Python 命令,您可以執行預測客戶流失或執行情緒分析等操作。
Tableau Python Server (TabPy) 是 Tableau 的擴展選項擴展範圍的一部分。若要安裝 TabPy,請存取此 GitHub 頁面(連結在新視窗開啟)。若要閱讀有關在 Tableau 中使用 Python 的可能性的更多資訊,請參閱使用 TabPy 組建進階分析應用程式(連結在新視窗開啟)。
SCRIPT 運算式函數
在 Tableau Desktop 中,可以使用一組四個 SCRIPT 函數將運算式傳遞到分析擴充功能並取得結果。這些函數包括:
SCRIPT_BOOL
SCRIPT_INT
SCRIPT_REAL
SCRIPT_STR
有關詳情和範例,請參閱SCRIPT_ functions。
由於連線到分析擴充功能需要消耗網路資源,所以盡可能一次傳遞全部資料是最有效的作法,而不是以單獨列值的方式傳遞。例如,如果將地址設定為 「儲存格」(例如透過按一下檢視中的欄位並選取「計算物件」>「儲存格」),則 Tableau 將對每列 (由視覺效果中的每個標記所創建) 單獨呼叫分析擴充功能。根據資料的大小,這可能會導致大量的個別呼叫。
確保有效呼叫分析擴充最簡單的方法是導航至 「編輯表計算」並選擇「特定維度」,然後選擇每個維度旁邊的方塊來定址維度。這將為整個視覺效果生成一個分析擴充呼叫。任何未勾選的維度都將被分區,從而為每個視覺效果部件生成一個單獨呼叫。如果視覺效果中有許多標記,則在選取維度的同時選取「暫停自動更新」可能會更有利,避免在正確計算之前頻繁運算。
直接查詢外部分析模型
四個函數系列可以直接查詢分析擴充功能中部署的模型。這可以讓您不必將冗長的計算寫入指令碼函數。這些統稱為 MODEL_EXTENSION
函數,就像上面提到的指令碼函數一樣,有 4 個反覆運算:
MODEL_EXTENSION_BOOL
MODEL_EXTENSION_INT
MODEL_EXTENSION_REAL
MODEL_EXTENSION_STR
這四個函數的不同之處僅在於它們傳回的值。例如,MODEL_EXTENSION_BOOL
函數傳回布林值。要使用 MODEL_EXTENSION 函數,需要在外部分析服務中部署模型,並且外部分析服務必須允許直接查詢該模型。
附註:目前,只有 TabPy 模型支援 MODEL_EXTENSION 函數。
MODEL_EXTENSION 函數的組件
有關詳情和範例,請參閱表計算函數。
因為這些 SCRIPT 函數是表計算,所以適用於定址和分區概念。(有關這些概念的說明,請參閱基礎知識:定址和分區。)Tableau 會對每個分區呼叫一個分析擴充功能。這意味著對於要計算分區的每個維度,會對視覺效果中已存在維度的每個成員進行一次呼叫。因此,除非需要分區,否則建議將維度用於定址。
用於已部署模型的自訂函數 Explorer
已部署的模型可以包含結構描述資訊,其中包括描述、它們採用的參數類型、它們的輸出是什麼以及類似的文件。Tableau Desktop 可以讀取該模式並為在 Tableau Desktop 中使用該模型的人提供時間點文件。
例如,已部署的模型 translateToEnglish
可能看起來像這樣:
"translateToEnglish": { "description": "Translates a given input to English", "type": "model", "version": 2, "dependencies": [], "target": null, "creation_time": 1726765000, "last_modified_time": 1726777904, "schema": "{'input': {'type': 'object', 'properties': {'phrase': {'type': 'string', 'description': 'phrase which we would like to translate'}}, 'required': ['phrase']}, 'sample': {'phrase': 'Danke'}, 'output': {'type': 'string', 'description': 'translated phrase'}}", "is_public": true
自訂函數 Explorer 顯示該資訊,並向使用者準確顯示模型的用途以及需要更新哪些內容才能引入資料。
在 Tableau Desktop 中使用自訂函數 Explorer
可能需要執行部分或全部這些步驟,具體取決於目前的設定:
- 部署 TabPy 伺服器。請參閱GitHub 上的 TabPy 文件(連結在新視窗開啟)了解詳情。
- 開啟 Google Analytics (分析) 擴充功能連線。
- 「說明」功能表 >「設定與效能」>「管理 Analytics 擴充連線...」
- 輸入主機名稱和連接埠。
- 開啟新工作簿並連線到資料。
一旦進入具有資料連線且 Google Analytics (分析) 擴充功能連線到正在執行的 TabPy 執行個體的工作簿,就可以使用自訂函數 Explorer:
- 在已連線資料來源的工作表上,前往Google Analytics (分析)功能表 > Google Analytics (分析) 擴充自訂函數 Explorer。
- 選取想要的並按一下複製到剪貼簿按鈕。
- 僅限具有參數
is_public=True
的模型會出現在清單中。預設情況下已啟用此參數。is_public=False
的模型仍然可用作模型擴充計算,只是它們不會出現在自訂函數 Explorer 中。 - 如果自訂函數 Explorer 顯示為空或缺少要使用的已部署模型,請驗證
is_public
對於已部署的模型設定為 True。請參閱GitHub 上的 TabPy 文件(連結在新視窗開啟)了解詳情。 - 如果已部署的模型沒有結構描述,則自訂函數 Explorer 的用處不大,但仍具有複製到剪貼簿選項。
- 建立一個新的計算,並針對該函數貼上複製到剪貼簿的語法。
- 取代任何InputField預留位置,其中包含想要在模型中使用的資料來源中的欄位。
- 請注意,對於所有表計算,需要彙總輸入。對於字串,MIN、MAX 和 ATTR 是可能的彙總。
共用需要分析擴充功能連線的工作簿
您可能需要將包含分析擴充功能的工作簿傳送給其他使用者,這些使用者可能在其他電腦上使用 Tableau Desktop 的不同副本。或者,使用者可從 Tableau Server 下載包含分析擴充功能的工作簿。如果您與他人共用工作簿,對方必須在其電腦上設定分析擴充功能連線。
發布需要分析擴充功能連線的工作簿
- 有關 Tableau Server,請參閱「使用分析延伸模組設定連線」(Windows(連結在新視窗開啟) | Linux(連結在新視窗開啟))。
成功發佈後,必須選取要與工作簿關聯的已設定 Analytics 擴充功能。