簡體   English   中英

使用 Power BI 服務中的 R 腳本將 CSV 文件導出到 OneDrive

[英]Export CSV file to OneDrive Using R Scripting in Power BI Service

我正在嘗試在 Power BI 中構建一個完全自動化且可持續的報告工具。 我在 Power BI 中構建了一份報告,除其他外,它在某一點使用 R 腳本來創建到我本地 C: 驅動器的數據導出,其代碼如下:

# 'dataset' holds the input data for this script
.libPaths(.libPaths()[3])
require(gdata)
write.table(trim(dataset), file="C:\\Users\\Username\\OneDrive\\Folder\\Inventory Log.csv", sep=",", row.names=FALSE, append=TRUE, col.names=FALSE)
plot(dataset);

雖然我的所有其他數據都通過 OneDrive 或在線資源連接到 PBI,但它仍然連接到我的本地機器。 我有個人網關設置,但這仍然需要我的本地計算機在 PBI 服務的計划刷新期間物理打開。

我試過使用 Microsoft365R Package,但我的 R 知識和經驗仍然有限,所以我無法想出一個解決方案,允許write.table() function 中的file="OneDrive Path"在 Power 上成功執行BI 桌面,更不用說 Power BI 服務了。

目標是完全自動化,不需要我在周末或非工作日打開電腦。

是否可以將 csv 寫入 OneDrive 文件? 如果是這樣,有哪些成功的方法?

有任何想法嗎? 感謝您提供任何幫助!

Microsoft365R 作者在這里。 免責聲明:我對 PowerBI 不熟悉,但我假設您可以在其中運行 R 腳本並連接到 Inte.net 等。

要讓它在無人值守的情況下運行,需要做一些事情。

一個function上傳一個數據框為CSV到Onedrive,不需要你登錄,如下:

upload <- function(dataset, upload_path, drive_id, ...)
{
  outfile <- tempfile()
  on.exit(unlink(outfile))
  write.table(dataset, outfile, ...)

  library(Microsoft365R)
  library(AzureGraph)

  gr <- create_graph_login(
    tenant="{yourtenant}",
    app="{client_id}",
    password="{client_secret}",
    auth_type="client_credentials"
  )
  gr$get_drive(drive_id)$upload_file(outfile, upload_path)
}

在 AAD 端,創建應用程序注冊並為其提供客戶端密碼(密碼)。 然后,您授予它讀取驅動器所需的 Microsoft Graph 應用程序權限——很可能是"Files.Readwrite.All"

記下您的應用程序注冊的客戶端 ID 和客戶端密碼。 這些是您插入上面 R function 的值。

您可以使用以下 R 代碼獲取您的驅動器 ID。

drv <- get_business_onedrive(tenant="yourtenant")
drv$properties$id

您可能需要友好的本地管理員的幫助才能完成所有這些工作,即使僅僅是因為大多數組織都鎖定了注冊應用程序的能力。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM