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
Anonymous
Not applicable

Estado del ticket mensual a lo largo del tiempo

Hola foro,

Tendría que presentar un resumen del estado del ticket al final de cada mes en función de los datos del registro de cambios de tickets. He estado tratando de encontrar ideas de cómo conseguir esto a través de varios mensajes, pero no hay suerte hasta ahora. Por ejemplo, esto es algo cercano, pero no es exactamente adecuado para mis necesidades debido a diferentes tipos de datos de origen.

Mi conjunto de datos es así

Tabla: Status_Changes

IdFechaOld_StatusNew_Status
10029.11.2020status3status4
10225.11.2020status3status4
10419.10.2020status3status4
10321.8.2020status2status3
10430.7.2020status2status3
1045.6.2020status1status2
1031.6.2020status1status2
10023.5.2020status2status3
10215.4.2020status2status3
10115.4.2020status3status2
10115.4.2020status2status3
10114.4.2020status1status2
1008.3.2020status1status2
1005.1.2020status0status1

Hay un ID de ticket, la fecha (o realmente la hora) en la que se cambió el estado y los estados de él se cambiaron y a qué estado se ha cambiado.

De esto, debería proporcionar algo como esto, donde tengo un recuento distinto de entradas para cada mes por estado

JabbaKyba_0-1608544566951.png

Cada vale debe aparecer en el objeto visual solo en el mes en que se ve el primer cambio de estado en los datos. Una vez que un ticket ha alcanzado el estado final (status4 en la muestra) debe desaparecer del objeto visual en el mes siguiente (número de ticket de caso 104 en noviembre/última columna).

Estaba pensando en transformar los datos de origen en algo como abajo donde habría fila para cada vale que se ha visto en los datos de origen hasta ahora para cada mes y el último New_Status que ha estado en los datos.

Y una vez que un boleto se alcanza el status4, después de un mes se debe mover a status5. Eso se puede considerar como archivado o similar en caso de que sea información interesante más adelante. Status5 se puede dejar fuera del objeto visual.

¿Pero no sé cómo conseguir esto con DAX? ¿O hay alguna otra manera de obtener lo visual que necesito?

Year_MonthIdLatest_Status
2020-11100status4
2020-11102status4
2020-11101status2
2020-11104status5
2020-11103status3
2020-10100status3
2020-10102status3
2020-10101status2
2020-10104status4
2020-10103status3
2020-09100status3
2020-09102status3
2020-09101status2
2020-09104status3
2020-09103status3
2020-08100status3
2020-08102status3
2020-08101status2
2020-08104status3
2020-08103status3
2020-07100status3
2020-07102status3
2020-07101status2
2020-07104status3
2020-07103status2
2020-06100status3
2020-06102status3
2020-06101status2
2020-06104status2
2020-06103status2
2020-05100status3
2020-05102status3
2020-05101status2
2020-04100status2
2020-04102status3
2020-04101status2
2020-03100status2
2020-02100status1
2020-01100status1

Cualquier idea es bienvenida.

5 REPLIES 5
AlB
Super User
Super User

@JabbaKyba

Coloque el siguiente código M en una consulta en blanco para ver los pasos. Es posible que tenga que ajustarlo un poco para adaptarlo completamente a sus necesidades

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("jdFBDoQgDAXQu7A2TX8L6pzFsPAM6v2lLhRGDOygeb9NYVkcmN3g5EcACYtdtn3dj03vk3dxMCgGQwf0qYLUkVvQKgKaSydZ4mmoTFOPCzSWDFngGYs2ux5GKbSmWgWBfMuh6vQ1t+4++vl/V99jJu1h6XdLlgdiPAE=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [ID = _t, Date = _t, Old_Status = _t, New_Status = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"ID", Int64.Type}, {"Date", type date}, {"Old_Status", type text}, {"New_Status", type text}}),
    transform_ = Table.TransformColumns(#"Changed Type",{"Date", each Date.StartOfMonth(_)}), 

    #"Added Custom" = Table.AddColumn(transform_, "NextDate", each List.Select(List.Dates([Date], let aux_ = List.Min(Table.SelectRows(transform_, (inner)=>inner[ID]=[ID] and inner[Date]>[Date])[Date]) in  if aux_ <> null then Duration.Days(aux_-[Date]) else 1 , Duration.From(1)), each Date.Day(_)=1)),
    #"Expanded Next date" = Table.ExpandListColumn(#"Added Custom", "NextDate"),
    #"Added Custom1" = Table.AddColumn(#"Expanded Next date", "Latest_Status", each if [NextDate]= [Date] then [New_Status] else null, type text),
    #"Filled Down" = Table.FillDown(#"Added Custom1",{"Latest_Status"}),
    #"Removed Columns" = Table.RemoveColumns(#"Filled Down",{"Date", "Old_Status", "New_Status"})
in
    #"Removed Columns"

Por favor, marque la pregunta resuelta cuando haya terminado y considere dar un pulgar hacia arriba si las publicaciones son útiles.

Póngase en contacto conmigo de forma privada para obtener asistencia con cualquier necesidad de BI a gran escala, tutoría, etc.

Salud

SU18_powerbi_badge

Anonymous
Not applicable

Quiero decir

La medida que proporcionó está utilizando la tabla de ejemplo posterior para contar el valor. Pero aún no tengo esa mesa. Es sólo ejemplo hecho a mano que me gustaría obtener basado en los datos de origen.

Tengo los datos de origen en PowerBI como tabla como esta

Tabla: Status_Changes

IdFechaOld_StatusNew_Status
10029.11.2020status3status4
10225.11.2020status3status4
10419.10.2020status3status4
10321.8.2020status2status3
10430.7.2020status2status3
1045.6.2020status1status2
1031.6.2020status1status2
10023.5.2020status2status3
10215.4.2020status2status3
10115.4.2020status3status2
10115.4.2020status2status3
10114.4.2020status1status2
1008.3.2020status1status2
1005.1.2020status0status1

¿Cómo puedo transformar eso con DAX en una tabla como la siguiente para poder visualizar los datos como se esperaba? Esto podría utilizarse para calcular la medida que sugirió.

Llamemos a esto por ejemplo Tabla: Latest_Statuses_Per_Month

Year_MonthIdLatest_Status
2020-11100status4
2020-11102status4
2020-11101status2
2020-11104status5
2020-11103status3
2020-10100status3
2020-10102status3
2020-10101status2
2020-10104status4
2020-10103status3
2020-09100status3
2020-09102status3
2020-09101status2
2020-09104status3
2020-09103status3
2020-08100status3
2020-08102status3
2020-08101status2
2020-08104status3
2020-08103status3
2020-07100status3
2020-07102status3
2020-07101status2
2020-07104status3
2020-07103status2
2020-06100status3
2020-06102status3
2020-06101status2
2020-06104status2
2020-06103status2
2020-05100status3
2020-05102status3
2020-05101status2
2020-04100status2
2020-04102status3
2020-04101status2
2020-03100status2
2020-02100status1
2020-01100status1

O bien, ¿puedo realizar la visualización de destino de alguna otra manera en función de la tabla Status_Changes?

AlB
Super User
Super User

@JabbaKyba

No entiendo la pregunta

Por favor, marque la pregunta resuelta cuando haya terminado y considere dar un pulgar hacia arriba si las publicaciones son útiles.

Póngase en contacto conmigo de forma privada para obtener asistencia con cualquier necesidad de BI a gran escala, tutoría, etc.

Salud

SU18_powerbi_badge

Anonymous
Not applicable

Gracias, el gráfico es como se espera. Necesito probar la medida también, pero parece algo que estoy mirando.

Pero, ¿cómo puedo transformar de la tabla de datos de origen a la tabla de destino?

AlB
Super User
Super User

Ahí @JabbaKyba

No se muestran los números/fechas en el gráfico, así que no estoy seguro de cuál es exactamente el resultado esperado, pero vea el archivo adjunto para una posible solución. Utiliza Latest_status en la leyenda del gráfico y esta medida:

Measure = 
VAR status_ = SELECTEDVALUE(Table1[Latest_Status])
RETURN
IF(status_ <> "status5", DISTINCTCOUNT(Table1[ID]))

image.png

Por favor, marque la pregunta resuelta cuando haya terminado y considere dar un pulgar hacia arriba si las publicaciones son útiles.

Póngase en contacto conmigo de forma privada para obtener asistencia con cualquier necesidad de BI a gran escala, tutoría, etc.

Salud

SU18_powerbi_badge

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.