Get certified for free when you join Fabric Data Days 2026 and dive into Fabric, Power BI, SQL, AI, and other essential data skills.
Join nowData Days is here! Join us now for 60+ days of learning, challenges, and connection. Learn more
Hola, chicos
Explorando el lenguaje DAX y estoy asombrado hasta ahora. La mayoría de las cosas que pude conseguir, excepto por la retención bruta. Espero que algunos de ustedes sepan conseguirlo. Es necesario obtener la retención bruta filtrada por fechas de informe en la tabla dinámica.
Estas columnas son mi conjunto de datos.
| Índice | Nombre de la cuenta | Cliente | Cohorte de clientes | Fecha del informe | Finalización de MRR |
Pude obtener la cantidad neta retenida de clientes que han firmado antes de 12 meses o más, pero cuando intenté hacer lo mismo con la cantidad bruta (si terminar MRR antes de 12 meses < poner fin mrR hoy entonces terminando MRR hoy de otra manera terminando MRR antes de 12 meses) funcionó bueno cuando uso "Cliente" como filas. Cuando utilizo "Fechas de informe", la fórmula se aplica en la suma de las fechas del informe.
Necesitaría tener un valor fijo de la suma del importe bruto retenido del cliente, pero en una fila de fecha de informe.
| Etiquetas de fila | Suma de MRR final (corriente) | Mismo período el año pasado MRR | 12 meses neto retenido MRR | GROSS RETAINED |
| 4/30/2014 | 4569 | 2968.3097 | 3880.4182 |
¿Es posible conseguirlo?
Estaría tan agradecida de que ustedes puedan ayudar.
¡Muchas gracias!
Hola
Según su descripción, creo que es un problema total de medida.
Así que extraito algunos datos de muestra de su Excel para probar:
A continuación, cree una medida como lógica:
Measure 1 = MIN(SUM('Table'[Same period last year]),SUM('Table'[Sum of Ending MRR]))Muestra el mismo problema que ha publicado:
A continuación, pruebe esta medida:
Measure 2 = SUMX(GROUPBY('Table','Table'[Date],'Table'[Customer ID]),CALCULATE(MIN(SUM('Table'[Same period last year]),SUM('Table'[Sum of Ending MRR]))))El resultado muestra:
Intente crear una columna calculada para comprobar:
Gross retained = MIN('Table'[Same period last year],'Table'[Sum of Ending MRR])Muestra lo mismo con la medida 2:
Aquí está mi archivo pbix de prueba:
Espero que esto ayude.
Saludos
Giotto Zhi
Hey, @v-gizhi-msft muchas gracias por su respuesta!!
¡Tu solución es genial! pero sólo hay una pequeña diferencia, así que no puedo aplicarlo - El mismo período del año pasado es una medida en mi modelo, pero no una columna calculada - pero me dio una idea cool, ¿por qué no debería crear una columna como esta en el conjunto de big data. Pero no estoy seguro de cómo.
¿Puede saque mi conjunto de datos:
¿Cómo podría obtener la columna deseada del mismo período del año pasado (naranja)? Intenté con EARLIER y SAMEPERIODLASTYEAR, pero siempre se detuvo en algún lugar del proceso.
| Nombre de la cuenta | Finalización de MRR | Fecha del informe | El mismo período del año pasado MRR |
| A | 50 | 7/31/2017 | |
| A | 50 | 8/31/2017 | |
| A | 58 | 9/30/2017 | |
| A | 70 | 10/31/2017 | |
| A | 50 | 11/30/2017 | |
| A | 50 | 12/31/2017 | |
| A | 50 | 1/31/2018 | |
| A | 50 | 2/28/2018 | |
| A | 50 | 3/31/2018 | |
| A | 50 | 4/30/2018 | |
| A | 50 | 5/31/2018 | |
| A | 100 | 6/30/2018 | |
| A | 100 | 7/31/2018 | 50 |
| A | 200 | 8/31/2018 | 50 |
| A | 200 | 9/30/2018 | 58 |
| A | 200 | 10/31/2018 | 70 |
| B | 200 | 1/31/2019 | |
| B | 269 | 2/28/2019 | |
| B | 200 | 3/31/2019 | |
| B | 200 | 4/30/2019 | |
| B | 200 | 5/31/2019 | |
| B | 200 | 6/30/2019 | |
| B | 200 | 7/31/2019 | |
| B | 200 | 8/31/2019 | |
| B | 200 | 9/30/2019 | |
| B | 200 | 10/31/2019 | |
| B | 50 | 11/30/2019 | |
| B | 50 | 12/31/2019 | |
| B | 50 | 1/31/2020 | 200 |
| B | 50 | 2/29/2020 | 269 |
Muchas gracias una vez más!
Hola
Por favor, pruebe esta columna calculada:
Same period last year MRR =
VAR MinYearPerName =
YEAR (
CALCULATE (
MIN ( 'Table'[Report Date] ),
FILTER ( 'Table', 'Table'[Account Name] = EARLIER ( 'Table'[Account Name] ) )
)
)
VAR a = 'Table'[Report Date]
RETURN
IF (
YEAR ( 'Table'[Report Date] ) <> MinYearPerName,
CALCULATE (
MAX ( 'Table'[Ending MRR] ),
FILTER (
'Table',
'Table'[Account Name] = EARLIER ( 'Table'[Account Name] )
&& 'Table'[Report Date]
= DATE ( YEAR ( a ) - 1, MONTH ( a ) + 1, 1 ) - 1
)
),
BLANK ()
)El resultado muestra:
Saludos
Giotto Zhi
Muchas gracias @v-gizhi-msft ! ¡Funciona PERFECTAMENTE!
¡Todo lo mejor de Croacia!
¡Gracias!
Es un poco difícil de seguir. Por favor, consulte este post sobre cómo obtener su pregunta respondida rápidamente: https://community.powerbi.com/t5/Community-Blog/How-to-Get-Your-Question-Answered-Quickly/ba-p/38490
Pero, muchas veces si solo quieres un valor fijo para algo terminas usando ALL para asegurarte de que no estás aplicando ningún filtro. O ALLEXCEPT si solo desea algunos filtros.
Hey @Greg_Deckler !
Gracias por el gran post.
Estoy adjuntando los datos de muestra que utilizan las fórmulas reales. Adjuntarlo en el modelo de datos de Excel con fórmulas DAX porque es más fácil de visualizar. Si puedes echar un vistazo, te lo agradecería.
https://mobilnainformatika-my.sharepoint.com/:x:/g/personal/tkozul_mobilnainformatika_onmicrosoft_co...
La explicación que escribí antes tendrá mucho más sentido ahora.
Don't miss out on Data Days, June 15 through August 7. Learn Fabric, Power BI, SQL, AI and more.
Check out the May 2026 Power BI update to learn about new features.