Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Grow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.

Reply
Syndicate_Admin
Administrator
Administrator

Necesita ayuda para crear una medida para calcular la tasa de rollo % de las cuentas morosas

Hola amigos,

Actualmente estoy atrapado en una situación en la que estoy tratando de calcular el porcentaje de tasa de ejecución de las cuentas morosas en Power BI. Tengo la morosidad listada en catergories: 1-30, 31-60, 61-90, 90+ y así sucesivamente junto con las fechas. Quiero crear una medida que devuelva el valor del % de Roll Rate para cada categoría (1-30, 31-60, 61-90, 90+ y así sucesivamente) en función de las cantidades. Pude calcularlos en Excel y he probado varias medidas en Power BI pero no tuve suerte.

Por ejemplo, para calcular la tasa de rollo de 1-30%: dividí la cantidad de 1-30 del mes actual por la cantidad actual del mes anterior. Consulte las capturas de pantalla para ver el cálculo de muestra.

Además, adjunto una tabla con un conjunto de datos de ejemplo como referencia. Agradecería mucho cualquier tipo de ayuda con esto.

¡Gracias de antemano!



Calculation SS1.pngCalculation SS2.png

FechaActual1-301-30 Tasa de rollo %31-6031-60 Tasa de rollo %61-9061-90 Tasa de rollo %91+ 91+ tasa de rollo %
2019-01-315700069000 124374 38732 8686
2019-02-281000004500079%39848355775%2354619%54366140%
2019-03-31157000800000800%48757108%557651%67676287%
2019-04-30400700700000446%56453571%323423663%77667139%
2019-05-31500900478096119%424546%57657561021%65672%
2019-06-3080070034545369%46456797%45344107%74550%
2019-07-319001002335346292%78768762280%76872%67765149%
2019-08-31100140025356428%55546624%6656778%56363733%
2019-09-30112000023355323%67676872669%425468%7656712%




2 ACCEPTED SOLUTIONS
Syndicate_Admin
Administrator
Administrator

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("VZFZjoNADETvwneQ3C5vfZYo97/GeIEJEUhuNX6uKvN+H0xrn7ROrON1qBNRVttTFwtc8oBwcNawsOPzujE+OaqNaPpFp2KHBDRPDBWryQJ7khjBdSvG/4hw9QLUrQaY5/MA5US3EXn3+w2qibYkGMKoT27mD1SvkER7pDxolzlhUen4pq51Y/pD2ojGLYrs15KQFDXv5JAa4aL6AH0kU281yEA2loKHW751ytpBK/AXjWtDicqwGc/apuZO22XZ7GUZDA92j9+1+FpO6bbhXmfrCc+f8cn6+QM=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Date = _t, Current = _t, #"1-30" = _t, #"31-60" = _t, #"61-90" = _t, #"91+ " = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Date", type date}, {"Current", type number}, {"1-30", type number}, {"31-60", type number}, {"61-90", type number}, {"91+ ", type number}}),
    #"Added Index" = Table.AddIndexColumn(#"Changed Type", "Index", 0, 1, Int64.Type),
    #"Added Custom" = Table.AddColumn(#"Added Index", "1-30 %", each try [#"1-30"]/#"Changed Type"[Current]{[Index]-1} otherwise null),
    #"Added Custom1" = Table.AddColumn(#"Added Custom", "31-60 %", each try [#"31-60"]/#"Changed Type"[#"1-30"]{[Index]-1} otherwise null),
    #"Added Custom2" = Table.AddColumn(#"Added Custom1", "61-90 %", each try [#"61-90"]/#"Changed Type"[#"31-60"]{[Index]-1} otherwise null),
    #"Added Custom3" = Table.AddColumn(#"Added Custom2", "91+ %", each try [#"91+ "]/#"Changed Type"[#"61-90"]{[Index]-1} otherwise null),
    #"Changed Type1" = Table.TransformColumnTypes(#"Added Custom3",{{"1-30 %", Percentage.Type}, {"31-60 %", Percentage.Type}, {"61-90 %", Percentage.Type}, {"91+ %", Percentage.Type}})
in
    #"Changed Type1"

Cómo usar este código: Crear una nueva consulta en blanco. Haga clic en "Editor avanzado". Reemplace el código en la ventana con el código proporcionado aquí. Haga clic en "Listo".

View solution in original post

Syndicate_Admin
Administrator
Administrator

Hola

Puede descargar mi archivo PBI desde aquí.

Espero que esto ayude.

Untitled.png

View solution in original post

9 REPLIES 9
Syndicate_Admin
Administrator
Administrator

Hola

Puede descargar mi archivo PBI desde aquí.

Espero que esto ayude.

Untitled.png

Hola Ashish,

Muchas gracias por brindar orientación. Probé esto y funcionó bien :). Sin embargo, quiero que los valores cambien de acuerdo con los filtros (como socios prestamistas, provincias, etc.) Yo elijo, ¿hay alguna solución para hacerlo dinámico según los filtros elegidos? Por ejemplo, en Excel había aplicado filtros en la tabla dinámica y cuando seleccioné diferentes opciones desplegables a través de filtros, el valor de salida cambió en consecuencia.

¡Agradezco mucho su ayuda!
¡Gracias!

"Sin embargo, quiero que los valores cambien de acuerdo con los filtros (como socios prestamistas, provincias, etc.) "

Proporcione datos de muestra desinfectados que cubran completamente su problema.


En realidad, no importa que finalmente lo descubrí. Se utilizó la función de filtro para filtrar cada days_delq y calcular a partir de ahí.

Estoy muy agradecido a ambos por brindar orientación con mi situación. ¡Elogios! :))

De nada.

Hola

FechaCuentasSocio prestamistaMonto del préstamoDays_delqProvinciaNivel
01/31/20193DL25000ActualNST4
01/31/20191LP745000'1-30ENT2
02/28/20195LP479000ACTUALPOR QUÉT3
02/28/20198Lp1899000'61-90NTT2
03/31/20197LP356000'91+ENT5
03/31/20194LP243000REPONTT4
04/30/20192LP5789000'31-60RTT4
04/30/20195LP356000'61-90ENT3
04/30/20196LP6763400'91+POR QUÉT2


Así que mis datos en bruto se ven algo como esto, solo que es enorme en tamaño. Entonces, básicamente, convertí estos datos en una tabla dinámica y mantuve Province, Lending Partner y Tiers como filtros, luego puse la fecha en la columna archivada days_delq. en el campo de filas y el importe del préstamo en el campo de valores. Más tarde, pegó los datos de la tabla dinámica como valores debajo e insertó filas y realizó el siguiente cálculo para cada days_delq. categoría, por ejemplo, '1-30 Tasa de rollo%= dividido '1-30 cantidad del mes actual por la cantidad actual del mes anterior y así sucesivamente para todos ellos. Luego, utilizó la validación de datos y creó una lista desplegable para las fechas y adyacente a ella usó una instrucción big if para devolver el valor basado en una selección particular (captura de pantalla adjunta a continuación). Drop Down SS.png
Por lo tanto, cuando se elige un determinado filtro, los valores de cada categoría cambian en consecuencia.

Lo que originalmente publiqué aquí fue solo las cantidades en cada categoría y, por lo tanto, mis filtros no funcionan. Captura de pantalla a continuación: Tranpose SS.png
PS ignora los 0 en los campos ya que ese período no tenía ninguna cantidad asociada.
¡Gracias!

Syndicate_Admin
Administrator
Administrator

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("VZFZjoNADETvwneQ3C5vfZYo97/GeIEJEUhuNX6uKvN+H0xrn7ROrON1qBNRVttTFwtc8oBwcNawsOPzujE+OaqNaPpFp2KHBDRPDBWryQJ7khjBdSvG/4hw9QLUrQaY5/MA5US3EXn3+w2qibYkGMKoT27mD1SvkER7pDxolzlhUen4pq51Y/pD2ojGLYrs15KQFDXv5JAa4aL6AH0kU281yEA2loKHW751ytpBK/AXjWtDicqwGc/apuZO22XZ7GUZDA92j9+1+FpO6bbhXmfrCc+f8cn6+QM=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Date = _t, Current = _t, #"1-30" = _t, #"31-60" = _t, #"61-90" = _t, #"91+ " = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Date", type date}, {"Current", type number}, {"1-30", type number}, {"31-60", type number}, {"61-90", type number}, {"91+ ", type number}}),
    #"Added Index" = Table.AddIndexColumn(#"Changed Type", "Index", 0, 1, Int64.Type),
    #"Added Custom" = Table.AddColumn(#"Added Index", "1-30 %", each try [#"1-30"]/#"Changed Type"[Current]{[Index]-1} otherwise null),
    #"Added Custom1" = Table.AddColumn(#"Added Custom", "31-60 %", each try [#"31-60"]/#"Changed Type"[#"1-30"]{[Index]-1} otherwise null),
    #"Added Custom2" = Table.AddColumn(#"Added Custom1", "61-90 %", each try [#"61-90"]/#"Changed Type"[#"31-60"]{[Index]-1} otherwise null),
    #"Added Custom3" = Table.AddColumn(#"Added Custom2", "91+ %", each try [#"91+ "]/#"Changed Type"[#"61-90"]{[Index]-1} otherwise null),
    #"Changed Type1" = Table.TransformColumnTypes(#"Added Custom3",{{"1-30 %", Percentage.Type}, {"31-60 %", Percentage.Type}, {"61-90 %", Percentage.Type}, {"91+ %", Percentage.Type}})
in
    #"Changed Type1"

Cómo usar este código: Crear una nueva consulta en blanco. Haga clic en "Editor avanzado". Reemplace el código en la ventana con el código proporcionado aquí. Haga clic en "Listo".

Hola

En primer lugar, me gustaría darle las gracias por proporcionar asistencia en mi caso.
Cuando intenté pegar la consulta anterior, se me encontró con un mensaje de error. Adjunto una captura de pantalla del mensaje. Además, mi tabla de referencia es: 'Datos' (visto en la captura de pantalla), así que copié la consulta de origen desde allí y la pegué en lugar de "

Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("VZFZjoNADETvwneQ3C5vfZYo97/GeIEJEUhuNX6uKvN+H0xrn7ROrON1qBNRVttTFwtc8oBwcNawsOPzujE+OaqNaPpFp2KHBDRPDBWryQJ7khjBdSvG/4hw9QLUrQaY5/MA5US3EXn3+w2qibYkGMKoT27mD1SvkER7pDxolzlhUen4pq51Y/pD2ojGLYrs15KQFDXv5JAa4aL6AH0kU281yEA2loKHW751ytpBK/AXjWtDicqwGc/apuZO22XZ7GUZDA92j9+1+FpO6bbhXmfrCc+f8cn6+QM=", BinaryEncoding.Base64), Compression.Deflate))

, ¿Crees que la fuente que puse es precisa? Te estaría muy agradecido si pudieras ayudarme a resolver esto, ya que me he estado rascando la cabeza durante días.
¡Gracias! Roll Rate error.png

En la línea 4, sustitúyase "Fuente" por "Data_Sheet"

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

MayPowerBICarousel

Power BI Monthly Update - May 2024

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