Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
1 year ago

Pregunta de redondeo

Hola

Necesito ayuda para averiguar cómo funciona la función ROUND. Tengo la siguiente medida con la salida que se muestra a continuación:

Cuando envuelvo el valor r1 dentro de una función Round con un decimal de 1, no obtengo
0.2
0.3
1.8

pero en su lugar obtengo el siguiente resultado:

Cualquier ayuda será muy apreciada.

5 Replies

  • Hola

    Tampoco esperaría este comportamiento de la función ROUND. ¿Puede hacer un par de comprobaciones para asegurarse de que no se ingresó 8?

    1. En la cinta Herramientas de medición > Formato, asegúrese de que se muestre Auto o 1

    2. En el panel Formato visual, > columna específica > Valores > decimales de Valor muestra Auto o 1

    ¿Qué sucede si pones la medida en una tarjeta visual?

    Si esta publicación ayudó, marque mi publicación como una solución

    Saludos

    Thomas Hanson

    Contribuyente Individual

  • Gracias por su respuesta. Dentro de la cinta de opciones y el objeto visual, he establecido el decimal en 1 y Auto respectivamente, pero el comportamiento continúa. Según su sugerencia de poner la medida dentro de un objeto visual de tarjeta. El siguiente resultado muestra el resultado sin el redondeo:

    Con el redondeo, la salida es la siguiente:

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      De acuerdo, me perdí que la ronda estaba dentro del iterador de la función sumx. ¿Puedes mover la función round fuera de la expresión de la siguiente manera:

      prueba =
      REDONDO (
      SUMX (
      Mesa
      VAR R1 = SI ( Tabla[Columna] = "Impuesto", Tabla[Columna2], 0 ) DEVOLUCIÓN RT1
      ),
      1
      )

      ¿O realmente necesitas redondear el número antes de sumarlos?

      Más información sobre Variables en DAX: https://www.sqlbi.com/articles/variables-in-dax/

      Si esta publicación ayudó, marque mi publicación como una solución

      Saludos

      Thomas Hanson

      Contribuyente Individual

  • Como ROUND está dentro de SUMX, se evalúa para cada fila de HoldingsReportData antes de todas las filas desarrolladas sumadas en la fila total. Si desea que el total se redondee, ajústelo alrededor de la expresión SUMX en su lugar.

  • Perdón por la respuesta tardía @hansontm y @danextian . Puente. Espero que esté bien si marco ambos como la respuesta. Envolver la función ROUND fuera de SUMX, no lo resolvió, pero como ambos señalaron, podría ser una iteración. Parece que los números son incorrectos de todos modos cuando se ejecuta el mismo informe en el lado del servidor sql. Una vez más, gracias por tomarse el tiempo de analizar esta pregunta.