¿Cómo usar el script R que lee desde .csv como fuente de datos?

Un usuario Pregunto ✅

RMel

Estoy tratando de usar un script R como fuente de datos para Power BI. Soy un usuario habitual de R pero soy nuevo en Power BI.

Cuando todos los conjuntos de datos importados por el script R provienen de bases de datos SQL, puedo importar correctamente los marcos de datos resultantes del script R, sin embargo, tengo un script que lee un archivo .csv que la sesión R de Power BI no puede encontrar, lo cual da como resultado el error:

Error: 'times_of_day_grid.csv' does not exist in current working directory ('C:/Users/MyUserName/RScriptWrapper_ac2d4ec7-a4f6-4977-8713-10494f4b0c4f').

El archivo .pbix y el script R se almacenan en la misma carpeta que el csv

He intentado configurar manualmente el wd insertando en el script:

setwd("C:/Users/MyUserName/Documents/R/Projects/This Project Folder")

Pero esto solo da como resultado el mensaje.

"Connecting - Please wait while we establish a connection to R"

Que luego se convierte en:

Unable to connect

We encountered an error while trying to connect.

Details: "ADO.NET: R execution timeout. The script execution was terminated, since it was running for more than 1800000 miliseconds."

El script R en sí tarda alrededor de un minuto en ejecutarse en RStudio. ¿Alguna idea sobre cómo puedo editar mi secuencia de comandos (o la configuración en Power BI) para solucionar esto? (Sé que puedo importar el csv como fuente por separado, pero en realidad no lo quiero como fuente de datos, solo quiero el marco de datos resultante creado por el script R).

Hola @RMel,

¿Está resuelto este problema?

Si se resuelve, acepte siempre las respuestas que tengan sentido como solución a su pregunta para que las personas que puedan tener la misma pregunta puedan obtener la solución directamente.

Si no es así, por favor hágamelo saber.

Atentamente
Helado

Hola @RMel,

Lo he probado de mi lado y funciona bien.

csvfile <- read.csv("D:\CSVFile.csv")

r-csv.gif

library(rio)
csvfile <- import("D:\CSVFile.csv")

r-csv-importar.gif

Por favor verifique las limitaciones: Ejecutar scripts R en Power BI Desktop.

  • Solo se importan marcos de datos, así que asegúrese de que los datos que desea importar a Power BI estén representados en un marco de datos;
  • Las columnas que se escriben como Complejo y Vector no se importan y se reemplazan con valores de error en la tabla creada;
  • Los valores que son N/A se traducen a valores NULL en Power BI Desktop;
  • Se agota el tiempo de espera de cualquier secuencia de comandos R que se ejecute durante más de 30 minutos;
  • Las llamadas interactivas en el script R, como esperar la entrada del usuario, detiene la ejecución del script;
  • Al configurar el directorio de trabajo dentro del script R, usted debe definir una ruta completa al directorio de trabajoen lugar de una ruta relativa.

r-csv-opción.PNG

Atentamente,

Helado

Si esta publicación ayudaentonces por favor considere Acéptalo como la solución. para ayudar a los otros miembros a encontrarlo más rápidamente.

RMel

En respuesta a Helado

Hola Icey,

¡Muchas gracias por tu respuesta!

Me aseguré de usar el directorio de trabajo completo para la ruta csv y no hay partes interactivas del script que requieran la entrada del usuario. La secuencia de comandos tarda unos 3 minutos en ejecutarse en RStudio, por lo que dudo que tarde más de 30 minutos en PowerBI. Todos los datos que me gustaría importar están en marcos de datos creados por el script, y los tipos de datos para las columnas deben estar en formato de factor, carácter, numérico o POSIXct.

Supuse que el problema se debía a la importación de csv en lugar del procesamiento de datos posterior a la importación, pero parece que ese no es el caso. Intentaré crear una versión mínima del script que solo implique importar el CSV por sí mismo y si esto funciona, agregue gradualmente el resto de los pasos de procesamiento para verificar dónde está el problema.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *