So, the PowerQuery type system appears to be a Joke.

For those you that aren't familiar with PowerQuery, it's the ETL language that is used in PowerBI, and some other parts of the MS PowerPlatform. It was formerly known as the M Language.

The language has a type system, that includes records (think hashes) and tables, which are, for practical purposes, a list of records.

The wonderful M language specification document states that:

"Any value that is a record conforms to the intrinsic type record, which does not place any restrictions on the field names or values within a record value. A record-type value is used to restrict the set of valid names as well as the types of values that are permitted to be associated with those names."

Except that the restriction is only to the set of valid names, and the language interpreter doesn't throw an error when I place a number into a text field, but also doesn't do any sort of implicit conversion. This is all hunky-dory, until you then try to load the data into the Tabular Model that underlies the query engine, which does expect the values to be of the type that is specified, and it throws an error.

But PowerBI, in its infinite wisdom, doesn't actually *record* the error, it merely tells you the error exists, and tells you to go back to the query editor to list the errors thrown up by the powerquery engine. Which, as previously stated, doesn't throw up an error for this instance.

So I've spent all afternoon trying to work out why my queries aren't loading, because I have an error that doesn't exist. fml.

[You can follow this issue on the communtiy feedback site here: https://community.powerbi.com/t5/... ]

Your Job Suck?
Get a Better Job
Add Comment