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
Miguel_Angel
Frequent Visitor

Seleccione un valor basado en la fecha máxima

Hola, tengo la siguiente tabla:

pantallazo.PNG

Necesito que la tabla muestre el valor de la fecha más reciente del campo CodigoContrato, y ningún espectáculo (o valor Consumo 0) del registro repetido (cruzado en rojo). Hay una segmentación de tiempo que puede cambiar la tabla. Por ejemplo, si cambia la fecha en la segmentación de datos, tengo la tabla:

pantallazo2.PNG

Lo he intentado de muchas maneras, sin resultados.

Cualquier ayuda será apreciada

5 REPLIES 5
v-juanli-msft
Community Support
Community Support

Hola @Miguel_Angel

Cree una tabla de fechas que esté aislada de otras tablas y, a continuación, utilice la columna de fecha en una segmentación de datos.

A continuación, cree medidas

Ss

Measure =
IF (
    MAX ( 'Table 3'[Entry date] ) <= MAX ( 'Date'[Date] )
        && (
            MAX ( 'Table 3'[Termination Date] ) >= MAX ( 'Date'[Date] )
                || MAX ( 'Table 3'[Termination Date] ) = BLANK ()
        )
        && MAX ( 'Table 3'[Register date] ) <= MAX ( 'Date'[Date] ),
    1,
    0
)


Measure 2 =
IF (
    [Measure] = 1,
    RANKX (
        FILTER ( ALLEXCEPT ( 'Table 3', 'Table 3'[ID] ), [Measure] = 1 ),
        CALCULATE ( MAX ( [Register date] ) ),
        ,
        DESC,
        DENSE
    )
)

Measure 3 = IF([Measure]=1&&[Measure 2]=1,1,0)

AiolosZhao
Memorable Member
Memorable Member

Hola @Miguel_Angel ,

Cree una medida como la siguiente:

medida: max (FechaRegistro)

A continuación, utilice la medida para reemplazar la segunda columna.

Si no es lo que quieres, por favor comparte tu muestra y aclara tu pregunta.

Gracias.

Aiolos Zhao





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




Hola Aiolos, traté de simplificar el problema, pero es más complejo.

Más variables enter y la solución.

Tengo fecha de 3 columnas:

- fecha de entrada

- fecha de terminación

- Fecha de registro

La fecha de segmentación, depende de la fecha de registro. Necesito, una tabla, mostrar el último valor por id, bajo estas reglas:

- Fecha de entrada < Cortador de fecha máximo (fecha máxima de registro)

- Fecha de terminación> Cortador de fecha máximo (fecha máxima de registro)

- En el ID repetido (por ejemplo ID 7), mostrar sólo (único), el registro con la fecha de registro máxima, siempre Registrar fecha< Cortador de datos máximo. Por ejemplo, si tengo seleccionado en la segmentación de fechas: 2019-11-20, la tabla debe mostrar (Para ID 7):

pantallazo4.PNG

para la suma de los valores totales, he intentado resumir la función, y no funciona para mí:

Captura.PNG

Gracias por su tiempo

Hola @Miguel_Angel

Por favor, cree otra tabla usando

new table=Values(table[register date])

Esta nueva tabla no tiene ninguna relación con los demás.

A continuación, agregue [fecha de registro] de "nueva tabla" en una segmentación de datos,

Crear una medida

max date=max('new table'[register date])

Para mostrar solo las filas que cumplen la regla.

crear una medida

meet_rule =
IF (
    MAX ( table[Entry date] ) < [max date]
        && (
            MAX ( table[Termination date] ) > [max date]
                || MAX ( table[Termination date] ) = BLANK ()
        ),
    "should show",
    "not show"
)

A continuación, agregue esta medida a un filtro de nivel visual de tabla, aplique el filtro para mostrar las filas que desee.

Si desea sumar los valores que cumplen las reglas.

Crear una medida

sum =
CALCULATE (
    SUM ( [values] ),
    FILTER (
        table,
        table[Entry date] < [max date]
            && (
                table[Termination date] > [max date]
                    || table[Termination date] = BLANK ()
            )
    )
)

Saludos
Maggie
Equipo de apoyo a la comunidad _ Maggie Li
Si este post ayuda, entonces considera Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Hola @Miguel_Angel ,

Creo que puedes usar max() para obtener el valor. Por ejemplo:

measure: calculate(max(value),filter(all(termination date, register date),termination date > max(register date) && entry date < max(register date)))

y crear una segmentación de datos para la fecha de registro, y utilizar el igual o menor que el modo.

Por favor, inténtelo.

Aiolos Zhao





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




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.