March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early Bird pricing ends December 9th.
Register NowGet certified in Microsoft Fabric—for free! For a limited time, the Microsoft Fabric Community team will be offering free DP-600 exam vouchers. Prepare now
Hola tengo 16 millones de eventos que necesito analizar, para identificar cuando se ha producido un cambio de código durante un período de 7 días consecutivos.
Los eventos no siempre serán diarios. A continuación se muestra un ejemplo, que muestra eventos para ID 1
por lo que del 15/4/2023 al 21/4/2023 tiene un código de A1
luego del 22/04/2023 - 26/04/2023 - 5 días se cambia a B2 , ya que esto no son 7 días consecutivos, no se marca como un cambio
luego, del 04/05/2023 al 10/05/2023, se muestra como B2 durante 7 días, por lo que la fecha máxima se marca como un cambio
Código | IDENTIFICACIÓN | Fecha |
A1 | 1 | 15/04/2023 |
A1 | 1 | 16/04/2023 |
A1 | 1 | 19/04/2023 |
A1 | 1 | 20/04/2023 |
A1 | 1 | 21/04/2023 |
B2 | 1 | 22/04/2023 |
B2 | 1 | 23/04/2023 |
B2 | 1 | 24/04/2023 |
B2 | 1 | 25/04/2023 |
B2 | 1 | 26/04/2023 |
A1 | 1 | 27/04/2023 |
A1 | 1 | 29/04/2023 |
A1 | 1 | 30/04/2023 |
B2 | 1 | 01/05/2023 |
A1 | 1 | 02/05/2023 |
A1 | 1 | 03/05/2023 |
B2 | 1 | 04/05/2023 |
B2 | 1 | 05/05/2023 |
B2 | 1 | 06/05/2023 |
B2 | 1 | 10/05/2023 |
Gracias, ahora he logrado agregar la agrupación local a través del editor de consultas, por lo que su método ahora está funcionando, lo último que necesito intentar hacer es obtener solo los últimos datos basados en el ID
así que si miramos cada ID me gustaría que se mostrara lo siguiente
21A -- AAB -- 1 -- 4/21/2023 - 4/28/2023 -- 7
21B -- BBB -- 5 -- 4/26/2023 - 4/28/2023 -- 2
21C -- CCA -- 9 -- 4/21/2023 - 4/28/2023 -- 7
todavía luchando con esto, traté de obtener un conteo usando este código
Gracias, sí, acabo de comprobar y no funciona, realmente había jhope esto no sería tan difícil como lo está demostrando, gracias por tomarse el tiempo para ayudarme con esto, es muy apreciado
Esto no funcionará si las secuencias terminan y comienzan en la misma fecha. Como entiendo el escenario, necesita procesar esto en el nivel datetime, no en el nivel de fecha.
Este código parece estar funcionando para obtener la fecha de finalización , por lo que si puedo obtener la fecha de inicio , entonces puedo diferenciar la fecha de ambas medidas
Puedo confirmar que la marca de tiempo es única para cada identificación
No puedo ayudarte si no puedes describir completamente el escenario.
¿Puede garantizar que la marca de tiempo Datetime sea única en todas las entradas de un ID? Si no, necesitará algún tipo de otra clave primaria (que será bastante difícil de implementar con una actualización incremental)
Revisé su código y veo que también agrupó los datos en power query , no puedo hacer esto ya que traigo datos a través de una actualización incremental, ¿es posible replicar lo que tiene como índice agregando una fórmula de columna, probé esta fórmula, pero tiene un error
Proporcione datos de muestra desinfectados que cubran completamente su problema.
Gracias por echar un vistazo a esto, agregué el índice, pero no funciona para mí, tal vez debido a que hay 36,000 identificaciones, ¿hay otra forma de obtener las fechas de inicio y finalización, por favor?
Power BI se agregará automáticamente. Deberá agregar un número de secuencia en Power Query para evitar que eso suceda. De lo contrario, el resultado se vería así:
IDENTIFICACIÓN | Fecha de salida | ETC | Código |
21A | 14/04/2023 | 22:01 | AAA |
21A | 15/04/2023 | 18:05 | AAA |
21A | 16/04/2023 | 20:57 | AAA |
21A | 17/04/2023 | 15:15 | AAA |
21A | 17/04/2023 | 19:34 | AAA |
21A | 17/04/2023 | 22:01 | AAA |
21A | 18/04/2023 | 18:05 | AAA |
21A | 18/04/2023 | 20:57 | AAA |
21A | 19/04/2023 | 06:30 | AAA |
21A | 19/04/2023 | 09:27 | AAA |
21A | 19/04/2023 | 18:35 | AAA |
21A | 19/04/2023 | 21:13 | AAA |
21A | 20/04/2023 | 07:22 | AAA |
21A | 20/04/2023 | 10:01 | AAA |
21A | 20/04/2023 | 12:43 | AAA |
21A | 20/04/2023 | 15:53 | AAA |
21A | 20/04/2023 | 22:20 | AAA |
21A | 21/04/2023 | 08:33 | AAA |
21A | 21/04/2023 | 14:17 | AAA |
21A | 21/04/2023 | 16:28 | AAA |
21A | 21/04/2023 | 20:12 | AAB |
21A | 21/04/2023 | 23:06 | AAB |
21A | 22/04/2023 | 16:34 | AAB |
21A | 22/04/2023 | 18:08 | AAB |
21A | 22/04/2023 | 20:01 | AAB |
21A | 23/04/2023 | 11:20 | AAB |
21A | 23/04/2023 | 14:40 | AAB |
21A | 23/04/2023 | 18:10 | AAB |
21A | 23/04/2023 | 21:05 | AAB |
21A | 24/04/2023 | 18:39 | AAB |
21A | 25/04/2023 | 19:39 | AAB |
21A | 26/04/2023 | 20:39 | AAB |
21A | 27/04/2023 | 21:39 | AAB |
21A | 28/04/2023 | 22:39 | AAB |
21B | 14/04/2023 | 22:01 | BBA |
21B | 15/04/2023 | 18:05 | BBA |
21B | 16/04/2023 | 20:57 | BBA |
21B | 17/04/2023 | 15:15 | BBA |
21B | 17/04/2023 | 19:34 | BBA |
21B | 17/04/2023 | 22:01 | BBA |
21B | 18/04/2023 | 18:05 | BBA |
21B | 18/04/2023 | 20:57 | BBB |
21B | 19/04/2023 | 06:30 | BBB |
21B | 19/04/2023 | 09:27 | BBB |
21B | 19/04/2023 | 18:35 | BBB |
21B | 19/04/2023 | 21:13 | BBB |
21B | 20/04/2023 | 07:22 | BBB |
21B | 20/04/2023 | 10:01 | BBB |
21B | 20/04/2023 | 12:43 | BBB |
21B | 20/04/2023 | 15:53 | BBB |
21B | 20/04/2023 | 22:20 | BBA |
21B | 21/04/2023 | 08:33 | BBA |
21B | 21/04/2023 | 14:17 | BBA |
21B | 21/04/2023 | 16:28 | BBA |
21B | 21/04/2023 | 20:12 | BBA |
21B | 21/04/2023 | 23:06 | BBA |
21B | 22/04/2023 | 16:34 | BBA |
21B | 22/04/2023 | 18:08 | BBA |
21B | 22/04/2023 | 20:01 | BBA |
21B | 23/04/2023 | 11:20 | BBA |
21B | 23/04/2023 | 14:40 | BBA |
21B | 23/04/2023 | 18:10 | BBA |
21B | 23/04/2023 | 21:05 | BBA |
21B | 24/04/2023 | 18:39 | BBA |
21B | 25/04/2023 | 19:39 | BBA |
21B | 26/04/2023 | 20:39 | BBB |
21B | 27/04/2023 | 21:39 | BBB |
21B | 28/04/2023 | 22:39 | BBB |
21C | 14/04/2023 | 22:01 | CCC |
21C | 15/04/2023 | 18:05 | CCC |
21C | 16/04/2023 | 20:57 | CCC |
21C | 17/04/2023 | 15:15 | CCC |
21C | 17/04/2023 | 19:34 | CCC |
21C | 17/04/2023 | 22:01 | CCC |
21C | 18/04/2023 | 18:05 | CCC |
21C | 18/04/2023 | 20:57 | CCC |
21C | 19/04/2023 | 06:30 | CCC |
21C | 19/04/2023 | 09:27 | CCA |
21C | 19/04/2023 | 18:35 | CCA |
21C | 19/04/2023 | 21:13 | CCA |
21C | 20/04/2023 | 07:22 | CCA |
21C | 20/04/2023 | 10:01 | CCA |
21C | 20/04/2023 | 12:43 | CCA |
21C | 20/04/2023 | 15:53 | CCA |
21C | 20/04/2023 | 22:20 | CCA |
21C | 21/04/2023 | 08:33 | CCD |
21C | 21/04/2023 | 14:17 | CCD |
21C | 21/04/2023 | 16:28 | CCD |
21C | 21/04/2023 | 20:12 | CCD |
21C | 21/04/2023 | 23:06 | CCA |
21C | 22/04/2023 | 16:34 | CCA |
21C | 22/04/2023 | 18:08 | CCA |
21C | 22/04/2023 | 20:01 | CCA |
21C | 23/04/2023 | 11:20 | CCA |
21C | 23/04/2023 | 14:40 | CCA |
21C | 23/04/2023 | 18:10 | CCA |
21C | 23/04/2023 | 21:05 | CCA |
21C | 24/04/2023 | 18:39 | CCA |
21C | 25/04/2023 | 19:39 | CCA |
21C | 26/04/2023 | 20:39 | CCA |
21C | 27/04/2023 | 21:39 | CCA |
21C | 28/04/2023 | 22:39 | CCA |
IDENTIFICACIÓN | Código | Fecha de inicio | Fecha final | Diferencia de fecha |
21A | AAA | 14/04/2023 | 21/04/2023 | 7 |
21A | AAB | 21/04/2023 | 28/04/2023 | 7 |
21B | BBA | 14/04/2023 | 18/04/2023 | 4 |
21B | BBB | 18/04/2023 | 20/04/2023 | 2 |
21B | BBA | 20/04/2023 | 25/04/2023 | 5 |
21B | BBB | 26/04/2023 | 28/04/2023 | 2 |
21C | CCC | 14/04/2023 | 19/04/2023 | 5 |
21C | CCA | 19/04/2023 | 20/04/2023 | 1 |
21C | CCD | 21/04/2023 | 21/04/2023 | 0 |
21C | CCA | 21/04/2023 | 28/04/2023 | 7 |
Esos no son buenos datos de muestra. Proporcione datos de muestra que cubran todos los escenarios (superposiciones, períodos más cortos, etc.) de acuerdo con su proceso de la vida real.
Aquí están los datos sin procesar
IDENTIFICACIÓN | Fecha de salida | ETC | Reg No. | Código |
21A | 14/04/2023 | 22:01 | 9A | ASL |
21A | 15/04/2023 | 18:05 | 9A | ASL |
21A | 16/04/2023 | 20:57 | 9A | ASL |
21A | 17/04/2023 | 15:15 | 9A | ASL |
21A | 17/04/2023 | 19:34 | 9A | ASL |
21A | 17/04/2023 | 22:01 | 9A | ASL |
21A | 18/04/2023 | 18:05 | 9A | ASL |
21A | 18/04/2023 | 20:57 | 9A | ASL |
21A | 19/04/2023 | 06:30 | 9A | ASL |
21A | 19/04/2023 | 09:27 | 9A | ASL |
21A | 19/04/2023 | 18:35 | 9A | ASL |
21A | 19/04/2023 | 21:13 | 9A | ASL |
21A | 20/04/2023 | 07:22 | 9A | ASL |
21A | 20/04/2023 | 10:01 | 9A | ASL |
21A | 20/04/2023 | 12:43 | 9A | ASL |
21A | 20/04/2023 | 15:53 | 9A | ASL |
21A | 20/04/2023 | 22:20 | 9A | ASL |
21A | 21/04/2023 | 08:33 | 9A | ASL |
21A | 21/04/2023 | 14:17 | 9A | ASL |
21A | 21/04/2023 | 16:28 | 9A | ASL |
21A | 21/04/2023 | 20:12 | 9A | TVF (en inglés) |
21A | 21/04/2023 | 23:06 | 9A | TVF (en inglés) |
21A | 22/04/2023 | 16:34 | 9A | TVF (en inglés) |
21A | 22/04/2023 | 18:08 | 9A | TVF (en inglés) |
21A | 22/04/2023 | 20:01 | 9A | TVF (en inglés) |
21A | 23/04/2023 | 11:20 | 9A | TVF (en inglés) |
21A | 23/04/2023 | 14:40 | 9A | TVF (en inglés) |
21A | 23/04/2023 | 18:10 | 9A | TVF (en inglés) |
21A | 23/04/2023 | 21:05 | 9A | TVF (en inglés) |
21A | 24/04/2023 | 18:39 | 9A | TVF (en inglés) |
21A | 25/04/2023 | 19:39 | 9A | TVF (en inglés) |
21A | 26/04/2023 | 20:39 | 9A | TVF (en inglés) |
21A | 27/04/2023 | 21:39 | 9A | TVF (en inglés) |
21A | 28/04/2023 | 22:39 | 9A | TVF (en inglés) |
y el resultado esperado es
IDENTIFICACIÓN | Código | Fecha de inicio | Fecha final | Diferencia de fecha |
21A | ASL | 14/04/2023 | 21/04/2023 | 7 |
21A | TVF (en inglés) | 21/04/2023 | 28/04/2023 | 7 |
Para eso necesitaría usar las funciones de ventanas. Proporcione datos de muestra que cubran su problema o pregunta por completo, en un formato utilizable (no como una captura de pantalla).
https://community.powerbi.com/t5/Community-Blog/How-to-provide-sample-data-in-the-Power-BI-Forum/ba-...
Muestre el resultado esperado en función de los datos de muestra que proporcionó.
https://community.powerbi.com/t5/Desktop/How-to-Get-Your-Question-Answered-Quickly/m-p/1447523
¿Es posible mostrar la fecha de inicio con una medida, la fecha de finalización con una medida, y también la diferencia de fecha en otra medida, de esa manera puedo obtener recuentos consecuentes totales basados en la diferencia de fecha?
Consecutive2 =
var d = max(Table2[Date])
var c = max(Table2[Code])
var i = max(Table2[ID])
var o = calculate(max(Table2[Date]),ALLSELECTED(Table2),Table2[Date]<><>c,Table2[ID]=i)
var n = CALCULATE(min(Table2[Date]),ALLSELECTED(Table2),Table2[Date]>o,Table2[Code]=c,Table2[ID]=i)
return int(d-n+1)<>
¿Qué debe suceder cuando se produce un cambio el mismo día?
Gustar
A1 | 1 | 03/05/2023 | 01:20 | |
B2 | 1 | 03/05/2023 | 02:20 |
No estoy seguro, la columna adicional es la columna de tiempo, por lo que se ve así
Código | IDENTIFICACIÓN | Fecha | Hora de salida | Recuento de días |
A1 | 1 | 15/04/2023 | 13:20 | 1 |
A1 | 1 | 15/04/2023 | 17:15 | 1 |
A1 | 1 | 16/04/2023 | 13:20 | 2 |
A1 | 1 | 19/04/2023 | 13:20 | 5 |
A1 | 1 | 19/04/2023 | 17:15 | 5 |
A1 | 1 | 20/04/2023 | 13:20 | 6 |
A1 | 1 | 21/04/2023 | 14:20 | 7 |
B2 | 1 | 22/04/2023 | 15:20 | 1 |
B2 | 1 | 23/04/2023 | 16:20 | 2 |
B2 | 1 | 24/04/2023 | 13:20 | 3 |
B2 | 1 | 24/04/2023 | 17:20 | 3 |
B2 | 1 | 25/04/2023 | 18:20 | 4 |
B2 | 1 | 26/04/2023 | 19:20 | 5 |
A1 | 1 | 27/04/2023 | 20:20 | 1 |
A1 | 1 | 29/04/2023 | 21:20 | 2 |
A1 | 1 | 30/04/2023 | 22:20 | 3 |
B2 | 1 | 01/05/2023 | 23:20 | 1 |
A1 | 1 | 02/05/2023 | 00:20 | 1 |
A1 | 1 | 03/05/2023 | 01:20 | 2 |
B2 | 1 | 04/05/2023 | 02:20 | 1 |
B2 | 1 | 05/05/2023 | 03:20 | 2 |
B2 | 1 | 06/05/2023 | 04:20 | 3 |
B2 | 1 | 10/05/2023 | 05:20 | 7 |
B2 | 1 | 10/05/2023 | 06:20 | 7 |
B2 | 1 | 10/05/2023 | 07:20 | 7 |
B2 | 1 | 10/05/2023 | 08:20 | 7 |
¿Cómo planea calcular la diferencia de día con los valores datetime? Eso se complicará rápidamente.
En cuanto a la bandera, puedes hacerlo tú mismo. Siempre que la medida devuelve 1, y para la fila anterior devuelve 7 o más, eso es un indicador de cambio.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early Bird pricing ends December 9th.
Check out the November 2024 Power BI update to learn about new features.
User | Count |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |