你有想過將智能家居和 Tableau 結合么?Tableau 愛好者 Ann Jackson 就在自己家中,嘗試實現將智能家居系統與 Tableau 儀表板集成在一起。根據燈光顏色非常“酷炫的”展示儀表板中的數據信息。想知道她如何腦洞大開?一起來看看!
Ann Jackson 曾在 Twitter 上發布了一個視頻,展示了如何將智能家居系統與 Tableau 儀表板集成在一起。視頻的內容就是三個燈泡的燈光顏色會隨著儀表板中 KPI 結果的改變而動態變化。
她將照明設備連接到 Tableau 儀表板的原因除了 “比較酷炫” 之外 —— 還有一些很實際的原因。使用類似燈光的東西能夠輕松表示 KPI 或 BAN ( Big ass number ) 的狀態,讓用戶迅速理解數據信息!
實現這種展現方式,需要哪些準備工作?
為了實現智能家居系統和 Tableau 之間的集成,Ann Jackson使用了 Python 。因為已經有人開發了庫并將它們發布到 GitHub 上共享,所以Python 非常適合這種情況。另外一個原因是 TabPy,它允許您連接到 Python 服務器并通過計算字段運行本地 Python 代碼。這些計算字段將在 Tableau 工作表中作為表計算。一般來說,當您將 Tableau 與 Python 結合使用時,您會得到一個數字 / 字符串 / 布爾值。
當然,這不代表您不能拓展 TabPy 的功能,或者以其他方式來使用它。這正是這個項目的意義所在。因為這涉及到智能家居和她正在學習的Python,而 Tableau 是她的最愛。所以這個項目對 Ann Jackson 來說也是一個持續項目。
如果您想模仿 Ann 所做的事,那么您需要一些硬件設備。比如飛利浦 Hue 燈和配套的橋接器。理論上您可以使用其他智能家居部件。如果您不熟悉智能家居是什么 - 它基本上是通過橋接器向燈泡,給鎖和恒溫器等設備發出命令。它同時也是一種媒介,將您與智能家居系統(通常是移動應用程序)相連接,并將命令或程序轉換為系統中的元素。具體到這個項目中,Ann 使用 Python 庫與她的橋接器進行交互。她選用的庫是 Phue,這是一個 Python 庫,用于與 Hue API 的交互。
智能家居系統和 Tableau 集成步驟1下載并安裝 Phue 到 TabPy
首先她下載并安裝了 Phue 到 Tableau - Python - Server(又稱為 TabPy)。這樣就可以通過 Tableau 的 Python 腳本調用庫。在安裝過程中,還運行了一個簡單的腳本將庫連接到我的橋接器 – 這是這一切工作的必要步驟。您必須建立起傳輸控件和燈具之間的連接。
2使用 Python 進行測試和驗證
接下來的部分就是輸入代碼,使用 Python 進行測試和驗證誤差,以及體驗 Tableau 的樂趣。以下是最終計算出的結果:
利潤率 KPI - 這是我們都熟悉的指標。我已經完成了基本的利潤率計算,并根據參數進行了計算。計算結果將是 0 或 25000 。數字 0 和 25000 對應于燈泡的顏色輸入。 0 是紅色, 25000 是綠色。
這里是純 Python 的計算字段。在這種情況下,我實際上并沒有使用 Python 來壓縮任何東西并返回結果,所以您會注意到返回參數是一個虛擬數字 1 。
3使用 SCRIPT_INT 函數
您將在 Tableau 編輯器中的計算字段描述中看到它 - 要使用 SCRIPT_INT(或任何 SCRIPT 函數),格式為:將代碼放在引號中,任何輸入或參數都使用 _arg1, _arg2, _argN 。這些參數用逗號隔開。在例子中有一個參數,[ Profit Ratio KPI ],它被分配給了一個代碼。
代碼基本步驟如下:
設置 [ Profit Ratio KPI ] 為 a
導入 phue 庫,以便我們可以使用它
使用橋接器(我內部網絡中服務器的 IP 地址)
將光的飽和度設置為 254 - 這是額外的代碼,但這能確保光線具有全飽和度
將 light hue 設為 a 值
返回1 - 只是為了好玩!
在測試此代碼時,打開 Jupyter notebook,輸入相同代碼以在 Tableau 之外的地方對其進行測試。在正常情況下,可以給 a 分配一個數,運行代碼,并有燈光改變顏色。在 Tableau 中,則必須調用參數的第一個變量 “ [ 0 ] ” 。因此,為了分離出想要的結果,必須在一個變量列表中指定想要的元素。所以 Ann 的 KPI 結果實際上就像 Python 符號中的[ 25000 ],被稱為 _arg1 [0](non-Python folk:Python 的變量從 0 開始)。
從字面上看,所有事情都是在設置和構建 Tableau 組件。構建 BAN 并添加參數以動態輸入目標變量。在輸入正確的代碼后,其他所有內容都將連接并正常工作。以下是其中一張 BAN 工作表的樣子:
計算字段未在視圖中的任何其他位置使用。(如果您在默認的工具提示上懸停,結果會顯示 “1”)。
一旦設置了可視化,只需要與儀表板交互此集成就開始生效。在 Ann 發布的視頻中,這個交互速度并不快。這是有原因的 - 從 Tableau 開始接受計算參數,將其傳送到 Python 服務器,然后等待結果返回,這里需要一段時間。
Ann 進行的嘗試非常有借鑒意義,如果你也有相似的想法,不妨參考本文進行下實踐,也許您也能制作出更 “酷炫” 的數據展現形式!這是一個非常簡單的整合和演示,通過幾行代碼,數據驅動的表現就可以存在于物理世界中。這也是物聯網的一種應用,如果你對物聯網有著濃厚的興趣,那還不快來參加本周四 Tableau 舉辦的網絡分享會!
-
智能家居
+關注
關注
1928文章
9606瀏覽量
186084 -
python
+關注
關注
56文章
4807瀏覽量
84957
原文標題:利用 Python 的力量,實現 Tableau 與智能家居系統集成
文章出處:【微信號:TableauChina,微信公眾號:Tableau社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論