Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Hola equipo de desarrolladores de Power BI,
Me di cuenta de que javascript se ejecuta dentro de la consulta de Energía a través de Web.Page como siguiente
let
Source = Web.Page(
"<script>
var square = function (x){return x*x;};
var c = square(12);
document.write(c);
</script>"),
Data = Source{0}[Data],
Children = Data{0}[Children],
#"Expanded Children" = Table.ExpandTableColumn(Children, "Children", {"Kind", "Name", "Children", "Text"}, {"Kind.1", "Name.1", "Children.1", "Text.1"})
in
#"Expanded Children"
Pero hay ciertas cosas que no lo hacen. Por ejemplo, var cuadrado cambiado a const cuadrado en el exmaple anterior
let
Source = Web.Page(
"<script>
const square = function (x){return x*x;};
var c = square(12);
document.write(c);
</script>"),
Data = Source{0}[Data],
Children = Data{0}[Children],
#"Expanded Children" = Table.ExpandTableColumn(Children, "Children", {"Kind", "Name", "Children", "Text"}, {"Kind.1", "Name.1", "Children.1", "Text.1"})
in
#"Expanded Children"
Un ejemplo más de no ejecución
//doesnot execute
let
Source = Web.Page(
"<script>
var obj = {foo:'bar,baz:'42'};
var values = Object.keys(obj);
document.write(values);
</script>"),
Data = Source{0}[Data],
Children = Data{0}[Children],
Children1 = Children{0}[Children]
in
Children1
Lo he intentado con pocos y algunos excutes de sintaxis, mientras que otros no.
Por ejemplo, Regex positivo lookbehind no funciona
/(?<=[a-zA-Z]+[/]+[a-zA-Z]+[ ])\d+/gm
pero la mirada negativa funciona.
/\d+(?![a-zA-Z]+[/]+[a-zA-Z]+[ ])/gm
Cadena
123INVOICE 7320210279
En lugar de tratar de averiguar qué funciona y cuál no es amablemente posible aconsejar qué motor de excución javascript se utiliza dentro de PQWRY. ¿Es equivalente a un motor <IE9?
Si puedo tener esta infomration puedo ajustar mi script para que coincida con la versión o no usar la sintaxis en absoluto.
Muchas gracias de antemano.
Solved! Go to Solution.
Hay @smpa01
Si crea una solicitud web a un sitio web de pruebas del navegador como WhatIsMyBrowser.com o Cyscape.com, puede obtener información sobre el navegador utilizado en PQ. Por ejemplo, mi PBI Desktop informa que está utilizando IE 11
saludos
Phil
Hay @smpa01
Si crea una solicitud web a un sitio web de pruebas del navegador como WhatIsMyBrowser.com o Cyscape.com, puede obtener información sobre el navegador utilizado en PQ. Por ejemplo, mi PBI Desktop informa que está utilizando IE 11
saludos
Phil
@PhilipTreacy muchas gracias por esto. Definitivamente me ahorra mucho tiempo.
Todavía tengo problemas para ejecutar la sintaxis js dentro de PQ que tiene soporte completo en IE11. Por ejemplo, Object.keys tiene soporte completo en IE11.
https://caniuse.com/?search=object.keys
let
Source = Web.Page(
"<script>
var obj = {foo:'bar,baz:'42'};
var values = Object.keys(obj);
document.write(values);
</script>"),
Data = Source{0}[Data],
Children = Data{0}[Children],
Children1 = Children{0}[Children]
in
Children1
No sé por qué es eso.
¿Cómo consigue que el script acepte parámetros externos? - hará una entrada de blog
¿Qué puede hacer Javascript que M no puede? - hará una entrada de blog .
Para empezar, REGEX se puede ejecutar de forma nativa en PQ en lugar de ejecutarlo a través de stringr de R (las bibliotecas de R no se pueden ejecutar en servicio, lo que es extremadamente doloroso, si tiene muchas disputas REGEX).
En segundo lugar, diferentes bucles complejos para disputas de datos difíciles.
Una vez que descubra qué sintaxis y función se pueden ejecutar en PQ, se puede liberar toda la potencia de js (limitada a la versión del navegador de PQ) para tareas que se pensaron fuera de su alcance en PQ.
Hay @smpa01
Me sorprendería si el motor del navegador dentro de PQ es en realidad una implementación completa de IE11. Los sitios de prueba del explorador probablemente identifican IE11 por la cadena del agente de usuario. Siento no poder arrojar más luz sobre esto.
saludos
Phil
este es un buen hallazgo (y usted debe ser capaz de inferir el motor de representación desde el administrador de tareas de Windows) pero ¿cuál es el valor comercial de esto? ¿Cómo consigue que el script acepte parámetros externos? ¿Qué puede hacer Javascript que M no puede?
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
1 | |
1 | |
1 | |
1 |