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
Anonymous
Not applicable

Medida DAX necesaria para encontrar el 25% más antiguo de los registros

Hola, chicos

Mi mente se ha quedado completamente en blanco en esto, así que tal vez alguien pueda señalarme en la dirección correcta.

Tengo una tabla que contiene registros de activos, en su forma más simple se ve así a continuación:

Capture.JPG

Me han pedido que lo descubra

1. el 25% más antiguo de los activos en el patrimonio (la edad se basa en la columna de fecha de compra)

2. El coste de la sustitución del 25 % más antiguo (un portátil de reemplazo de 1300 euros, un escritorio de reemplazo de 750 euros, un servidor de sustitución de 5000 euros)

Simplemente no puedo encontrar la mejor función para crear las medidas necesarias. Cualquier idea muy bienvenida 🙂

9 REPLIES 9
v-jayw-msft
Community Support
Community Support

Hola @PhoenixBird ,

Puede utilizar la función RANKX() para obtener los registros del 25% más antiguos.

Fórmulas para su referencia.

measure 1 = SELECTEDVALUE('Table'[date])

Measure 2 = 
RANKX ( ALL ( 'Table' ), [measure 1],, ASC, DENSE )

Measure 3 = 
IF ( [Measure 2] < MAXX ( ALL ( 'Table' ), [Measure 2] ) * .25, 1, 0 )

Measure 4 = 
IF (
    [Measure 3] = 1,
    SWITCH (
        TRUE (),
        SELECTEDVALUE ( 'Table'[type] ) = "laptop", 1500,
        SELECTEDVALUE ( 'Table'[type] ) = "desktop", 750,
        SELECTEDVALUE ( 'Table'[type] ) = "server", 5000
    ),
    SELECTEDVALUE ( 'Table'[value] )
)

Measure 5 = SUMX(ALL('Table'),'measure'[Measure 4])

La medida 1 y 2 hacen el trabajo de clasificación, la medida 3 marca los registros más antiguos del 25% y luego la medida 4 reemplaza los valores y mide 5 suma los valores.

En additon, podría combinar estas fórmulas si lo desea.

2.PNG

Saludos

Jay

Community Support Team _ Jay
If this post helps, then please consider Accept it as the solution
to help the other members find it.
Anonymous
Not applicable

Gracias por tu ayuda Jay. Esto parece más prometedor.

La medida 1 funciona bien. Sin embargo, hay un problema cuando agredo la Medida 2 a la tabla. La medida 1 devuelve en blanco para algunos activos y la medida 2 devuelve "1" para muchos de ellos (porque la medida 1 no puede devolver la fecha de compra)..

PhoenixBird_2-1600081515347.png

Fowmy
Super User
Super User

@PhoenixBird

Para calcular el coste de sustitución del 25% más antiguo de los activos, agregue una nueva columna a la tabla de activos para calcular la edad en días de la siguiente manera:

Asset Age = DATEDIFF( [Purchase Date] , TODAY() , DAY )

Fowmy_0-1599723808079.png

Cree la siguiente Medida para calcular el Coste de sustitución: Si necesita cambiar el 25%, cambie el valor _Age

Replacement Cost-Oldest 25% = 
VAR _Age = 0.25 
VAR _TOTAL = COUNTROWS( ALLSELECTED(Table4) )
RETURN
SUMX(
    Table4,
    VAR _BELOW = COUNTROWS( FILTER( ALL(Table4[Asset Age]) , Table4[Asset Age] < EARLIER([Asset Age]) )) RETURN
    IF( DIVIDE( _BELOW , _TOTAL ) >= (1-_Age) , 
        SWITCH( Table4[Machine Type] ,
            "Laptop" , 1300,
            "Desktop" , 750,
            "Server" , 5000 
        )
    )
)


Salida deseada:

Fowmy_1-1599723976202.png

________________________

Si mi respuesta fue útil, por favor Acédárlala como la solución para ayudar a los otros miembros

Haga clic en el icono Thumbs-Up si le gusta esta respuesta 🙂

Youtube Linkedin




Did I answer your question? Mark my post as a solution! and hit thumbs up


Subscribe and learn Power BI from these videos

Website LinkedIn PBI User Group

Anonymous
Not applicable

Gracias. He intentado esto, pero no parece obtener ningún valor usando la nueva medida? ¡No estoy seguro de lo que estoy haciendo mal!

PhoenixBird_0-1599732498125.png

@Anonymous 

Can you check if any date filter is applied? Hope you can see the Asset Age Column with values.

Share a sample PBIX file with dummy data to check

________________________

If my answer was helpful, please consider Accept it as the solution to help the other members find it

Click on the Thumbs-Up icon if you like this reply 🙂

YouTube  LinkedIn

Did I answer your question? Mark my post as a solution! and hit thumbs up


Subscribe and learn Power BI from these videos

Website LinkedIn PBI User Group

amitchandak
Super User
Super User

@PhoenixBird , creo que necesita crear rango y encontrar percentil. Basado en la fecha de compra.

Añadir segundos aleatorios para la fecha un intento de crear una columna de rango único en la fecha de compra y luego dividir por rango máximo para obtener por debajo de .25

Para rango Consulte estos enlaces
https://radacad.com/how-to-use-rankx-in-dax-part-1-of-3-calculated-columns
https://radacad.com/how-to-use-rankx-in-dax-part-3-of-3-the-finale // Disyuntor de corbata para rango

Percentil superior

https://blog.enterprisedna.co/implementing-80-20-logic-in-your-power-bi-analysis/
https://forum.enterprisedna.co/t/testing-the-pareto-principle-80-20-rule-in-power-bi-w-dax/459

darentengmfs
Post Prodigy
Post Prodigy

Hola @PhoenixBird

Podrías probar esto

Vaya al Editor de consultas, ordene la fecha de más antigua a más reciente, agregue una columna de índice. A continuación, cree una nueva medida con la función MAX en la columna de índice y divídala por 4 (lo que le da un 25%). Creo que la medida tendrá este aspecto: Old_25 - MAX([IndexColumn]/4

A continuación, aplique un filtro en la columna de índice, cualquier número que sea menor o igual a Old_25 será el activo del 25% más antiguo.

Anonymous
Not applicable

Gracias por la sugerencia,. Agregué una columna de índice e intenté hacer la medida como describió, pero no funciona del todo:

PhoenixBird_0-1599683130041.png

Hola @PhoenixBird

Cree una nueva columna en la tabla con todos sus datos:

Filtro de 25% antiguo : if([Index] <- [Más antiguo 25%], "Sí", "No")

Cualquier cosa aquí que sea un "Sí" será su activo más antiguo del 25%.

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

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

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