Getting grammatical error/invalid error on domo query filters(where clause)

Options
muhammadtalha
muhammadtalha Member
edited May 8 in Domo Everywhere

Hi,

I am calling a query on my ddx brick using domo query functions. Now when i try to pass filters which actually are the where clauses in which my where conditons are defined as comma separated. all are with IN operand.

but getting the following error:

"DA0012: A filter was provided to filter the data but it contains a grammatical error or is otherwise invalid and it could not be parsed. The offending filter is: company_id IN (207) . \nThe parsing error is: expression values cannot be parsed at company_id IN (207)"


And my where clause code is as below :

["company_id IN 207",
"facility_ids IN 3631,3632,3633,3634",
"participant_gender IN male"
]

And in the query I am making it as a join as describe in docs as below:

can any one please help me that what is the right format for passing where clauses? because for some columns i have integer values, and for some i have string values and both are comma separated.

Best Answer

  • MattTheGuru
    MattTheGuru Contributor
    edited May 8 Answer ✓
    Options

    I just tried those filters in our own system and this is how we are submitting that exact set of filters:
    This is the array of data that gets sent over.


    [
    { column: 'company_id', operator: 'IN', values: [ '207' ] },
    {
    column: 'facility_ids',
    operator: 'IN',
    values: [ '3631', '3632', '3633', '3634' ]
    },
    { column: 'participant_gender', operator: 'IN', values: [ 'male' ] }
    ]

    Give that a try^ and let me know if it works for you.


    Please 💡/💖/👍/😊 this post if you read it and found it helpful.
    Please accept the answer if it solved your problem.

    Please 💡/💖/👍/😊 this post if you read it and found it helpful.
    Please accept the answer if it solved your problem.

Answers

  • MattTheGuru
    MattTheGuru Contributor
    edited May 8
    Options

    I think the fix might be very simple where you just need to wrap your options in brackets (particularly these type "[ ]") like so:

    ["company_id IN [207]",
    "facility_ids IN [3631,3632,3633,3634]",
    "participant_gender IN ['male']"
    ]


    Please 💡/💖/👍/😊 this post if you read it and found it helpful.

    Please accept the answer if it solved your problem.

    Please 💡/💖/👍/😊 this post if you read it and found it helpful.
    Please accept the answer if it solved your problem.

  • muhammadtalha
    Options

    No @MattTheGuru, still same error!

    "DA0012: A filter was provided to filter the data but it contains a grammatical error or is otherwise invalid and it could not be parsed. The offending filter is: company_id IN [207],facility_ids IN [3631,3632,3633,3634],participant_gender IN ['male'] . \nThe parsing error is: expression values cannot be parsed at company_id IN [207],facility_ids IN [3631,3632,3633,3634],participant_gender IN ['male']"


    Is there any change that I will do!

  • MattTheGuru
    MattTheGuru Contributor
    edited May 8 Answer ✓
    Options

    I just tried those filters in our own system and this is how we are submitting that exact set of filters:
    This is the array of data that gets sent over.


    [
    { column: 'company_id', operator: 'IN', values: [ '207' ] },
    {
    column: 'facility_ids',
    operator: 'IN',
    values: [ '3631', '3632', '3633', '3634' ]
    },
    { column: 'participant_gender', operator: 'IN', values: [ 'male' ] }
    ]

    Give that a try^ and let me know if it works for you.


    Please 💡/💖/👍/😊 this post if you read it and found it helpful.
    Please accept the answer if it solved your problem.

    Please 💡/💖/👍/😊 this post if you read it and found it helpful.
    Please accept the answer if it solved your problem.