Starting December 3, join live sessions with database experts and the Microsoft product team to learn just how easy it is to get started
Learn moreGet 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
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 A | 01/01/2023 | SÍ |
Centro B | 02/01/2023 | NO |
Centro C | 04/01/2023 | SÍ |
Centro D | 15/01/2023 | NO |
Centro B | 02/02/2023 | SÍ |
Centro B | 04/02/2023 | SÍ |
Centro A | 08/02/2023 | NO |
Centro C | 09/02/2023 | NO |
Centro D | 02/02/2023 | NO |
Centro A | 10/02/2023 | SÍ |
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.
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
¡Muchas gracias de antemano!
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.
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.
Saludos
Apoyo a la comunidad Team_yanjiang
Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early Bird pricing ends December 9th.