I think the problem you are facing is mainly related to the syntax. If you have a variable named $ foo, $ {foo} refers to the same variable. Thus, the links $ {table} and $ {schema} in your sql row work fine.
The problem is with $ {col.column_name}. Your variable (I guess) is called $ col and has a member named column_name. As Robert and Stephen point out in their answers, you must use $ ($ col.column_name) to refer to this. In general, $ (expression) will be replaced by the value of the expression.
The reason to allow curly braces in variable names is because variables can have unusual characters in their names. I would recommend that you do not use the $ {} syntax (unless you have a good reason) and replace it with direct links to the $ var and $ ($ var.member) variables for link references in lines.
Mike shepard
source share