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.
Información: Uso de la consulta directa, esquema star, tabla de hechos con una fila por cambio de estado para cualquier ticketID
¡Hola!
Me está costando mucho calcular el número de tickets "actuales" en una fecha específica (fechas seleccionadas usando la segmentación de fechas).
Tengo una tabla de hechos que contiene el siguiente "ticketID", "regID", "regDate", "ticketStatus"
Un ticketID puede tener varias filas en la tabla de hechos, dependiendo de la frecuencia con la que cambie de estado. El estado puede ser "abierto", "en proceso", "pausado" o "cerrado".
Necesito poder ver cualquier fecha y obtener una medida que muestre cuántos tickets actuales (estado " abierto" o "en proceso") estaban en el sistema en ese momento. ¿Cómo se puede lograr esto en DAX? (He visto algunas soluciones de colums calculadas, pero Direct Query tiene un límite de 1M).
RegID es siempre más grande en función de cuándo se recibe en el sistema, por lo que es lo óptimo para ordenar la fila más reciente para cualquier tickedID (regDate no es bueno ya que se pueden realizar varios cambios de estado en el mismo día).
En otras palabras: Estoy buscando el recuento de [ticketStatus] á ("abrir" o "en curso") en una fecha específica basada en MAX [regID] para cada [ticketID]
¿Es esto posible usar DAX en una medida?
Si no es así, ¿podría hacerse usando algún truco en el editor de consultas?
Este es un ejemplo. Digamos que estoy buscando entradas actuales en la fecha 15. Enero. 2020 el número debe ser: 2
ticketID | regID | regDate | ticketStatus |
3301 | 81401 | 03.jan.2020 | Abierto |
3301 | 81403 | 06.jan.2020 | En curso |
3301 | 81406 | 13.enero.2020 | Cerrado |
3302 | 81402 | 06.jan.2020 | Abierto |
3303 | 81404 | 09.jan.2020 | Abierto |
3303 | 81405 | 12.enero.2020 | En curso |
Mejor.
Pj
Gracias por los post-links. He mirado la mayoría de ellos ya, pero no puedo conseguir un buen ajuste en mi modelo (tal vez debería).
Sin embargo, he encontrado que esta solución de otro foro-post funcionaría perfectamente en mi caso, si pudiera conseguir que funcione en el editor de consultas usando M.
¿Alguno de ustedes sabe cómo estos pasos se traducen en código M? (Sólo la parte en AZUL a continuación).
_________________________________________________________________________________________________________________________________
Desde: https://community.powerbi.com/t5/DAX-Commands-and-Tips/Finding-the-most-recent-value/td-p/116838
Gracias- Veo la lógica en su enfoque, pero estoy teniendo problemas con el synax para la sección "Anterior". Según su nota, hice lo siguiente:
MaxDate : CALCULATE(MAX('Community Leadership Assessment (2)'[Date Talken ], FILTER('Community Leadership Assessment (2)','Community Leadership Assessment (2)'[Name]'EARLIER('Community Leadership Assessment (2)'[Name]))))
Pero tengo este valor único de error-A para la columna 'Date Talken' en la tabla 'Community Leadership Assessment (2)' no se puede determinar. Esto puede suceder cuando una fórmula de medida hace referencia a una columna que contiene muchos valores sin especificar una agregación como min, max, count o sum para obtener un único resultado.
¿Alguna idea?
@CheenuSing escribió:Hola @LAndes
Por favor, intente lo siguiente
1. Cree una columna llamada MaxDate
MaxDate ?
CALCULATE(MAX(yourtablename[yourDatecolumn]),FILTER(yourtablename[Name]-EARLIER(yourtablename[Name])))
Lo que esto hace es calcular el MaxDate por nombre y popluates en todos los registros que agrupan por nombre.
2. Cree una columna llamada IsLatest
IsLatest: If([Fecha][MaxDate],"Latest","Older")
3. Ahora cree un informe con columnas relevantes de yourtablename y use la columna IsLatest como un filtro de nivel visual filtrado para "Más reciente".
Mira esto.
Si funciona por favor acepte esto como una solución y también dar KUDOS.
Salud
CheenuSing
Hola @Per-J
Por favor refiérase a los hilos similares:
https://community.powerbi.com/t5/Desktop/Calculating-Open-Tickets-at-Specific-Hour/m-p/277385
https://community.powerbi.com/t5/Desktop/calculate-open-tickets-by-date/m-p/207196
Si no puede administrarlo, por favor cargue su pbix ficticio con los resultados esperados revelados sería muy apreciado.
Gracias por las publicaciones sugeridas en el foro.
Mi conjunto de datos difiere de la mayoría de ellos en que tiene una fila por estado y no hay columnas "abiertas" "cerrar" en la tabla que él mismo.
Sin embargo, el primer foro-post @v-diye-msft gustado tiene una estructura muy similar a la mía y funcionará con algunos ajustes leves (espero).
Clip de pantalla:
La única diferencia de mi conjunto de datos es que un ticket puede tener dos diferentes de estado "abierto" en el transcurso de su "vida" y simplemente agregar un -1 cuando está cerrado no es suficiente. Más específicamente, un ticket puede tener filas que muestran el estado como "Abrir" y "En curso". Otras entradas pueden ir de "Abierto" a "Cerrar", sin pasar por "En curso". También algunas entradas sólo tienen "En curso" y luego "Cerrar". Algunos incluso podrían tener "Cerrar" sin ningún "Open" o "In Progres" anterior (en tal caso no debería contarse en absoluto").
¿Sugerencias?
Hola @Per-J
¿Cuál es su expectativa para las entradas "En curso"? amablemente subir su pbix ficticio y revelar los resultados que esperan.
Hola, otra vez. Gracias por ayudar a @v-diye-msft & @Greg_Deckler
Permítanme reafraser la pregunta. He descubierto que puedo incluir una columna "hasta la fecha", así que creo que puede ayudar a resolver este problema más fácilmente.
Sin relación con mi primera tabla en el tema-post, aquí hay otro ejemplo, destacando la estructura de la tabla en la que estoy trabajando.
Para evitar confusiones he cambiado un poco los nombres de estado. En este ejemplo, un ticket está abierto si Estado á "Esperando" O "En curso".
Mi objetivo es crear una medida que genere el número de tickets abiertos en la fecha especificada establecida por una segmentación de datos. La segmentación de datos filtra Desde Date y debe filtrar la tabla dee hechos para obtener solo el registro más reciente para cada TicketID. Esto se puede obtener filtrando/contando solo las filas que tienen Hasta la fecha - null OR "más tarde que el filtrado Desde fecha" (lo que significa que i estaba abierto en esa fecha específica).
TicketID | Status | From Date | To Date |
1 | Esperando | 1.apr.2020 | 1.apr.2020 |
2 | Esperando | 1.apr.2020 | 3.apr.2020 |
1 | En curso | 1.apr.2020 | 3.apr.2020 |
3 | Esperando | 1.apr.2020 | |
4 | Esperando | 2.apr.2020 | 3.apr.2020 |
5 | Esperando | 2.apr.2020 | 5.apr.2020 |
6 | Esperando | 2.apr.2020 | 5.apr.2020 |
7 | Esperando | 2.apr.2020 | 6.apr.2020 |
8 | Esperando | 2.apr.2020 | 6.apr.2020 |
1 | Cerrado | 3.apr.2020 | 4.apr.2020 |
2 | En curso | 3.apr.2020 | |
4 | En curso | 3.apr.2020 | 8.apr.2020 |
5 | En curso | 5.apr.2020 | 5.apr.2020 |
5 | Cerrado | 5.apr.2020 | |
6 | En curso | 5.apr.2020 | |
7 | En curso | 6.apr.2020 | 6.apr.2020 |
7 | Cerrado | 6.apr.2020 | |
8 | Cerrado | 6.apr.2020 | |
4 | Cerrado | 8.apr.2020 |
así que. Digamos que quería obtener todas las entradas abiertas en From Date 5.apr.2020
Paso a paso, la medida debe seguir estos pasos:
1. filtrar por desde fecha:
TicketID | Status | From Date | To Date |
1 | Esperando | 1.apr.2020 | 1.apr.2020 |
2 | Esperando | 1.apr.2020 | 3.apr.2020 |
1 | En curso | 1.apr.2020 | 3.apr.2020 |
3 | Esperando | 1.apr.2020 | |
4 | Esperando | 2.apr.2020 | 3.apr.2020 |
5 | Esperando | 2.apr.2020 | 5.apr.2020 |
6 | Esperando | 2.apr.2020 | 5.apr.2020 |
7 | Esperando | 2.apr.2020 | 6.apr.2020 |
8 | Esperando | 2.apr.2020 | 6.apr.2020 |
1 | Cerrado | 3.apr.2020 | 4.apr.2020 |
2 | En curso | 3.apr.2020 | |
4 | En curso | 3.apr.2020 | 8.apr.2020 |
5 | En curso | 5.apr.2020 | 5.apr.2020 |
5 | Cerrado | 5.apr.2020 | |
6 | En curso | 5.apr.2020 | |
7 | En curso | 6.apr.2020 | 6.apr.2020 |
7 | Cerrado | 6.apr.2020 | |
8 | Cerrado | 6.apr.2020 | |
4 | Cerrado | 8.apr.2020 |
2. Cuente solo el último registro para cada TicketID
TicketID | Status | From Date | To Date |
1 | Esperando | 1.apr.2020 | 1.apr.2020 |
2 | Esperando | 1.apr.2020 | 3.apr.2020 |
1 | En curso | 1.apr.2020 | 3.apr.2020 |
3 | Esperando | 1.apr.2020 | |
4 | Esperando | 2.apr.2020 | 3.apr.2020 |
5 | Esperando | 2.apr.2020 | 5.apr.2020 |
6 | Esperando | 2.apr.2020 | 5.apr.2020 |
7 | Esperando | 2.apr.2020 | 6.apr.2020 |
8 | Esperando | 2.apr.2020 | 6.apr.2020 |
1 | Cerrado | 3.apr.2020 | 4.apr.2020 |
2 | En curso | 3.apr.2020 | |
4 | En curso | 3.apr.2020 | 8.apr.2020 |
5 | En curso | 5.apr.2020 | 5.apr.2020 |
5 | Cerrado | 5.apr.2020 | |
6 | En curso | 5.apr.2020 |
Paso final: solo cuente las filas con Hasta la fecha : fecha o fecha nula más tarde que filtrada desde la fecha
TicketID | Status | From Date | To Date |
3 | Esperando | 1.apr.2020 | |
5 | Esperando | 2.apr.2020 | 5.apr.2020 |
6 | Esperando | 2.apr.2020 | 5.apr.2020 |
7 | Esperando | 2.apr.2020 | 6.apr.2020 |
8 | Esperando | 2.apr.2020 | 6.apr.2020 |
1 | Cerrado | 3.apr.2020 | 4.apr.2020 |
2 | En curso | 3.apr.2020 | |
4 | En curso | 3.apr.2020 | 8.apr.2020 |
5 | Cerrado | 5.apr.2020 | |
6 | En curso | 5.apr.2020 |
La medida debe mostrar el número: 7 (ya que este era el número de entradas que estaba abierto (al final de) 5.april.2020.
Hola, tengo exactamente la misma configuración y estoy bloqueado en el paso 2, no pude adaptar ninguna publicación de la comunidad hasta ahora.
¿Podría ayudarme a compartir la fórmula DAX, por favor?
"2. Cuente solo el último registro para cada TicketID'
Muchas gracias
Tal vez intente: https://community.powerbi.com/t5/Quick-Measures-Gallery/Open-Tickets/td-p/409364
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |