Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!
Buen día a todos.
En un informe tipo DirectQuery, por medio del Analizador de Rendimiento, se ha capturado la sentencia SQL (query) que PowerBI envía a la base de datos para mostrar los visuales. Este query contiene ciertas sentencias que afectan el rendimiento y el tiempo de respuesta.
Por ejemplo, para un gráfico de barras apiladas, utiliza las funciones CAST y TOP. Si pruebo el query ejecutándolo directamente en la base de datos sin modificar nada, dura aproximadamente 2.55 segundos. Si modifico el query retirando las funciones CAST y TOP, se obtiene el mismo conjunto de datos, pero en un tiempo de 0.37 segundos (casi 7 veces más rápido).
¿Es posible modificar la sentencia (o query SQL) que autogenera Power BI y envía a la base de datos para obtener el conjunto de datos y contruir el componente visual?.
Gracias de antemano por sus comentarios.
// Este es el query que se autogenera. Se ejecuta en 2.55 segundos. Utiliza TOP y CAST.
SELECT
TOP 1000001 "t1"."estado_cliente",
CAST(COUNT("t1"."codigo_cliente") AS BIGINT)
AS "a0"
FROM
(
SELECT
CAST("codigo_cliente" AS VARCHAR(4000))
AS "codigo_cliente",
CAST("estado_cliente" AS VARCHAR(4000))
AS "estado_cliente"
FROM
(
(select "$Table"."apellidos_cliente" as "apellidos_cliente",
"$Table"."nombres_cliente" as "nombres_cliente",
"$Table"."direccion_cliente" as "direccion_cliente"
from "Base_datos"."tabla_clientes" "$Table")
)
AS "t1"
)
AS "t1"
GROUP BY "t1"."estado_cliente"
// Si retiro las funciones CAST y TOP. Se ejecuta en 0.37 segundos. Retirando TOP y CAST.
SELECT
"t1"."estado_cliente",
COUNT("t1"."codigo_cliente")
AS "a0"
FROM
(
SELECT
"codigo_cliente"
AS "codigo_cliente",
"estado_cliente"
AS "estado_cliente"
FROM
(
(select "$Table"."apellidos_cliente" as "apellidos_cliente",
"$Table"."nombres_cliente" as "nombres_cliente",
"$Table"."direccion_cliente" as "direccion_cliente"
from "Base_datos"."tabla_clientes" "$Table")
)
AS "t1"
)
AS "t1"
GROUP BY "t1"."estado_cliente"
Solved! Go to Solution.
Levante esto como una idea en la página de ideas. Actualmente no es posible afectar a ninguna de las consultas plegadas.
Levante esto como una idea en la página de ideas. Actualmente no es posible afectar a ninguna de las consultas plegadas.