REST API - Spaces in column names

Tags
Dataiku DSS Core Designer, Registered Posts: 8

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!

Best Answer

  • Dataiker, Dataiku DSS Core Designer, Dataiku DSS Adv Designer, Registered Posts: 153 Dataiker
    edited July 2024 Answer ✓

    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

Welcome!

It looks like you're new here. Sign in or register to get started.

Welcome!

It looks like you're new here. Sign in or register to get started.