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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
Syndicate_Admin
Administrator
Administrator

Problemas con Calcular suma y obtener infinito

Hola

Creo que esto podría ser un simple problema de sintaxis de DAX que se me ocurre, pero no estoy muy seguro. Empezaré por el contexto.

Tengo una tabla que muestra todas las tareas en un horario. Le da a cada tarea el ID, el período de inicio, el período de finalización, no. de períodos, horas por período.

Inicialmente intenté crear una tabla de fechas y una medida para obtener el número de horas por período. Eso no funcionó, así que para solucionar el problema, hice una tabla separada con todas las fechas de finalización del período y una columna calculada en su lugar.

Vea una versión de mi código para la columna calculada:

Schedule Hours = 
VAR Currentdate = 'Test Hours'[Period End Date]
VAR HrsP1 = CALCULATE(
    SUM('Schedule'[Hrs per Period]),
    'Schedule'[No of Periods] = 1,
    'Schedule'[End Period] = Currentdate
)
VAR HrsP2 = CALCULATE(
    SUM('Schedule'[Hrs per Period]),
    FILTER('Schedule', 'Schedule'[No of Periods] > 1),
    FILTER('Schedule', 'Schedule'[End Period] - (14*('Schedule'[No of Periods]-1)) <= Currentdate)
)
RETURN
HrsP1 + HrsP2

Las matemáticas son bastante sencillas. Si el número de períodos de una tarea es 1 Y cae en la fecha que estoy evaluando, mantengo esa fila, si no, se filtra. Si el número de períodos es mayor que 1 Y si cualquier fecha de período entre el inicio y el final es igual o menor que la fecha actual, mantengo esa fila, si no, se filtra. Si el período es 0, sus datos no son válidos o no hay horas asociadas.

Cualquier ayuda servirá, no creo que haya usado ninguna función DAX compleja, pero HrsP1 llega hasta el infinito y HrsP2 es un número, pero no el que esperaba

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Hola

Gracias @sevenhills y @gmsamborn por sus comentarios.

Lo descubrí con cierta manipulación. Primero estaba haciendo referencia a la tabla incorrecta en mi código, así que eso resolvió la mayor parte. Pero el comentario sobre el uso de todo para el filtro ayudó cuando cambié mi columna calculada a una medida.

Gracias a ambos.

Solo quiero agregar, si alguien más tiene problemas similares con el infinito, creo que es una referencia incorrecta o problemas con las relaciones lo que causa un bucle que no se detiene. Eso es lo que encontré hasta ahora.

View solution in original post

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

Hola

Gracias @sevenhills y @gmsamborn por sus comentarios.

Lo descubrí con cierta manipulación. Primero estaba haciendo referencia a la tabla incorrecta en mi código, así que eso resolvió la mayor parte. Pero el comentario sobre el uso de todo para el filtro ayudó cuando cambié mi columna calculada a una medida.

Gracias a ambos.

Solo quiero agregar, si alguien más tiene problemas similares con el infinito, creo que es una referencia incorrecta o problemas con las relaciones lo que causa un bucle que no se detiene. Eso es lo que encontré hasta ahora.

Me alegra saber que TODOS ayudaron. ¿Podría actualizar la respuesta anterior con el DAX correcto, para que ayude a cualquiera que revise esta publicación en el futuro?

Syndicate_Admin
Administrator
Administrator

Como @gmsamborn sugirió, publique datos pequeños y los resultados esperados, ¡ayuda!

1) ¿Está haciendo el total acumulado o el total acumulativo? Si es así, entonces tienes que usar ALL

2) ¿Está haciendo esta columna calculada en 'Horas de prueba' o 'Horario'? ¡Entonces la fórmula cambiará!

3) ¿Puedes probar que la 1ª parte funcione correctamente?

Schedule Hours = 
VAR Currentdate = 'Test Hours'[Period End Date]
VAR HrsP1 = CALCULATE(
    SUM('Schedule'[Hrs per Period]),
    All( 'Schedule'),
    'Schedule'[No of Periods] = 1 && 'Schedule'[End Period] = Currentdate
)  

-- RETURN Currentdate -- Test it out first and make the sure the value is correct
RETURN HrsP1 -- Test it out second and make the sure the value is correct

Syndicate_Admin
Administrator
Administrator

Hola @AlvinLy

Me gustaría ayudar, pero no tengo claros sus requisitos.

¿Puede proporcionar lo siguiente?

1) Proporcione datos de muestra que cubran su problema o pregunta por completo.
https://community.powerbi.com/t5/Community-Blog/How-to-provide-sample-data-in-the-Power-BI-Forum/ba-...

2) Muestre el resultado esperado en función de los datos de muestra que proporcionó.
https://community.powerbi.com/t5/Desktop/How-to-Get-Your-Question-Answered-Quickly/m-p/1447523

3) Explique cómo espera llegar del paso 1 al 2.

4) Si es posible, muestre sus intentos anteriores de solución.

Lo mejor sería un archivo .pbix con datos de muestra.

Helpful resources

Announcements
LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

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