Join us for an expert-led overview of the tools and concepts you'll need to pass exam PL-300. The first session starts on June 11th. See you there!
Get registeredPower BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.
Si agrupa una tabla en la GUI
1/ el código generado aparece como tal
Table.Group(#"Kept First Rows", {"Claim ID"}, {{"MinPrice", each List.Min([Contract Price]), type nullable number}})
2/ aunque el argumento de la función 'cada' es una tabla, puede reescribir la función como la siguiente y siempre funcionará
Table.Group(#"Kept First Rows", {"Claim ID"}, {{"MinPrice", each List.Min(Record.Field(_, "Contract Price")), type nullable number}})
3/ sin embargo, reescribir ese mismo código dentro de un bloque let/in genera un error
Table.Group(#"Kept First Rows", {"Claim ID"}, {{"MinPrice", each let n = List.Min(Record.Field(_, "Contract Price")) in n, type nullable number}})
Expression.Error: We cannot convert a value of type Table to type Record.
4/ para trabajar dentro del bloque let/in, debe cambiar de Record.Field a Table.Column de esta manera
Table.Group(#"Kept First Rows", {"Claim ID"}, {{"MinPrice", each let n = List.Min(Table.Column(_, "Contract Price")) in n, type nullable number}})
Entiendo por qué el #3 genera un error. Me pregunto por qué el #2 no...
Creo que esto debería estar relacionado con la estructura de let-in y _ operador.
En la función 'grupo', el operador _ después de 'cada' palabra clave se asigna al tipo de tabla, y se puede reconocer y evaluar después de cada palabra clave, pero estas operaciones parecen no procesarse en la estructura de entrada anidada. (tal vez relacionado con la evaluación perezosa y ansiosa)
Modelo de evaluación - PowerQuery M | Documentos de Microsoft
Para su escenario, puede intentar usar la siguiente fórmula para solucionar este problema:
Table.Group(#"Kept First Rows", {"Claim ID"}, {{"MinPrice", each let n = List.Min(_[Contract Price]) in n, type nullable number}})
Saludos
Xiaoxin Sheng