Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
Syndicate_Admin
Administrator
Administrator

Marcar solo los valores de repetición posteriores que se produjeron dentro de un período de tiempo específico anterior

Estoy intentando marcar valores duplicados, pero solo desde el primer valor duplicado que tipo.

Hasta ahora puedo hacer que todos los duplicados se marquen usando:

Column = 
Var Equipment = [Fault Equipment]
Return Calculate(If(COUNTROWS(Sheet1)>1,"Yes","No"),All(Sheet1),Sheet1[Fault Equipment]=Equipment)

Mi desafío viene en donde trato de integrar primero la fecha en esto, he intentado usar como segundo filtro el argumento de

Sheet1[FaultDate]=Calendar(Earlier(Sheet1[FaultDate].[Date]),Earlier(Sheet1[FaultDate].[Date]))

También intenté usar la función DatesBetween, pero parece que no puedo hacer que se compile. Haber intentado usar la función DateAdd, así como descomponer y volver a componer manualmente los valores de fecha

DatesBetween((Sheet1[FaultDate]),DateAdd(Earlier(Sheet1[FaultDate]),-30,DAY),Earlier(Sheet1[FaultDate])))


DatesBetween((Sheet1[FaultDate]),Date(Year(Earlier(Sheet1[FaultDate])),Month(Earlier(Sheet1[FaultDate]))-1,Day(Earlier(Sheet1[FaultDate]))),Earlier(Sheet1[FaultDate])))

FaultRefFaultDateEquipo de fallaRepetirRepetir fecha
12021/02/06ANo-
22021/02/17BNo-
32021/02/26CNo-
42021/02/27A2021/02/06
52021/03/03DNo-
62021/03/08PNo-
72021/03/12D2021/03/03
82021/03/24C2021/02/26
92021/04/06ANo-
102021/04/10ENo-

Adjunto una tabla de ejemplo para mostrar cuál me gustaría que fuera la salida en las dos últimas columnas

Tenga en cuenta que las líneas 1 y 3 no deben marcarse, ya que serían las primeras entradas. Además, la Línea 9 no está marcada, ya que han transcurrido más de 30 días desde la entrada anterior.

Cualquier sugerencia / orientación sobre dónde me estoy equivocando sería muy apreciada.

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

¿Puedes probar esta columna, por favor?

ColumnX = 
Var Equipment = Sheet1[Fault Equipment]
VAR _fDate = Sheet1[FaultDate]
VAR _dateOfDup = CALCULATE(MAX(Sheet1[FaultDate]), FILTER(Sheet1, Sheet1[Fault Equipment] = Equipment && Sheet1[FaultDate] < _fDate))

RETURN 
IF(DATEDIFF(_dateOfDup, _fDate, DAY) < 30, _dateOfDup)

View solution in original post

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

Hay @Yodaslay3r

¿Has probado la fórmula de @HotChilli? Debería funcionar para la columna Repetir fecha. Para la columna Repetir bandera, la modifico a continuación de una

Flag = 
Var Equipment = Sheet1[Fault Equipment]
VAR _fDate = Sheet1[FaultDate]
VAR _dateOfDup = CALCULATE(MAX(Sheet1[FaultDate]), FILTER(Sheet1, Sheet1[Fault Equipment] = Equipment && Sheet1[FaultDate] < _fDate))
VAR _dateDiff = DATEDIFF(_dateOfDup, _fDate, DAY)
RETURN 
IF(_dateDiff < 30 && NOT(ISBLANK(_dateDiff)), "Yes", "No")

21102603.jpg

Saludos
Equipo de soporte de la comunidad _ Jing

Syndicate_Admin
Administrator
Administrator

¿Puedes probar esta columna, por favor?

ColumnX = 
Var Equipment = Sheet1[Fault Equipment]
VAR _fDate = Sheet1[FaultDate]
VAR _dateOfDup = CALCULATE(MAX(Sheet1[FaultDate]), FILTER(Sheet1, Sheet1[Fault Equipment] = Equipment && Sheet1[FaultDate] < _fDate))

RETURN 
IF(DATEDIFF(_dateOfDup, _fDate, DAY) < 30, _dateOfDup)

Hola Gracias,

Esto funciona perfectamente!!!

Solo para mi propia información, en la función Calcular, en el filtro, ¿cuál de los argumentos se refiere a la fila "actual" para el cálculo? ¿Sería el Sheet1[Fault Equipment] o la variable que se declaró?

Entonces, como pensamiento adicional, ¿sería posible hacer esto en una Medida en lugar de una columna calculada?

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

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

LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.