Forum Discussion

Nimai123's avatar
Nimai123
Icon for Post Patron rankPost Patron
6 years ago

Error de memoria

Estamos tratando de resolver el problema. Conseguimos el problema por la siguiente consulta DAX en la columna calculada -

Final 2 ?

VAR a - CALCULATE(

MAX('stg kronos'[ENDDTM]),

FILTRO(

ALLEXCEPT('stg kronos','stg kronos'[EMPLOYEEID],'stg kronos'[PAYCODENAME]),

'stg kronos'[ENDDTM] < EARLIER('stg kronos'[ENDDTM])

)

)

Var b á IF('stg kronos'[ENDREASON]-"missedOut",a,'stg kronos'[STARTDTM])

Devolver IF(b-BLANK(),'stg kronos'[STARTDTM],b)

La consulta anterior se ejecuta perfectamente en la tabla de ejemplo, pero cuando la ejecutamos en la tabla de producción, Power Bi produce un error de asignación de memoria.

Intentamos cambiar el tamaño de la máquina virtual de 8 Gb a 32 Gb a 64 Gb, pero todavía tenemos el mismo error.

Además, aumentamos la memoria caché a 54000mb, es decir, 54Gb.

Actualmente, estoy ejecutando power bi en la máquina virtual con 64 Gb de Ram y el número total de filas es de 1,2 millones.

Tomamos ayuda del apoyo y asesoramiento sobre el que sugirieron que la función CALCULATE es el problema aquí.

Ejemplo de archivo pbix y captura de pantalla de error

https://drive.google.com/drive/folders/1Wz51npWQ-8gZjgJ_fXUtPbhWYIW_mWdl?usp=sharing

Por aquí quiero calcular una columna que me dará la fecha de la fecha final del registro anterior cuando se pierda ENDREASON y cuando esté fuera dará la fecha de inicio.

Screenshot (1121).png

Producción esperada

Screenshot (117).png

@amitchandak

@Tahreem24

7 Replies

  • @Nimai123 ,

    Intente aumentar el máximo permitido a 16000 en Archivo / Opciones y configuración / Opciones / Global / Carga de datos. Opciones de administración de caché de datos.

    Capture.PNG

    • Tahreem24's avatar
      Tahreem24
      Icon for Super User rankSuper User

      @Nimai123 ,

      He abierto su archivo a mi lado y no tengo ningún error de este tipo.

      Lo primero, no hay ningún problema con CALCULATE. Si está funcionando bien con su un entorno, así que ¿cómo puede decir que hay un problema con CALCULATE mientras se ejecuta en la producción ???

      En segundo lugar, no hay ningún problema con DAX. Su problema está relacionado con el tamaño de memeory/cache.

      Puedo ejecutar con éxito su archivo y DAX en mi lado sin ningún error. (ver a continuación SS)

      Capture.PNG

    • Nimai123's avatar
      Nimai123
      Icon for Post Patron rankPost Patron

      Gracias @Tahreem24 por la respuesta en el hilo

      Hemos aumentado el tamaño de la memoria caché hasta 54000, lo que equivale a 54 GB

      El archivo contiene los datos de ejemplo y la captura de pantalla del error de la base de datos de producción que está causando el problema de memoria.

    • sarveshpandey23's avatar
      sarveshpandey23
      Frequent Visitor

      Hola @Tahreem24,

      Lo intentamos también aumentando la memoria caché a 54000 Mb, pero todavía estamos recibiendo el mismo error

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hola @Nimai123 ,

    ¿Qué tal modificar su fórmula como se muestra a continuación.

    Final 2 =
    VAR a =
        CALCULATE (
            MAX ( 'stg kronos'[ENDDTM] ),
            FILTER (
                ALLEXCEPT ( 'stg kronos', 'stg kronos'[EMPLOYEEID], 'stg kronos'[PAYCODENAME] ),
                'stg kronos'[ENDDTM] < EARLIER ( 'stg kronos'[ENDDTM] )
            )
        )
    RETURN
        IF (
            'stg kronos'[ENDREASON] = "missedOut"
                && a <> BLANK (),
            a,
            'stg kronos'[STARTDTM]
        )
    

    O dividirlo en dos cloumns.

    a =
    CALCULATE (
        MAX ( 'stg kronos'[ENDDTM] ),
        FILTER (
            ALLEXCEPT ( 'stg kronos', 'stg kronos'[EMPLOYEEID], 'stg kronos'[PAYCODENAME] ),
            'stg kronos'[ENDDTM] < EARLIER ( 'stg kronos'[ENDDTM] )
        )
    )
    
    b =
    IF (
        'stg kronos'[ENDREASON] = "missedOut"
            && a <> BLANK (),
        a,
        'stg kronos'[STARTDTM]
    )
    

    Saludos

    Jay

    Equipo de apoyo a la comunidad _ Jay Wang

    Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

    • Nimai123's avatar
      Nimai123
      Icon for Post Patron rankPost Patron

      Hey @v-jayw-msft

      Intenté dividir las columnas, pero aún así, estoy recibiendo el mismo error, porque supongo que el problema radica en la función de cálculo (la lógica es correcta) ya que está tardando más tiempo en cargarse en el backend como se muestra en la captura de pantalla!

      @amitchandak

      @Tahreem24

      @Anmolgan

  • @Nimai123 le importaría compartir cómo conectó sus datos de Kronos? ¿Estaba usando la API REST y, de ser así, cómo lo hizo?