Forum Discussion
R script to read query/table
I am trying to read one of the query output/table using R inside script box:
x <- table1$"Col1"
I get this error message: Details: "ADO.NET: R script error. Error: object 'Table1' not found Execution halted
Can someone tell me how to read it?
It is simple :)
The dataset dataframe is made available to the R Transform by Power Query.
I'll see if I can break down further by walking through - here's my query after I connect to a table in my database (supplying SQL in the connection dialog will produce something similar if it runs successfully):
SQL Results
I create a folder called test in the root directory of my hard disk, e.g.:
Empty 'test' folder
In Power Query, I select Transform from the ribbon and then Run R script, e.g.:
Invoking the 'Run R script' transform
I'm now prompted to provide my code. The pre-filled comment in the text box tells me that dataset holds the input data (results of the previous step, i.e. my table), e.g.:
Empty dialog weith pre-filled comment
I want to save the output from my SQL query as results.csv in the test subfolder I created earlier, so I add the code to do this. Because Power Query tells me I can use dataset for this, I can add this to my R code, e.g.:
Utilising the 'dataset' dataframe that Power Query has informed me about
When I click OK, my code will run. Here's what my query looks like now:
I can then navigate to my folder to check I have a file:
results.csv present in my folder
I can verify this is correct by opening it, e.g.:exported .csv in VS Code
Now I know this works, I can refresh my data in Power BI Desktop any time I like and the file will be overwritten in the target location, e.g.:File after refreshing my data, with updated timestamp
I'm hoping that this clarifies things end-to-end.
Regards,
Daniel
10 Replies
- dm-pSuper User
Hi neldarov,
Are you using the R script visual? If so, the data is exposed a dataframe named dataset. Please refer to step #3 in this linked article for reference.
As long as your field name is Col1 then the following would work:
x <- dataset$"Col1"
I've tested with a recent dataset, and the editor will show any fields as part of autocomplete, e.g.: for my test dataset:
Note this code doesn't fully work in Power BI Desktop as it doesn't produce a plot (yet) but it does work if I debug in RStudio, e.g.:
Hopefully this should be all you need.
Good luck!
Daniel