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

Be one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now

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
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

Dec Fabric Community Survey

We want your feedback!

Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.

ArunFabCon

Microsoft Fabric Community Conference 2025

Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.

Top Solution Authors
Top Kudoed Authors