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

Identificación de la última fecha por usuario y departamento y visualización en la lista de usuarios

Tengo datos para un programa donde necesito mostrar el proyecto y todos los detalles del cliente. Una pieza de información es identificar si el cliente en el programa también tuvo servicios bajo otro programa y la última admisión en este otro programa.

Tengo la información para la primera parte y he comenzado la segunda parte. Tengo clientes y si están en el programa y he creado un campo de columna si son un cliente de EA y si no Otro. Lo que necesito identificar es la última fecha si son un cliente de EA y luego mostrar esa fecha. Entonces, para C000041 necesitaría mostrar la fecha 30/09/2022 y para C003447 mostrar 21/12/2022 en un nuevo campo. Si el cliente no es un cliente de EA, me gustaría que el cliente siguiera apareciendo sin fecha. Así que no hay filtrado Debido a la información de identificación personal, no puedo adjuntar el archivo pbix. Si estuviera usando SQL sería fácil, pero no puedo entenderlo en DAX.

Datos

Client_CodeIntake_DateCliente EA
C000041 Otro
C00004112/27/2012Cliente EA
C0000411/13/2014Cliente EA
C0000413/24/2017Cliente EA
C0000418/2/2017Cliente EA
C00004112/26/2018Cliente EA
C00004112/31/2019Cliente EA
C0000411/5/2021Cliente EA
C00004112/17/2021Cliente EA
C0000419/30/2022Cliente EA
C000099 Otro
C0000996/18/2014Cliente EA
C0000995/5/2022Cliente EA
C0000999/30/2022Cliente EA
C002104 Otro
C0021041/14/2013Cliente EA
C0021044/15/2014Cliente EA
C00210412/23/2014Cliente EA
C0021041/15/2016Cliente EA
C0021041/20/2022Cliente EA
C0021049/30/2022Cliente EA
C003447 Otro
C0034479/5/2013Cliente EA
C0034472/20/2014Cliente EA
C0034474/3/2014Cliente EA
C00344711/19/2015Cliente EA
C0034478/29/2016Cliente EA
C0034478/13/2018Cliente EA
C0034475/14/2019Cliente EA
C00344712/21/2022Cliente EA
1 ACCEPTED SOLUTION

Ok, lo descubrí. Necesitaba crear un campo de columna

AssignProgDateifNone = si('rpt vw_Client_Programs'[Cliente EA]="Otros",Fecha(1900,01,01),'rpt vw_Client_Programs'[Intake_Date])
para asignar una fecha para "Otro".

Luego creé una nueva columna:
LastProgramDate = CALCULAR(..MAX(«RPT vw_Client_Programs»[Intake_Date]),FILTRO('rpt vw_Client_Programs','rpt vw_Client_Programs'[Client_Code]=ANTERIOR('rpt vw_Client_Programs'[Client_Code])))
Y esto me dio los resultados que necesitaba.

En mi humilde opinión, este es un diseño PowerBI pobre en comparación con una solución SQL. Solo mis 2 centavos.

View solution in original post

11 REPLIES 11
Syndicate_Admin
Administrator
Administrator

Hola, estoy cerca ahora. esta es la fórmula que estoy usando. El problema es que todavía necesito devolver a los clientes si no tienen fecha de admisión con, por ejemplo, una fecha falsa 1/1/1900 o, idealmente, en blanco.

¿Alguna idea alguien?

LastProgram =
Dónde Id. Cliente = ..max(«RPT vw_Client_Programs»[Client_Code])
Var ClientProgram = 'rpt vw_Client_Programs'[Cliente EA)
devolución
Calcular(
LASTDATE(«RPT vw_Client_Programs»[Intake_Date]),
FILTRO('rpt vw_Client_Programs','rpt vw_Client_Programs'[Client_Code] = ClientID && ('rpt vw_Client_Programs'[EA Client]= "Otros" || 'rpt vw_Client_Programs'[Cliente EA]= "Cliente EA"
))
)
Syndicate_Admin
Administrator
Administrator

Hola

¿Desea una fórmula de columna calculada o una solución de medida? Además, muestre claramente el resultado esperado.

Hola idealmente una medida ver respuesta Bolfri.. que uno no está trabajando con el error "No se puede determinar un solo valor para la columna Client_Code en la tabla Client_programs . Esto puede suceder cuando una fórmula de medida hace referencia a una columna que contiene muchos valores sin especificar una agregación para obtener un único resultado.

Hola

Creo que una solución de fórmula de columna calculada funcionaría mejor. Este sí

Max date = if(Data[EA Client]="Other",BLANK(),CALCULATE(MAX(Data[Intake_Date]),FILTER(Data,Data[Client_Code]=EARLIER(Data[Client_Code])&&Data[EA Client]="EA client")))

Untitled.png

Ashish, Gracias me permitiría poner una fecha ficticia para el "Otro" ya que quiero que todos los clientes regresen ya que no todos serán un Cliente de EA y necesito saberlo y devolverlo.

Ashish lo intenté:

LastProgramDate = si(«RPT vw_Client_Programs»[Cliente EA]="Otros",Fecha(1900,01,01),CALCULAR(..MAX(«RPT vw_Client_Programs»[Intake_Date]),FILTRO(«RPT vw_Client_Programs»,«RPT vw_Client_Programs»[Client_Code]=ANTERIOR(«RPT vw_Client_Programs»[Client_Code])))) Y solo filtra por EA_Client = EA_Client.

Ok, lo descubrí. Necesitaba crear un campo de columna

AssignProgDateifNone = si('rpt vw_Client_Programs'[Cliente EA]="Otros",Fecha(1900,01,01),'rpt vw_Client_Programs'[Intake_Date])
para asignar una fecha para "Otro".

Luego creé una nueva columna:
LastProgramDate = CALCULAR(..MAX(«RPT vw_Client_Programs»[Intake_Date]),FILTRO('rpt vw_Client_Programs','rpt vw_Client_Programs'[Client_Code]=ANTERIOR('rpt vw_Client_Programs'[Client_Code])))
Y esto me dio los resultados que necesitaba.

En mi humilde opinión, este es un diseño PowerBI pobre en comparación con una solución SQL. Solo mis 2 centavos.

Porque no es una medida. Su columna calculada.

Ok, gracias, acabo de publicar una actualización. ¿Alguna idea para obtener este resultado?

Syndicate_Admin
Administrator
Administrator

Client date = 
VAR current_client = 'Sample'[Client_Code]
RETURN
    CALCULATE (
        LASTDATE ( 'Sample'[Intake_Date] ),
        FILTER (
            'Sample',
            'Sample'[Client_Code] = current_client
                && 'Sample'[EA Client] = "EA Client"
        )
    )

Resultado:

bolfri_0-1678403518813.png

Hola gracias estoy recibiendo el error: "No se puede determinar un solo valor para la columna Client_Code en la tabla Client_programs. Esto puede suceder cuando una fórmula de medida hace referencia a una columna que contiene muchos valores sin especificar una agregación para obtener un único resultado.

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.