Forum Discussion

leandross89's avatar
leandross89
Icon for Helper II rankHelper II
6 years ago
Solved

Fecha anterior

Hola a todos,

Tengo un problema con unas medidas que hice. Tengo estas scollumn (Serial, In y Out) y necesito crear una medida como a continuación - (anterior - no quiero un collumn calculado)

Mis medidas tienen que mostrar la fecha anterior de IN, pero buscando la fecha de Out para cada registro.
ejemplo el producto fue reparado y después de que se rompió de nuevo. Generará un nuevo registro. este nuevo registro (columna IN) y la reparación anterior (Collumn OUT)

Porque tengo que calcular la diferencia de fecha IN (presente) - Salir (pasado) para conocer la vida temporal de cada producto.

SerialEnhacia fueraAnterior
1218-946825/03/201901/04/2019
1218-946826/06/201912/08/201901/04/2019
1218-946827/08/201902/09/201912/08/2019
1218-946816/08/201922/08/201902/09/2019
1218-946818/09/201918/09/201922/08/2019
1218-946802/03/202009/03/202018/09/2019
1218-962114/08/201914/08/2019
1218-962125/03/201910/05/201914/08/2019
1218-962102/03/2020 10/05/2019

Mis medidas son:

Anterior
FECHA de VARcurrenta - SELECTEDVALUE('Report'[IN])
VAR datepast á CALCULATE(MAX('Report'[OUT]); FILTRO(ALL('Report'[IN]);' Informe'[IN]< fechacorriente ))
devolución
datepast
Esto no funciona muy bien, para algunas filas funciona para otras no funciona.
  • Hola

    Intento tanto las medidas como las columnas para mostrar el resultado esperado que ha publicado.

    Por favor, compruebe si es lo que desea:

    pbix

    El resultado muestra:

    39.PNG

    Saludos

    Giotto

8 Replies

  • @leandross89

    Puede crear un
    Nueva columna
    Anterior á maxx(filter(table,table[Serial] ? anterior(Table[Serial]) && table[out] < earlier(Table[out])),(Table[out]))

    O Nueva medida
    Anterior á maxx(filter(all(table),table[out] < max(Table[out])),(Table[out]))

  • v-gizhi-msft's avatar
    v-gizhi-msft
    Icon for Community Support rankCommunity Support

    Hola

    Agregue primero una columna de índice en Power Query.

    A continuación, pruebe esta medida:

    Previous = 
    VAR a =
        CALCULATE (
            MAX ( 'Table'[Index] ),
            FILTER (
                ALLSELECTED ( 'Table' ),
                'Table'[Serial] IN DISTINCT ( 'Table'[Serial] )
                    && 'Table'[Index] < MAX ( 'Table'[Index] )
            )
        )
    RETURN
        CALCULATE (
            MAX ( 'Table'[out] ),
            FILTER (
                ALLSELECTED ( 'Table' ),
                'Table'[Serial] IN DISTINCT ( 'Table'[Serial] )
                    && 'Table'[Index] = a
            )
        )

    El resultado muestra:

    35.PNG

    A continuación, pruebe esta medida para calcular la diferencia de salida anterior y en:

    TimeLife = IF([Previous]<>BLANK(),DATEDIFF([Previous],MAX('Table'[in]),DAY))

    El resultado muestra:

    36.PNG

    Aquí está mi archivo pbix de prueba:

    pbix

    Espero que esto ayude.

    Saludos

    Giotto

    • leandross89's avatar
      leandross89
      Icon for Helper II rankHelper II

      @v-gizhi-msft

      He probado esta medida, funcionó en algunas partes, pero cuando quiero filtrar todos los seriales que entraron en un mes, mi filtro no funciona bien.
      Ejemplo: Pongo un filtro para saber qué serie aparece como fecha IN en MArch, pero no me muestra todo serial en marzo. Así que para mostrar todo el serial de marzo tuve que elegir un período grande. (y la elección de un período grande que me mostrará otros mes también, y necesito hacer un filtro para mostrar mes específico que se refiere TODOS los seriales en la fecha IN)
      Período grande:
      3.JPG

      Período corto:
      4.JPG
      No muestra todos los seriales que tienen en marzo, filtrando por fecha IN