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

Get certified in Microsoft Fabric—for free! For a limited time, get a free DP-600 exam voucher to use by the end of 2024. Register 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
November Carousel

Fabric Community Update - November 2024

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

Live Sessions with Fabric DB

Be one of the first to start using Fabric Databases

Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.

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! Early Bird pricing ends December 9th.

Nov PBI Update Carousel

Power BI Monthly Update - November 2024

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

Top Solution Authors
Top Kudoed Authors