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

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
Syndicate_Admin
Administrator
Administrator

Larga carga de tablas y visualizaciones debido a la alta cardinalidad (?)

Hola comunidad!

Tengo un problema con la carga prolongada de mis tablas y visualizaciones. A veces ni siquiera cargan.

Aquí está mi modelo de datos

dataModel.PNG

Así que:

1. la tabla CALENDARIO filtra la tabla RFP,

2. Filtro de tabla RFP Tabla descubierta RFP por RFP[id] - RFP Uncovered[id_rdp]

3. RFP Filtro descubierto dos tablas Tengo un problema con vbi_pob_empty_chats y vbi_pob_chat_nbrs por concatenación de id_rfp y id_customer (esto crea un ID único). La concatenación se realiza en la consulta SQL, no en Power Query o en la columna calculada.

La relación es uno a uno. Estas dos tablas son bastante grandes por filas, por lo que la cardinalidad es alta.

vertiPaq.PNG

Después de publicar el informe, estoy esperando un par de minutos para cargar la tabla simple o el gráfico de líneas. Si amplío el intervalo de fechas, recibo el error de que se han excedido los recursos. La tabla incluye solo un par de medidas simples como:

# CHATS VACÍOS =
DÓNDE _hilo =
FILTRO(
vbi_pob_empty_chats,
vbi_pob_empty_chats[chat_msg_text] = 0
)
DÓNDE _suma =
RESUMIR(
_hilo,
vbi_pob_empty_chats[id_chat])
DEVOLUCIÓN
COUNTROWS(_suma)
# TODOS LOS CHATS =
COUNTROWS(
RESUMIR(
vbi_pob_empty_chats,
vbi_pob_empty_chats[id_chat])
)
o
% TASA DE RESPUESTA DEL COMPRADOR =
DÓNDE _cfn =
SUMX(
FILTRO(
'vbi_pob_chat_nbrs',
'vbi_pob_chat_nbrs'[cust_response_nbr] = 1),
'vbi_pob_chat_nbrs'[cust_response_nbr]
)
DÓNDE _rfpr =
SUMX(
FILTRO(
'vbi_pob_chat_nbrs',
'vbi_pob_chat_nbrs'[rfp_first_nbr] = 1),
'vbi_pob_chat_nbrs'[rfp_first_nbr]
)
DEVOLUCIÓN
DIVIDIR(_cfn, _rfpr)
y pareja como solo DIVIDIR o SUMAR. El analizador de rendimiento no muestra que las medidas estén causando el problema (menos de 1000 ms, promedio 500-700). Me pregunto cómo mejorar el modelo de datos para obtener carga rápida.
2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

Hola

Ad. 1,2 - Sí, lo sé, pero es difícil evitarlo debido a cómo se construyen los datos.

ad.3 Tenía todas las funciones con calcular y cambié al filtro y ahora es más rápido (pistas de Greg Decker en youtube). También cambié de distinctcount a countrows (resumir) y el analizador de rendimiento muestra que los cálculos son más rápidos (también un truco de algún blog). El problema está en el modelo de datos, ya que todas las tablas son como 50 millones de filas, por lo que este modelado bidreccional es realmente malo.

Syndicate_Admin
Administrator
Administrator

Hola

Cuando veo tu problema, veo cosas diferentes
1) Su modelo no es Star Schema y, por lo tanto, probablemente no sea óptimo
2) Utiliza algunos filtros bidireccionales y probablemente no sean necesarios. Debe eliminarlos si es posible
3) Casi todas las medidas de DAX están usando la función FILTER donde no debe usarla en todos sus ejemplos.

Por ahora, comenzaría por deshacerme de todas las funciones FILTER y RESUME porque son muy caras.

Probablemente deberías echar un vistazo a la lista de reproducción de Ferrari, de Alberto en Youtube sobre la función Calcular.
https://www.youtube.com/watch?v=Tk-7gBt9CDE&ab_channel=SQLBI



Helpful resources

Announcements
July 2024 Power BI Update

Power BI Monthly Update - July 2024

Check out the July 2024 Power BI update to learn about new features.

July Newsletter

Fabric Community Update - July 2024

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