Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
C4YNelis
Advocate II
Advocate II

Table.InsertRows - Expression.SyntaxError: Invalid identifier.

After spending well over an hour chasing a very stubborn SyntaxError, I found out that the Table.InsertRows function in M Query does not work for columns containing a '+' (I mean the plus sign, not the quotes) in the name. While many other functions (I obviously didn't test them all), do work perfectly with a + in the columnname, this one does not.

 

The difference as far as I can tell is probably that most other functions that take one or more columnnames as an argument, demand the columnname(s) to be written in between double-quotes. The Table.InsertRows function however does not.

 

I.m.h.o. this is nothing less than a bug, since it never stated that (although maybe it is not considered to be very good programming practice) a '+' sign is not allowed in a column name.

 

My question therefore is: Can we either allow or disallow the '+' as part of a columnname, but please draw one line for all functions, as I can now change a part of my report again. I know for a fact that I will not use it again. 🙂

 

Thank you,

 

Best regards,

Niels

1 ACCEPTED SOLUTION
v-qiuyu-msft
Community Support
Community Support

Hi @C4YNelis,

 

The field name in a record literal has to be an identifier, and vanilla identifiers can't contain plus signs.

 

However, you can include any characters you want by using an escaped identifier.

 

[#"Customer+ID" = 2]

 

q1.PNG

 

Best Regards,
Qiuyun Yu 

Community Support Team _ Qiuyun Yu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

3 REPLIES 3
C4YNelis
Advocate II
Advocate II

Dear @v-qiuyu-msft,

 

I just tried your suggestion and it works like a charm. I never knew it was possible to escape a columnname this way. I thought this was a reserved table syntax.

 

Thank you for your time and efforts!

 

Cheers,

Niels

v-qiuyu-msft
Community Support
Community Support

Hi @C4YNelis,

 

The field name in a record literal has to be an identifier, and vanilla identifiers can't contain plus signs.

 

However, you can include any characters you want by using an escaped identifier.

 

[#"Customer+ID" = 2]

 

q1.PNG

 

Best Regards,
Qiuyun Yu 

Community Support Team _ Qiuyun Yu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
v-qiuyu-msft
Community Support
Community Support

Hi @C4YNelis,

 

I have sent a email to consult this issue internally, will update here once I get any information. 

 

Best Regards,
Qiuyun Yu 

Community Support Team _ Qiuyun Yu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

Find out what's new and trending in the Fabric Community.