
i am getting this error Column operands are not allowed in literal expressions.
How can i append an expressions with string in dynamic query while creating a source dataset in dataflow.

i am getting this error Column operands are not allowed in literal expressions.
How can i append an expressions with string in dynamic query while creating a source dataset in dataflow.
Did you ever get a solution this question? I am facing the same issue.
Make sure you type in expressions inside the expression builder. Otherwise, ADF is interpreting your input as a query string. Inside the Expression Builder, you can just use string interpolation by putting the query and {$parameter} inside double quotes w/o concat: https://docs.microsoft.com/en-us/azure/data-factory/concepts-data-flow-expression-builder#string-interpolation
i tried that as well but i am getting again same error.


][3]
I just had this same exact issue. Check how you are setting your default values on data flow parameters. Could possibly be in other places too. When setting up the input parameters under debug settings, just using literals results in red outline and indicates an issue. I removed the toString('Parameter1') I originally had and ended up leaving everything blank there. On the data flow its self, I set default values for debugging purposes and used the "Parameter1" syntax. When calling the dataflow via a pipeline it forces you to choose between pipeline expression or data flow expression. Originally i had pipeline express with @string('Parameter1') with the Expression checkbox checked. I changed this to data flow expression and used the "Parameter1" syntax and after that, I was finally able to resolve this error. This is a terribly poor and undocumented issue that should be made clearer
Followed the same approach as you suggested but facing the same error, not sure is it working for you
Could you please show screenshots of this. It is not clear to me how this would look. Even if you do assign the parameter at the pipeline level the error still happens in the dataset within the actual dataflow
Here are 3 screen shots to hopefully help illustrate this. First image is from the dataflow parameters tab. Notice the syntax for just having default values as literals enclosed with double quotes.
The second image is from the pipeline that calls the dataflow. Here i'm just passing literals with the hard coded values I was using for debug. This is using the same syntax with the dataflow expression type. Notice with this option the "Expression" checkbox is not available. this is fine for hard coded values but that's probably not practical for real world application
The third image is where i'm passing values from variables defined earlier in the pipeline (but could be any previous task.) Notice that here i'm using the pipeline expression type but I did NOT check the "Expression" box for any of these. Originally I did because it made sense these were expressions here in the pipeline. But that's not how they end up at runtime. The only difference with that box checked was the resulting runtime value from the variable would be wrapped in single quote if unchecked.
Hope this helps!!
Thanks, but what does you actual query look like in the source dataset of the dataflow where you are using the parameters?
@DimejiOlayinka-0411 this worked for me. Just keep in mind that in the pipeline you must uncheck column expression when you are passing the parameters!!!!!!
Pipeline. this is how I pass the parameters to the data flow:

Dataflow: these are the parameters inside the dataflow:

Dataflow: this is my source sink inside the dataflow:

Dataflow: this is the expression builder of the query I use inside the source sink:

Hello, thank you for this clarification. I have not been running my dataflow in pipeline yet, as I am debugging and previewing my output exclusively in the dataflow. I don't believe there is a column expression box to uncheck when running debugging/data preview in the dataflow so that is why I am getting the column operands error. Are you able to run this query successfully in the dataflow debugging/data preview or does it only work when you run the dataflow through a pipeline?
Hi. As you can see in the 2nd picture, I have default values in the dataflow parameters. Thanks to that, I can debug/data preview my dataflow so I can work in both ways (debug/through a pipeline),
So the dataflow parameters must be a default value? I am passing in a column where I have applied an aggregate function as the parameter value like so. I keep getting the error with my parameter with brackets and quotes around those brackets {$parameter1} "{$paramete1}" .




9 people are following this question.