Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
2 years ago

Carga visual Lenta

Hola

Tengo una tabla en la que el objeto visual se ejecuta bastante lento. Al examinar el analizador de rendimiento, noté que la duración de MS de la consulta DAX es 14506 y otra es 513.

Me pregunto si podría ayudar a reducir la duración:

Este es el código dax copiado del analizador de rendimiento:

Consulta DAX
DEFINIR
VAR __DS0FilterTable =
FILTRO(
KEEPFILTERS(VALUES('Dealer Ranking Tbl'[CounterParty2])),
NOT('Dealer Ranking Tbl'[CounterParty2] IN {BLANK(),
""})
)
VAR __DS0FilterTable2 =
TREATAS({"Todos"}, 'Filtro de fecha DIM'[Períodos de fecha])
VAR __DS0FilterTable3 =
TREATAS({"ALL (EUR)"}, 'Dealer Ranking Tbl'[Moneda])
VAR __ValueFilterDM0 =
FILTRO(
KEEPFILTERS(
SUMMARIZECOLUMNS(
«Clasificación de distribuidores Tbl»[Contraparte2],
__DS0FilterTable,
__DS0FilterTable2,
__DS0FilterTable3,
"Dealerrabk", 'Dealer Ranking Tbl'[Dealerrabk],
"Vol", 'Dealer Ranking Tbl'[Vol],
"Trades", 'Dealer Ranking Tbl'[Trades],
"Last_m_ranking", 'Dealer Ranking Tbl'[Último m ranking],
"mom_ranking1", 'Dealer Ranking Tbl'[mom ranking1],
"Last_Quar_ranking", 'Dealer Ranking Tbl' [Clasificación del último trimestre],
"QoQ_Rank__Fixed_", 'Clasificación de concesionario Tbl' [Rango QoQ (fijo)],
"LastM_Vol", 'Dealer Ranking Tbl'[LastM Vol],
"Last_Quar_Ranking_Vol", 'Dealer Ranking Tbl'[Last Quar Ranking Vol],
"Last_month_Ranking_Change1", IGNORE('Dealer Ranking Tbl'[Cambio de clasificación del mes pasado1]),
"white_text", IGNORE('Dealer Ranking Tbl'[texto blanco]),
"Last_Quarter_Ranking_Change1", IGNORE('Dealer Ranking Tbl'[Cambio de clasificación del último trimestre1])
)
),
NOT(ISBLANK([Vol]))
)
ERA __DS0Core =
SUMMARIZECOLUMNS(
«Clasificación de distribuidores Tbl»[Contraparte2],
__DS0FilterTable,
__DS0FilterTable2,
__DS0FilterTable3,
__ValueFilterDM0,
"Dealerrabk", 'Dealer Ranking Tbl'[Dealerrabk],
"Vol", 'Dealer Ranking Tbl'[Vol],
"Trades", 'Dealer Ranking Tbl'[Trades],
"Last_m_ranking", 'Dealer Ranking Tbl'[Último m ranking],
"mom_ranking1", 'Dealer Ranking Tbl'[mom ranking1],
"Last_Quar_ranking", 'Dealer Ranking Tbl' [Clasificación del último trimestre],
"QoQ_Rank__Fixed_", 'Clasificación de concesionario Tbl' [Rango QoQ (fijo)],
"LastM_Vol", 'Dealer Ranking Tbl'[LastM Vol],
"Last_Quar_Ranking_Vol", 'Dealer Ranking Tbl'[Last Quar Ranking Vol],
"Last_month_Ranking_Change1", IGNORE('Dealer Ranking Tbl'[Cambio de clasificación del mes pasado1]),
"white_text", IGNORE('Dealer Ranking Tbl'[texto blanco]),
"Last_Quarter_Ranking_Change1", IGNORE('Dealer Ranking Tbl'[Cambio de clasificación del último trimestre1])
)
VAR __DS0PrimaryWindowed =
TOPN(501, __DS0Core, [Dealerrabk], 1, 'Dealer Ranking Tbl'[CounterParty2], 1)
EVALUAR
__DS0PrimaryWindowed
ORDENAR POR
[Dealerrabk], 'Dealer Ranking Tbl'[CounterParty2]

gracias

Viral

4 Replies

  • @ViralPatel212

    Sírvanse proporcionar un poco de contexto de la medida. Por ejemplo, ¿qué hace la medida? ¿Cómo lo estás usando?

    etc...

    Proporcionar datos de ejemplo en el foro de Power BI
    https://community.fabric.microsoft.com/t5/Community-Blog/How-to-provide-sample-data-in-the-Power-BI-Forum/ba-p/963216


    Cómo obtener respuestas rápidas a tu pregunta
    https://community.fabric.microsoft.com/t5/Desktop/How-to-Get-Your-Question-Answered-Quickly/m-p/1447523

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      @Daniel29195 Disculpas, aquí está el resultado logrado con las medidas utilizadas:

      Clasificación = SUMA('Clasificación de concesionarios Tbl'[Tamaño])
      Robo =

      CALCULAR(
      [Clasificación],
      FILTRO(
      'Clasificación de concesionarios Tbl',
      'Clasificación de concesionarios Tbl'[Tipo] = "Vol. (MM)"))
      Oficios =

      CALCULAR(
      [Clasificación],
      FILTRO(
      'Clasificación de concesionarios Tbl',
      'Clasificación de concesionarios Tbl'[Tipo] = "Oficios"))
      LastM Vol =
      Fueron maxdate = EOMONTH(HOY(),-1)
      Fueron Mindate = EOMONTH(HOY(),-2) +1
      FUERON SeleccionadoFijo = SELECTEDVALUE('Filtro de fecha DIM (clasificación de distribuidores)'[Períodos de fecha])
      FUERON SeleccionadoFechas personalizadas = SELECTEDVALUE('Calendario DIM (Ranking)'[Fecha])

      FUERON FixedPreviousMonth=
      CALCULAR(
      [Vol],
      FILTRO(TODO('Filtro de fecha DIM (clasificación de distribuidores)'),'Filtro de fecha DIM (clasificación de distribuidores)'[Fecha] >= Mindate && 'Filtro de fecha DIM (clasificación de distribuidores)'[Fecha] <= maxdate))

      FUERON CustomPreviousMonth=
      CALCULAR(
      [Vol],
      FILTRO(TODO('Calendario DIM (Ranking)'),'Calendario DIM (Ranking)'[Fecha] >= Mindate && 'Calendario DIM (Ranking)'[Fecha] <= maxdate))
      DEVOLUCIÓN

      INTERRUPTOR(
      VERDADERO(),
      SeleccionadoFijo =SeleccionadoFijo,FixedPreviousMonth,
      SeleccionadoFechas personalizadas = SeleccionadoFechas personalizadas, CustomPreviousMonth, espacio en blanco())
      Clasificación de mamás1 =

      FUERON Fechas fijas = SELECTEDVALUE('Filtro de fecha DIM (prueba de clasificación de distribuidores))'[Fecha])
      FUERON Fechas personalizadas = SELECTEDVALUE('Calendario DIM (Ranking)'[Fecha])

      FUERON Clasificación fija =
      SI(
      [Distribuidor] - [Último m ranking] < 0,
      ABS([Distribuidor] - [Último m ranking]),
      ABS([Distribuidor] - [Último m ranking]))

      FUERON Clasificación personalizada =
      SI(
      [Distribuidor] - [Último m ranking]< 0,
      ABS([Distribuidor] - [Último m ranking]),
      ABS( [Distribuidor] - [Último m ranking])
      )

      DEVOLUCIÓN
      INTERRUPTOR(
      VERDADERO(),
      Fechas fijas = Fechas fijas, Clasificación fija,
      Fechas personalizadas = Fechas personalizadas, Clasificación personalizada,
      ESPACIO EN BLANCO()
      )
      Ranking del último trimestre Vol =
      FUERON maxdate = EOMONTH(HOY(), -1)
      FUERON Mindate = EOMONTH(HOY(), -5) + 1
      FUERON Fecha fija = SELECTEDVALUE('Filtro de fecha DIM (clasificación de distribuidores)'[Períodos de fecha])
      FUERON Fecha personalizada = SELECTEDVALUE('Calendario DIM (Ranking)'[Fecha])

      FUERON Fixvol =
      CALCULAR(
      [Vol],
      FILTRO(
      TODO('Filtro de fecha DIM (clasificación de distribuidores)'),
      'Filtro de fecha DIM (clasificación de distribuidores)'[Fecha] >= Mindate &&
      'Filtro de fecha DIM (clasificación de distribuidores)'[Fecha] <= maxdate
      )
      )

      VAR custvol =
      CALCULAR(
      [Vol],
      FILTRO(
      TODO('Calendario DIM (Ranking)'),
      'Calendario DIM (Ranking)'[Fecha] >= Mindate &&
      'Calendario DIM (Ranking)'[Fecha] <= maxdate
      )
      )

      DEVOLUCIÓN
      INTERRUPTOR(
      VERDADERO(),
      Fecha fija = Fecha fija, Fixvol,
      Fecha personalizada = Fecha personalizada, custvol,
      ESPACIO EN BLANCO()
      )

      Clasificación del último trimestre =

      FUERON maxdate = EOMONTH(HOY(), -1)
      FUERON Mindate = EOMONTH(HOY(), -5) + 1
      FUERON checkfixed = SELECTEDVALUE('Filtro de fecha DIM (clasificación de distribuidores)'[Períodos de fecha])
      FUERON checkcustom = SELECTEDVALUE('Calendario DIM (Ranking)'[Fecha])
      FUERON fixedrank =
      CALCULAR(
      [Distribuidor],
      FILTRO(
      TODO('Filtro de fecha DIM (clasificación de distribuidores)'),
      'Filtro de fecha DIM (clasificación de distribuidores)'[Fecha] >= Mindate &&
      'Filtro de fecha DIM (clasificación de distribuidores)'[Fecha] <= maxdate
      )
      )
      FUERON Rango personalizado =
      CALCULAR(
      [Distribuidor],
      FILTRO(
      TODO( 'Calendario DIM (Ranking)'),
      'Calendario DIM (Ranking)'[Fecha] >= Mindate &&
      'Calendario DIM (Ranking)'[Fecha] <= maxdate
      )
      )
      DEVOLUCIÓN
      INTERRUPTOR(
      VERDADERO(),
      checkfixed = checkfixed, fixedrank,
      checkcustom = checkcustom, Rango personalizado,
      ESPACIO EN BLANCO()
      )
      Rango QoQ (fijo) =
      FUERON Fechas fijas = SELECTEDVALUE('Filtro de fecha DIM (prueba de clasificación de distribuidores))'[Fecha])
      FUERON Fechas personalizadas = SELECTEDVALUE('Calendario DIM (Ranking)'[Fecha])
      FUERON lastQuarterRanking = [Clasificación del último cuarto]
      FUERON dealerank = [Distribuidor]
      FUERON Clasificación fija =
      SI (
      dealerank - lastQuarterRanking < 0,
      (dealerank - lastQuarterRanking ) * -1,
      dealerank - lastQuarterRanking
      )
      FUERON Clasificación personalizada =
      SI (
      dealerank - lastQuarterRanking < 0,
      ( dealerank - lastQuarterRanking ) * -1,
      dealerank - lastQuarterRanking
      )
      DEVOLUCIÓN
      INTERRUPTOR (
      VERDADERO (),
      Fechas fijas = Fechas fijas, Clasificación fija,
      Fechas personalizadas = Fechas personalizadas, Clasificación personalizada,
      ESPACIO EN BLANCO ()
      )
      • Syndicate_Admin's avatar
        Syndicate_Admin
        Icon for Administrator rankAdministrator

        @ViralPatel212

        para saber qué medidas están afectando al rendimiento,

        Puede crear una tabla por cada medida y comprobar desde el Analizador de rendimiento, cada objeto visual cuánto está tomando su código DAX.

        De esta manera, podemos filtrar todas las medidas que no afectan el rendimiento. .

        ¿Puede hacerlo, por favor, para saber qué medidas necesitan mejoras (si la mejora es posible)?