Power BI 疑難雜症: hresult 0x80040e4e
萬年沒更新,終於又抓到一點時間來分享,目前仍在HR單位底下擔任推動數位轉型的小小螺絲釘,開發看板給予高級主管進行決策參考,Power BI便是工作場域中,不可或缺的重要腳色了,網路上的大神比比皆是,無論是DAX語法應用或者Power Query的應用網路上有許許多多的資源在此也不賣弄大刀,但相對少數提到的Error是HRESULT 0x80040e4e,
這Error是工程師的惡夢,每每碰到總讓人措手不及,資料排程沒有任何更動卻又殺得你措手不及,像班上的惡霸,讓你一整天都無法心安理得開會、研究,但隨著筆者經驗累積,也慢慢有其應對之道了,還請看下去~
如圖所示,BI工程師碰到這問題時常抱頭不知如何是好:
多數開發人員看到這種類型的result,又看到ODBC會以為是資料渠道出現問題,但事實上卻並非如此,但多方探究之後其實是因為欄位性質異動原因:
- 欄位文字格式變動: Encoding 變動(UTF-8~Big5)
- 欄位本身格式變動: 由日期變成Binary 二元 ,本次Error即是因為某張表的日期格式因為資料變為空集合,導致欄位變成binary
- 綜合前兩項變動,導致表間關聯出問題,請參考:https://www.youtube.com/watch?v=iVY1GkiYs-U&ab_channel=JessieWang
建議解決方向如下:
回想最近一次的更新做的更動有哪些?
- 是否新增某些資料集?
- 將新增的資料集刪除後再行更新會否成功?
如果前兩個順利了,就表示error導因於近期更新的資料集,再去擒賊頭確認資料源頭即可。
這次避免空集合的資料源頭被誤判,做了兩項處理:
- if {nrow(dataframe) == 0} {dataframe[1,1] < - “XXXX”} 空集合賦值
- 將Excel檔改為CSV檔,Power Query會預判Excel的資料格式,CSV則不會,故作此調整
以上,解決噩夢了嗎?哈哈
留言
張貼留言