Hi, I am currently stuck trying to write output from my R script with the R tool. Here's the R code:
# Needed Packages library(prophet) library(dplyr) # Read data df1 <- read.Alteryx("#1",mode="data.frame") # Subset The Relevant fields df <- df1 %>% select("ds", "datasource_id", "y") # A 5 Year Forecasting Model df2 <- df %>% group_by(datasource_id) %>% do(predict(prophet(., interval.width = 0.95), make_future_dataframe(prophet(., interval.width = 0.95), periods = 12*5, freq = "month"))) %>% select(ds, datasource_id, yhat) final_df <- as.data.frame(df2, row.names = NULL) # Write final forecasting Output Back To The Workflow write.Alteryx(final_df, 1)
I get this error when the code tries to write back to the flow:
Error: R (178): There was an error in WriteYXDBStreaming
The code itself seems to be running just fine. It's just getting R and Alteryx to see eye to eye when it comes to writing the final output which seems to be an issue.
Here's the head of the final_df dataset which I'm trying to write in alteryx.
ds datasource_id yhat 1 2016-01-01 153 7.800964 2 2016-02-01 153 8.175739 3 2016-03-01 153 8.369714 4 2016-04-01 153 8.735363 5 2016-05-01 153 8.689885
Any way around this?
Solved! Go to Solution.
It seems the error is from the 'ds' field which is a datetime object in tibble. For some reason Alteryx hates this format so I had to convert it into a date object with this snippet:
final_df <- df2 %>% select(ds, datasource_id, yhat) %>% mutate(ds_1 = as.Date(ds)) %>% select(-(ds)) %>% rename(ds = ds_1) # Convert tibble to dataframe final_df <- as.data.frame(final_df)
Alteryx finally is able to write this dataframe back to the workflow
Recently, we have developed a Prophet Tool in R for more drag & drop features. Hope the R code can be a good reference to you
TL