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
Syndicate_Admin
Administrator
Administrator

Retención de políticas

Hola a todos,

He estado atascado un tiempo con esto y estoy bastante seguro de que hay una manera simple de hacerlo, pero siempre he luchado con los filtros.

Pbix de ejemplo de datos:

https://1drv.ms/u/s!AqZ-UB8XHC8si3JwwFVo_kInMdD4?e=riqnGQ

Contexto: Datos que contienen información sobre políticas de enero a agosto de 2021 y durante cuánto tiempo han estado vigentes.

Campos importantes:

  • Tenenciaprimermestre: Fecha de inicio de la póliza.
  • TotalMonthDurationDR : Número de meses completos que la póliza ha estado en vigor.
  • TenureStartYearMonth : Mes de inicio de la póliza.

Estoy intentando crear un objeto visual de retención. Primero creé la siguiente medida (acumulativa inversa):

Retention = 
var retention = CALCULATE([Policy Count],FILTER(ALL(Sheet4[TotalnMonthDurationDR]),Sheet4[TotalnMonthDurationDR]>=min(Sheet4[TotalnMonthDurationDR])))
return
if(ISBLANK([Policy Count]),blank(),retention)

De modo que cuando se coloca en un gráfico de líneas con el TotalMonthDurationDR como eje x básicamente muestra cuántas políticas han completado 0,1,2,3... Meses:

orlandopowerbi_1-1632091557743.png

Bueno, ahora, la parte final que parece que no puedo lograr es dividir esta medida por el número de pólizas que se han emitido, para mostrar el porcentaje de retención. Aquí está la parte difícil, solo quiero dividir por el recuento total de políticas emitidas que ya podrían haber llegado al 5º, 6º, 7º. mes. Así, por ejemplo, las 120 pólizas que ya tienen 7 meses de estar activas, se dividirán por las políticas emitidas en enero de 2021 (porque solo esas pólizas podrían haber llegado al 7º mes). Las 256 pólizas que tienen 6 meses de actividad se dividirán por las pólizas emitidas en enero o febrero de 2021, y así sucesivamente.

El resultado deseado de la medida de este ejemplo específico sería la división de la columna Retención y la Columna total:

orlandopowerbi_3-1632092820647.png

Así que la medida de solución tendría que comparar el TotalMonthDuration con el con las diferencias entre los meses y agosto de 2021 (ya que es el último mes analizado). Una medida que probé sin éxito para calcular estas políticas emitidas es:

Test = 
var maxdate = CALCULATE(MAX(Sheet4[TenureStartyearmonth]),ALL(Sheet4[TenureStartyearmonth])) // August 2021
var issued = CALCULATE(COUNT(Sheet4[TotalnMonthDurationDR]),ALL(Sheet4[TotalnMonthDurationDR]),FILTER(Sheet4,Sheet4[TenureStartyearmonth]<=EDATE(maxdate,-Sheet4[TotalnMonthDurationDR])))
return
issued

Consideraciones:

  • Me gustaría seguir segmentando la capacidad de los campos TenureStartYearMonth (solo Año) y PolicyType, ya que los usuarios cortarán esos campos.

¡Cualquier solución o idea sería increíble! ¡¡Gracias!!

1 REPLY 1
Syndicate_Admin
Administrator
Administrator

Hay @orlandopowerbi,

>> Me gustaría seguir cortando la capacidad de los campos TenureStartYearMonth (solo Año) y PolicyType, ya que los usuarios cortarán esos campos.

Me gustaría sugerirle que eche un vistazo al siguiente blog para usar allexcept para reemplazar todas las funciones para excluir efectos de filtro específicos.

Gestión de "todas" las funciones en DAX: ALL, ALLSELECTED, ALLNOBLANKROW, ALLEXCEPT - SQLBI

Saludos

Xiaoxin Sheng

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.