REST API - Spaces in column names

Solved!
MossandRoy
Level 2
REST API - Spaces in column names

I'm trying to use the REST API to get data. I've been able to get a filter to work on columns with no spaces in them, but I've not yet figured out the right syntax for using a column name containing spaces as part of a parameter.

 

I've tried %20, +, and _x0020_ as the space. I've tried wrapping the column name in parentheses, square brackets, single quotes, double quotes. I'm running out of things to try. Most commonly, I get an "unidentified token" error for the second word in my column name.

 

My call looks like:

...public/api/projects/PROJECT_NAME/datasets/DATASET_NAME/data?format=json&filter=Column+Name == 'abc'

 

Is it possible to use a column name which contains spaces in this way? Thank you in advance!

0 Kudos
1 Solution
ZachM
Dataiker

Hi @MossandRoy,

The issue here is that you need to use the strval or numval function when referencing a column name that contains spaces in a formula.

Example:

 

strval("Column Name") == "abc"

 

 

Here's an example cURL command that automatically encodes the query parameters:

 

curl --get --user 'API_KEY:' \
'http://DSS_HOST/public/api/projects/PROJECT_KEY/datasets/DATASET/data' \
--data-urlencode format='json' \
--data-urlencode filter='strval("Column Name") == "abc"'

 

 

Encoded URL:

 

/public/api/projects/PROJECT_KEY/datasets/DATASET/data?format=json&filter=strval%28%22Column+Name%22%29+%3d%3d+%22abc%22

 

 

Filters are written using the Formula language. You can read more about the available options here: Formula language.

Thanks,

Zach

View solution in original post

0 Kudos
1 Reply
ZachM
Dataiker

Hi @MossandRoy,

The issue here is that you need to use the strval or numval function when referencing a column name that contains spaces in a formula.

Example:

 

strval("Column Name") == "abc"

 

 

Here's an example cURL command that automatically encodes the query parameters:

 

curl --get --user 'API_KEY:' \
'http://DSS_HOST/public/api/projects/PROJECT_KEY/datasets/DATASET/data' \
--data-urlencode format='json' \
--data-urlencode filter='strval("Column Name") == "abc"'

 

 

Encoded URL:

 

/public/api/projects/PROJECT_KEY/datasets/DATASET/data?format=json&filter=strval%28%22Column+Name%22%29+%3d%3d+%22abc%22

 

 

Filters are written using the Formula language. You can read more about the available options here: Formula language.

Thanks,

Zach

0 Kudos