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
Syndicate_Admin
Administrator
Administrator

Filtro de última visita según fecha (parte II)

Hola

Así que venimos de aquí; https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Variable-column-depending-on-filters...

La necesidad original era obtener un filtro de última visita: Normalmente evaluamos la presencia de nuestros productos en varias tiendas. Por lo tanto, es útil tener el número de centros con nuestros productos en la última fecha que revisamos. Podría solucionarlo haciendo una medida que seleccione lastdate de cada centro, pero lo que necesito es la posibilidad de tener las mismas visuales calculando medidas relacionadas con la presencia y la posibilidad de filtrar "¿Es la última visita? Sí/No, esto dependerá de la fecha seleccionada.

ejemplo: si seleccionamos todas las fechas de la siguiente tabla, Presencia con "¿Es la última visita?= Sí" sumará 2. Contrariamente a eso, filtro "Es la última visita = Sí y No", el resultado será 5.

Tienda//Fecha de la visita(DD/MM/AAAA)//Presencia de nuestro producto

Centro A01/01/2023
Centro B02/01/2023NO
Centro C04/01/2023
Centro D15/01/2023NO
Centro B02/02/2023
Centro B04/02/2023
Centro A08/02/2023NO
Centro C09/02/2023NO
Centro D02/02/2023NO
Centro A10/02/2023

El desarrollo proporcionado por @v-yiruan-msft es correcto, pero solo funciona cuando desea obtener el detalle de una presencia Sí o No. Cuando desea ver los detalles de SÍ y NO en una imagen, no es preciso por alguna razón.

El desarrollo original se basa en tres medidas:

Last visit filter = 
VAR _mindate =
    MIN ( 'CALENDAR'[Date] )
VAR _maxdate =
    MAX ( 'CALENDAR'[Date] )
VAR _selshop =
    SELECTEDVALUE ( 'Date of visit'[Shop] )
VAR _selvisitdate =
    SELECTEDVALUE ( 'Date of visit'[Date of visit] )
VAR _lastvisitdate =
    CALCULATE (
        MAX ( 'Date of visit'[Date of visit] ),
        FILTER ( ALLSELECTED ( 'Date of visit' ), 'Date of visit'[Shop] = _selshop )
    )
RETURN
    IF (
        _selvisitdate < _mindate
            || _selvisitdate > _maxdate,
        BLANK (),
        IF (
            _selvisitdate = _lastvisitdate
                && _selvisitdate >= _mindate
                && _selvisitdate <= _maxdate,
            "Y",
            "N"
        )
    )

Presence Yes = 
VAR _filter = [Last visit filter]
VAR _tab =
    SUMMARIZE (
        'Date of visit',
        'Date of visit'[Shop],
        'Date of visit'[Date of visit],
        'Date of visit'[Presence of our product],
        "@lastvisit", _filter
    )
RETURN
    COUNTX (
        FILTER (
            _tab,
            [@lastvisit]
                IN ALLSELECTED ( 'Last Visit'[Last Visit] )
                    && [Presence of our product] = "NO"
        ),
        [Date of visit]
    )

Measure = 
SUMX (
    GROUPBY (
        'Date of visit',
        'Date of visit'[Shop],
        'Date of visit'[Date of visit]
    ),
    [Presence Yes]
)

Y he intentado eliminar el "&& [Presencia de nuestro producto] = "NO", pero como puede ver en el PBI adjunto aquí, no funcionará cuando usamos la columna "presencia de nuestro producto" para describir el principio. El número correcto es "No" = 232, pero si usamos la columna para describir obtenemos 242 en su lugar.

Mape94_0-1686566438930.png


Debo estar perdiendo algo. Le daré los datos de muestra aquí y el archivo PBIX:

https://drive.google.com/file/d/177di68NHMkjZ3-ovYjYq4jmirXY76YKq/view?usp=sharing

https://docs.google.com/spreadsheets/d/1EMqQVraRaQrSxW02-RbgMV6XBa9nclSx/edit?usp=sharing&ouid=10280...

¡Muchas gracias de antemano!

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

Hola v-yanjiang, gracias por tu respuesta y pido disculpas si no me aclaré.

La medida, como dijiste arriba en tu imagen, funciona, pero no es correcta. Por ejemplo, el número correcto de "No" es 232 como mostré en mi muestra, no 242. Además, si verifica sus números en la tabla, no suman 242 + 215 + 2 no es 445. El número correcto es NO= 232 + SÍ = 211 BLANK=2, ¡y eso es 445!

Espero haberlo aclarado.

Syndicate_Admin
Administrator
Administrator

@Mape94 ,

Después de mucho tiempo de investigación, todavía no tengo muy clara su muestra y propósito. Como su descripción "He intentado eliminar la parte "&& [Presencia de nuestro producto] = "NO"", pero ¿por qué no eliminarla?, aquí está el resultado de eliminar la pieza.

vyanjiangmsft_0-1686728722721.png

Saludos

Apoyo a la comunidad Team_yanjiang

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

April Fabric Community Update

Fabric Community Update - April 2024

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

March 2024 PBI Gallery Image

Power BI Monthly Update - March 2024

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