Forum Discussion
Actualizar no ejecutar script de R
Hola, tengo datos que se actualizan todos los días, pero quiero almacenar valores históricos para que no se sobrescriban. La forma en que estoy tratando de hacer esto es exportar mi conjunto de datos y anexarlo a un archivo csv, con una columna agregada que incluye la hora de la extracción. Esto funciona cuando hago clic en "actualizar vista previa" en el editor de consultas. Sin embargo, cuando golpeo refresh en la vista de escritorio normal parece estar omitiendo los pasos del script de R, ya que el csv no se modifica de ninguna manera. ¿Me falta algún ajuste?
Además, ¿alguien ha probado esto con la actualización programada?
5 Replies
- v-lid-msft
Community Support
Hola @oslosa ,
Lo sentimos, pero no podemos reproducir este problema de mi lado con los siguientes pasos, exporta un archivo csv correctamente mediante la actualización en la vista Power Query y escritorio.
Estos son los pasos,
- escriba una tabla simple en Power Query.
- Luego ejecutamos el script R para exportar el archivo csv,
df <- data.frame(name = c("Jon", "Bill", "Maria"),age = c(23, 41, 32)) write.csv(df,"D:\\MyData.csv", row.names = FALSE)- En Power Query, probamos la actualización.
Y probamos la actualización en la vista Escritorio,
¿Podría intentar reproducir este problema con un script de R simple y la versión más reciente de Power BI Desktop?
Estas son las consultas que utilizamos, como referencia:
let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45W8srPU9JRMjJWitWJVnLKzMkB8kwMwTzfxKLMRCDX2EgpNhYA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [name = _t, age = _t]), #"Changed Type" = Table.TransformColumnTypes(Source,{{"name", type text}, {"age", Int64.Type}}), #"Run R script1" = R.Execute("df <- data.frame(name = c(""Jon"", ""Bill"", ""Maria""),age = c(23, 41, 32))#(lf)write.csv(df,""D:\\MyData.csv"", row.names = FALSE)",[dataset=#"Changed Type"]), #"df1" = #"Run R script1"{[Name="df"]}[Value] in #"df1"
Saludos- oslosa
Helper I
@v-lid-msft , probé su código y funciona. También funciona cuando modifico de write.csv a write.table y agrego append-TRUE, que es lo que he utilizado en mis datos. Parece estar actualizando y actualizando el csv tanto en el editor de consultas, vista de escritorio y a través de la actualización programada, aunque la creación de algunos duplicados.
Para mi conjunto de datos (que es sólo 130kb) experimento lo siguiente:
1. El archivo csv se actualiza cuando actualizo desde el editor de consultas
2. El archivo csv se actualiza cada vez que abro el archivo .pbix (lo que es sorprendente y no sucede con su ejemplo)
3. El archivo csv no se actualiza cuando actualizo desde el escritorio
4. El archivo csv no se actualiza cuando ejecuto la actualización programada en la versión en línea.
¿Alguna idea? Parece que las actualizaciones se almacenan como trabajos pendientes hasta que cierro y abro el archivo pbix.
Como referencia estoy ejecutando esto:
• 'dataset' contiene los datos de entrada para este script
df <- data.frame(dataset)
write.table(df,"H:/Power BI/ProdData.csv",sep á ",", col.names á !file.exists("H:/Power BI/ProdData.csv"), anexar á TRUE)donde el origen de datos es una tabla de 130 kb de SAP Business Warehouse.
- Jessesmith4410Frequent Visitor
Tener exactamente el mismo problema. Apreciaría una explicación y arreglo.
J
- Syndicate_Admin
Administrator
También teniendo este problema, ¿se ha encontrado una solución?
Consulta de R que estoy usando
install.packages("openxlsx") library("openxlsx") write.xlsx(dataset, "removed this but is a valid directory", asTable = TRUE, overwrite = TRUE)Cuando actualizo la vista previa en Power Query, el archivo se crea / sobrescribe correctamente.
Sin embargo, al actualizar con powerBI Desktop, el archivo no se crea ni se sobrescribe