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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
matheus_
Regular Visitor

Calcular el estado en función de las fechas dinámicas

Hola

Soy nuevo en PBI y estoy luchando para encontrar una solución para mi problema.

El problema

Necesito calcular (contar) los estados de mis datos en función de fechas específicas (por ejemplo, semanalmente el miércoles).

AccionesPlazoFecha de inicioFecha de finalizaciónEstado
Acción 1 f(Fecha de referencia, Fecha límite, Fecha de inicio, Fecha de finalización)
Acción 2

Descripción de mis datos (fActionPlan)

  • The Estado might be signaled as hacer, en curso, retrasado, concluido, cancelado.
  • El estado se define con la comparación lógica de los campos Fecha límite, Fecha de inicio, Fecha de finalización, mientras que también puede cambiar en función de la fecha de referencia que estoy considerando. Ejemplo
    • Una acción con fecha límite del 18 de mayo y la fecha de finalización del 25 de mayo debe contabilizarse como "Retrasada" desde la fecha de inicio hasta el 24 de mayo, y debe tener en cuenta como "Concluida" a partir del 25 de mayo y más adelante.
  • Acciones are unique entries.

El resultado esperado

  • Un gráfico de barras apiladas con el recuento de estado en varias fechas.

¿Alguna guía al respecto?

Gracias por cualquier consejo.

5 REPLIES 5
v-alq-msft
Community Support
Community Support

Hola, @matheus_

En función de que sea la lógica de la columna calculada, he creado datos de ejemplo para reproducir el escenario.

f1.png

Hay algo mal con el resultado porque '_finishdate>_refdate' aparece en cada rama. ¿Podría mostrarnos algunos datos de ejemplo y el resultado esperado con OneDrive para la Empresa? Enmascare los datos confidenciales antes de cargarlos. Gracias.

Saludos

Allan

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

Hola @v-alq-msft

Preparé un ejemplo de datos, pero luego descubrí que no puedo compartir enlaces externamente.

Desde su imagen, puedo sugerir la corrección:

  • _Ref Date no es una columna de mi conjunto de datos. Debería funcionar como constantes a lo largo del tiempo.
  • Durante los pasos de validación, la fecha límite siempre se introducirá manualmente si se define la fecha de finalización, por lo que es probable que el estado sea "Hecho"

Datos de muestra

SampleData.png

El resultado esperado

SampleDataChart.png

El problema complicado aquí es que:

  • Tengo entradas de acción únicas.
  • Una columna calculada para la categoría de estado.
  • Necesito un recuento de estatus fijo para las últimas semanas (es decir, desde el 8 de abril hasta el 20 de mayo).
  • Mientras que el último recuento de estados (27 de mayo) simplemente puede contar el estado de esa fecha.
  • En el eje X, el 20 de mayo,todo comenzó o terminó a partir del 21 de mayo y más allá debe tener en cuenta como "Hacer" porque estoy mirando desde la perspectiva del pasado (fecha de referencia , 20 de mayo).
  • El 27 de mayo, una acción podría establecerse como "Hecho", ya que la misma entrada debería considerarse "Retrasada" el 20 de mayo.

A veces sospecho que esa inteligencia aún no está disponible a menos que intente modelar con scripting. ¿Tienes la misma opinión?

Hola

@v-alq-msft @amitchandak cree que esto es algo factible con DAX/PowerBI?

¿Sería más fácil con los scripts de Python/R? ¿Quizás una forma diferente de estructurar mis datos?

Gracias por cualquier guía que pueda tener.

amitchandak
Super User
Super User

@matheus_ , ¿Puede compartir datos de ejemplo y salida de ejemplo en un formato de tabla? O un pbix de muestra después de eliminar datos confidenciales.

Necesitas una nueva columna como

if(datediff([start date], [finish date] ,Day)>=7, "Delayed","Not Delayed")

Por favor, vea/me gusta/comparte mi seminario web sobre Time Intelligence: https://community.powerbi.com/t5/Webinars-and-Video-Gallery/PowerBI-Time-Intelligence-Calendar-WTD-Y...
Mis consejos de Youtube en: https://www.youtube.com/playlist?list=PLPaNVDMhUXGYrm5rm6ME6rjzKGSvT9Jmy
Aprecia tus Felicitaciones.

Hola @amitchandak gracias por su respuesta.

Trataré de preparar una muestra de datos.

1. Lo que he logrado y mi solución hasta ahora

  • Después de su sugerencia de usar columnas calculadas, logré lograr mejores resultados.
  • Antes de eso, estaba intentando sobre todo con medidas calculadas.
  • Mis resultados actuales parecen estar cerca de lo que necesito.
  • Creé una columna calculada llamada _Status Dynamic

_Status Dynamic = 

VAR _refdate = fActions[_Ref Date]
VAR _deadline = fActions[Deadline]
VAR _startdate = fActions[Start Date]
VAR _finishdate = fActions[Finish Date]
VAR _flag = fActions[Flag Cancelled]

RETURN

    IF(_flag = "1", "Cancelled",            

    IF(_deadline = BLANK(), 
       "To do",

    IF(_deadline >= _refdate &&             // deadline in the future
       _startdate = BLANK() ||              // no initiated OR
       _startdate > _refdate &&             // initiated in the future
       _finishdate = BLANK() ||             // no finished OR 
       _finishdate > _refdate,              // finished in the future
       "To do", 

    IF(_deadline < _refdate &&              // deadline in the past
       _finishdate = BLANK() ||             // not finished OR
       _finishdate > _refdate,              // finished in the future
       "Delayed", 

    IF(_deadline >= _refdate &&             // deadline in the future
       _startdate <> BLANK() &&             // initiated
       _startdate <= _refdate &&            // initiated in the past
       _finishdate = BLANK() ||             // not finished OR 
       _finishdate > _refdate,              // finished in the future
       "Ongoing", 

    IF(_startdate <> BLANK() &&             // initiated
       _startdate <= _refdate &&            // initiated in the past OR now
       _finishdate <> BLANK() &&            // finished
       _finishdate <= _refdate,             // finished in the pas OR now
       "Done", 
       
       "Review"
        
    ))))))

2. El resultado

  • Con este cálculo, puedo definir manualmente una fecha de referencia y obtener el recuento de estado en un gráfico de barras apiladas para esa fecha de referencia. Los números coinciden.
  • El problema es que necesito tener varias fechasde referencia, con una barra apilada para cada una, y el recuento de estado para fechas pasadas debe ser inmutable.
    • Ejemplo: una acción señalada como "hacer" la semana pasada debe contabilizarse como Estado - "Hacer" el 20 de mayo.
    • Esta misma acción, si finaliza el 26 de mayo, debe contabilizarse como Estado - "Hecho" el 27 de mayo.

¿Sugerencias?

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

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.