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

¿Cómo marcar el exceso de pago del cliente?

Hola a todos

Estoy usando el siguiente código durante los últimos 2 años para marcar manualmente a esos clientes de alto riesgo, ya que no realizan la base de pago en el plazo de crédito que se les dio:

_HIGH RIESGO = SI( AR[Código de cliente/proveedor] EN {122152,122153,122154,122496,122155,122161,122151,802840}, "HI RIESGO", SERÍA[AR_AMT_])

Desde mi AR tengo campo Código de Plazo de Pago, COD, 30 Días, 45 Días, 60 Días.

También tengo el campo Envejecimiento a continuación: -

AGING_V_S =
Dónde _datediff=DATEDIFF(AR_S[Fecha de la factura AR],HOY(),DÍA)
devolución
INTERRUPTOR(
VERDADERO(),
_datediff<=31,"1 1 a 31 días",
Y(_datediff<=61,_datediff>31) ,"2 32 a 61 días",
Y(_datediff<=91,_datediff>61),"3 62 a 91 día",
Y(_datediff<=121,_datediff>91),"4 92 a 121 días",
Y(_datediff<=151,_datediff>121),"5 122 a 151 días",
Y(_datediff<=181,_datediff>151),"6 152 a 181 días",
_datediff>181,"7 Más de 181 días", "Comprobar de nuevo"
)

Lo que puede generarte la siguiente tabla :-

admin11_0-1652612920732.png

Espero que alguien pueda ayudarme a crear una columna archivada para filtrar a los clientes vencidos como indico en el cuadro rojo de la imagen de arriba.

Mi archivo PBI :-

https://www.dropbox.com/s/bjlh7e0jfzb3zos/AR%20ADL%20V005.pbix?dl=0

He intentado :-

_Long sobre el debido EYELYN9 =
DÓNDE _allname =
RESUMIR (
FILTRO ( 'AR', CONVERTIR ( IZQUIERDA ( [AGING_V], 1 ), ENTERO ) > 4 ),
[Nombre del cliente/proveedor]
)
DEVOLUCIÓN
SI ( MÁXIMO ( 'AR'[Nombre del cliente/proveedor] ) EN _allname, 0, 1 )
no funciona.

Paul

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

Hola admin11

En primer lugar, tenga cuidado de mostrar los números de los clientes en Internet. Pueden reconocerlos.

Se recomienda poner la lógica de fecha en una tabla de calendario en lugar de codificarla en dax.

Mejora el rendimiento y es mucho más fácil de entender y mantener.

Cree y pruebe calendarios una vez y úselos siempre.

No te preocupes por tratar de escribir datos spaghetti dax logic.
Haga clic aquí para ver videos de capacitación

Crear un calendario con:-

  • Fecha (lista contigua de fechas)
  • Días Edad (hoy – fecha)
  • Grupo de edad (0 a 30, 31 a 45, 46 a 60, 60+, etc.)

Crear una relación 1:M desde la fecha del calendario hasta la factura

Agregue una columna de términos de pago numéricos a su tabla de clientes (por ejemplo, 30, 45, 60)

Crear una medida DAX para colores condicionales ....



Color RAG =
Obtener la fila de cliente para la celda de cuadrícula de matriz
cellVAR terms = SELECTEDVALUE([condiciones de pago])
Obtener el inicio del grupo de edad para la celda de cuadrícula matricial
VAR minage = MIN(Calendario[Edad])
Si el inicio del grupo Agre es > que los términos del cliente, el retorno es rojo, más verde
DEVOLUCIÓN
IF(minage > términos,"Rojo","Verde")


Dibujar un objeto visual de matriz con

Fila =

Cliente[condiciones de pago]
Cliente[nombre]

Columna =

Grupo de edad [Grupo bin]

Valor =

Factura[importe pendiente]

Haga clic en Valor y seleccione formación condicional, color de fondo, según el campo = [color RAG]

Esta solución es fácil de cambiar y probar cuando cambian sus condiciones de pago.

Haga clic con el pulgar hacia arriba y acepte como solución. ¡Gracias! 😀😀😀

@speedramps

Gracias por dar muchos consejos. Se puede explicar muy bien para la expresión.

Color RAG =
Obtener la fila de cliente para la celda de cuadrícula de matriz
cellVAR terms = SELECTEDVALUE([condiciones de pago])
Obtener el inicio del grupo de edad para la celda de cuadrícula matricial
VAR minage = MIN(Calendario[Edad])
Si el inicio del grupo Agre es > que los términos del cliente, el retorno es rojo, más verde
DEVOLUCIÓN
IF(minage > términos,"Rojo","Verde")

P1 En primer lugar, tenga cuidado de mostrar los números de los clientes en Internet. Pueden reconocerlos.

¿Quiere decir que no debo mostrar el nombre del cliente? lo que significa que debo reducir el número de filas como muestra?

Q2 Usted propone expresión para colorear los que están por encima de lo debido :-

Color RAG =
Obtener la fila de cliente para la celda de cuadrícula de matriz
cellVAR terms = SELECTEDVALUE([condiciones de pago])
Obtener el inicio del grupo de edad para la celda de cuadrícula matricial
VAR minage = MIN(Calendario[Edad])
Si el inicio del grupo Agre es > que los términos del cliente, el retorno es rojo, más verde
DEVOLUCIÓN
IF(minage > términos,"Rojo","Verde")

Creo que intentas colorear el texto, diferenciar los que están vencidos y no los que están vencidos, para mí prefiero crear el nombre del campo Flag Over Due, para que toda la tabla solo supere al cliente.

He agregado una tabla de calendario a mi tabla de AR. También estoy de acuerdo con usted en que el calendario maestro es muy útil cuando tengo muchas tablas como la tabla PO SO AP AR GL.

admin11_0-1652662530659.png

Mi archivo PBI :-

https://www.dropbox.com/s/hazvc34zcvuydui/AR%20ADL%20V006.pbix?dl=0

Paul

Helpful resources

Announcements
Europe Fabric Conference

Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.

Power BI Carousel June 2024

Power BI Monthly Update - June 2024

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

RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

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

Top Solution Authors
Top Kudoed Authors