Export specific data elements in Excel
Conjointly allows you to export all data at once or export specific data elements individually. This is useful when you only need specific sheets, such as quality risk signals or respondent locations.
Here is how to use R to export specific elements from your experiment as an Excel file.
The example below exports the individually and Quality risk signals sheets.
CONJOINTLY_TOKEN <- "YOUR_TOKEN" # Get a token from https://run.conjoint.ly/utilities/tokens
formulateElements <- function() {
elements <- list(
type = "excel",
numberFormatPreference = TRUE,
colnameFormat = "one_row",
elements = list(
list(type = "special-entity", payload = list(what = "respondent-info", mode = "simplified")),
list(type = "special-entity", payload = list(what = "data-dumps-quality-risk-signals"))
))
return(elements)
}
downloadExport <- function(experiment_id, overwrite = FALSE, filename = "data.xlsx", elements = formulateElements(), TOKEN = CONJOINTLY_TOKEN) {
library(httr)
library(jsonlite)
headers <- add_headers(
`Authorization` = paste("Bearer", TOKEN),
`Content-Type` = "application/json",
`Accept` = "application/json",
`X-Requested-With` = "XMLHttpRequest"
)
cat('Requesting export of data...\n')
exportRequest <- POST(
paste0("https://api.conjoint.ly/api/experiments/", experiment_id, "/export/element"),
headers,
body = toJSON(elements, auto_unbox = T)
) |> content("parsed", encoding = "UTF-8")
# Make sure the export is completed:
repeat {
if (exportRequest$data$status %in% c('completed', 'done')) {
break;
}
Sys.sleep(2)
cat('Checking if file is ready...\n')
exportRequest <- GET(
paste0("https://api.conjoint.ly/api/jobs/", exportRequest$data$id, "/get"),
headers
) |> content("parsed", encoding = "UTF-8")
}
cat('Finding the location of the file on AWS...\n')
intermediateFilename <- exportRequest$data$response$uri
awsFileLocationRequest <- GET(
intermediateFilename,
headers
)
cat('Downloading the file from AWS...\n')
GET(
awsFileLocationRequest$url,
write_disk(filename, overwrite = overwrite)
)
return(awsFileLocationRequest$url)
}
downloadExport(experiment_id, overwrite = TRUE)
The example above exports two elements: Respondent Information and Quality Risk Signals. To customise your export, add or remove items in the elements list inside formulateElements(), and update the what = value for each item using any value from the follwing list:
Available elements
respondent-infoconjoint-dataconjoint-ranked-conceptsinteractive-simulatordata-dumpsdata-dumps-crosstabdata-dumps-questionsdata-dumps-items-of-questionsdata-dumps-stimuli-in-monadic-blocksdata-dumps-answers-to-questionsdata-dumps-answers-to-questions-itemsdata-dumps-owbdata-dumps-twbdata-dumps-twb-weightsdata-dumps-bowbdata-dumps-cbohdata-dumps-cboh-weightsdata-dumps-quality-risk-signalsdata-dumps-respondents-locationsdata-dumps-text-highlights-rawdata-dumps-text-highlights-tabulateddata-dumps-image-heatmap-dotsdata-dumps-image-heatmap-brushesdata-dumps-segment-membershipdata-dumps-design-matrixdata-dumps-model-matrixdata-dumps-raw-responsesdata-dumps-conversational-survey-answers