Advance your Data & AI career with 50 days of live learning, dataviz contests, hands-on challenges, study groups & certifications and more!
Get registeredGet Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Learn more
Necesito un poco de ayuda con la forma en que PowerBI puede ayudar a lograr lo que estamos tratando de hacer.
A un usuario le gustaría seleccionar una fecha y nos gustaría devolver solo los registros más recientes de una persona. Aquí está nuestro ejemplo
Juan Fulano
12345, 2024-06-24, John Doe, 123 Main Street, Anytown, TX
12345, 2024-06-15, John Doe, 999 Main Street, Anytown, CA
12345, 2024-06-02, John Doe, 4567 Hills Drive, Anytown, TX
Jane Smith
99993, 2024-06-28, Jane Smith, 123 Main Street, Anytown, TX
99993, 2024-06-07, J Doe, 999 Main Street, Anytown, CA
99993, 2024-06-05, Jane Doe, 4567 Hills Drive, Anytown, TX
En nuestro ejemplo, si el usuario selecciona una fecha = 2024-06-14, entonces querríamos la fila 1 de John Doe y la fila 2 de Jane Smith.
¿Hay alguna manera de que PowerBI pueda lograr esto?
¡Gracias!
Hola @jmoedata ,
Gracias por la respuesta de @VN999 , permítanme proporcionar otra idea:
1. Crea una tabla de fechas.
DAX DateTable = 
ADDCOLUMNS (
    CALENDAR(DATE(2024,6,1), DATE(2024,6,30)),
    // CALENDARAUTO(),
    "Year", YEAR([Date]),
    "Quarter", "Q" & FORMAT(CEILING(MONTH([Date])/3, 1), "#"),
    "Quarter No", CEILING(MONTH([Date])/3, 1),
    "Month No", MONTH([Date]),
    "Month Name", FORMAT([Date], "MMMM"),
    "Month Short Name", FORMAT([Date], "MMM"),
    "Month Short Name Plus Year", FORMAT([Date], "MMM,yy"),
    "DateSort", FORMAT([Date], "yyyyMMdd"),
    "Day Name", FORMAT([Date], "dddd"),
    "Details", FORMAT([Date], "dd-MMM-yyyy"),
    "Day Number", DAY ( [Date] )
)
2. Crea una medida.
MEASURE =
VAR _date =
    CALCULATE (
        MAX ( 'Jane Smith'[date] ),
        FILTER (
            ALL ( 'Jane Smith' ),
            'Jane Smith'[date] <= MAX ( 'DAX DateTable'[Date] )
        )
    )
RETURN
    IF ( MAX ( 'Jane Smith'[date] ) = _date, 1, 0 )
3. Filtre los datos con un valor de medida de 1.
La misma operación se realiza en la otra tabla. No voy a entrar en detalles aquí. Para obtener más información, consulte el archivo adjunto.
Si su período actual no se refiere a esto, por favor aclárelo en una respuesta de seguimiento.
Saludos
Clara Gong
Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Gracias. Creo que esto se acerca a lo que estoy buscando. Si todos los datos están en la misma tabla y queremos agregarlos para encontrar el recuento de personas, esto no parece estar funcionando. ¿Alguna idea?
Hola @jmoedata ,
De acuerdo con su descripción, modifiqué los datos.
Crear medida.
Measure =
VAR _max_date = CALCULATE(MAX('Table'[date]),FILTER(ALL('Table'),'Table'[name] = MAX('Table'[name]) && 'Table'[date] <= MAX('DAX DateTable'[Date])))
RETURN
IF(MAX('Table'[date]) = _max_date,1,0)
Filtre el valor de la medida igual a 1.
Saludos
Clara Gong
Si esta publicación ayuda, considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.
Gracias por su ayuda en esto, pero no puedo hacer que esto funcione. Cuando intento filtrar las filas donde Measure = 1, puedo obtener las filas individuales, pero si intento hacer cualquier agregación como count, mi conjunto de resultados no devuelve nada. ¿Hay alguna manera de filtrar las filas a la fila actual en función de la fecha seleccionada y realizar la agregación? Gracias.
Hola @jmoedata ,
Lo siento, no entiendo muy bien su nuevo requisito. ¿Puedes usar capturas de pantalla o mesas virtuales para mostrar los resultados esperados?
Además, ¿puede compartir datos de muestra y salida de muestra en formato de tabla? O un ejemplo de pbix después de eliminar datos confidenciales. Podemos entender mejor el problema y ayudarle.
Saludos
Clara Gong
Si esta publicación ayuda, considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.
Aquí hay una captura de pantalla de lo que estoy tratando de hacer con los diferentes ejemplos de los datos. Por favor, avíseme si tiene ideas basadas en los comentarios de la captura de pantalla. (Intenté cargar el archivo .pbix, pero no es compatible)
¡Gracias!
Hola @jmoedata ,
Puede crear nuevas MEDIDAS para que se cuenten con las MEDIDAS anteriores.
Measure 2 = 
COUNTX(FILTER('Table',[Measure] = 1),[Measure])
Saludos
Clara Gong
Si esta publicación ayuda, considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.
Gracias, pero ¿por qué el mío mostraría count = 6 cuando uso esa misma fórmula?
Hola @jmoedata ,
¿Puede compartir su archivo pbix (después de eliminar los datos confidenciales)? Para que pueda ayudarte a ver cuál es el problema.
Además, puede compararse con el archivo adjunto, por ejemplo, si tiene varias filas de datos duplicados en sus datos de origen, etcétera.
Saludos
Clara Gong
Si esta publicación ayuda, considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.
¡Pude hacer que esto funcionara ya que su solución era correcta! ¡Gracias por tu ayuda!
Consulte esta publicación existente en el enlace a continuación que podría ayudarlo a resolver este requisito:
Resuelto: Fórmula DAX para devolver el costo más reciente de SKU - Microsoft Fabric Community
Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!
Check out the October 2025 Power BI update to learn about new features.