[英]R script in Power BI returns date as Microsoft.OleDb.Date
為什么 Powerbi 會像這樣顯示2017-01-04
( yyyy-mm-dd
) 形式的數據?
我正在嘗試使用Edit Query
的Run R Script
功能轉換 Power BI 中的表。 該表的來源是一個 csv 文件,其中一列的日期格式為2017-01-04
( yyyy-mm-dd
):
2017-01-04
2017-01-03
2017-01-02
2017-01-01
2016-12-31
2016-12-30
2016-12-29
2016-12-28
2016-12-27
2016-12-26
2016-12-25
2016-12-24
2016-12-23
2016-12-22
使用Get Data
,Power BI 顯示相同的日期列,如下所示:
打開Edit Query window
,同樣的日期列仍然如下所示:
但是,當嘗試使用相同的數據運行 R 腳本時,該列僅包含“值” Microsoft.OleDb.Date
如下所示:
我正在運行的 R 腳本很簡單:
# 'dataset' holds the input data for this script
output <- head(dataset)
如果我嘗試更改數據類型,則會返回錯誤:
這一切對我來說似乎很奇怪,而且我還沒有使用 Google 找到合理的解釋。
有什么建議?
上周我在這個答案上徘徊,發現它對我不起作用。 我會收到來自 R 腳本的錯誤消息,指出“字符串不是標准的明確格式”。 我假設這是由於自原始答案以來 Power BI 多年來發生了許多更新,因為據我所知,所有日期都采用完全相同的格式(如果我運行,則不會發生此錯誤R/RStudio 中的數據)。 我想我會把我的解決方案留給像我一樣遇到這種情況的人。
我做了與vestland的解決方案完全相同的事情,除了將數據類型更改為文本之外,我必須將其更改為整數:
1) 編輯查詢。 2) 將所有日期列轉換為“整數”。 3) 運行 R 腳本,並將日期列從數字轉換為日期:
在 R 中,這要求您使用 as.Date() 或 lubridate::as_date(),並帶有 origin 參數 origin = "1899-12-30" 以在從整數轉換回日期時獲得正確的日期。 (這是起源而不是“1900-01-01”,因為我聽說 Excel/Power BI 不考慮 20 世紀初的兩個閏年。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.