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

Medida para encontrar objeto doble en una semana

No estoy seguro de si es posible. Me temo que no ...

¿Hay alguna manera, con una medida, de determinar objetos dobles en la misma semana?

Entonces, tengo una tabla (Hoja1) que almacena órdenes de trabajo en diferentes objetos [Objeto].

Si la orden de trabajo [Orden de trabajo] tiene una orden de trabajo diferente en el mismo objeto[Objeto], en los 7 días anteriores o posteriores a esa fecha [Fecha de creación], quiero devolver un SÍ, otro un NO.

Realmente tiene que ser una medida, no una columna calculada o con Power Query.

¿Es de alguna manera posible crear esto?

9 REPLIES 9
Syndicate_Admin
Administrator
Administrator

@IAM ,

¿Se ha resuelto su problema? En caso afirmativo, ¿podría marcar la publicación útil como Respondida? Ayudará a los demás en la comunidad a encontrar la solución fácilmente si enfrentan el mismo problema que el suyo. Gracias.

Saludos

Syndicate_Admin
Administrator
Administrator

Estas medidas no funcionan. Creo que no fui lo suficientemente claro.

La orden de trabajo no tiene fecha. Es solo un código.

Necesito comparar la fecha de creación de diferentes órdenes de trabajo (por lo tanto, diferentes filas en una tabla)

@IAM ,

¿Cómo comparar los datos creados de diferentes órdenes de trabajo? Si tiene los datos en la tabla a continuación, ¿podría proporcionar la lógica relacionada con ellos y su resultado final esperado? Gracias.

yingyinr_0-1669949573578.png

Actualizo la fórmula de medida como se muestra a continuación y compruebo si eso es lo que quieres. Por favor, encuentre los detalles en el archivo adjunto.

MFeasure =
VAR _selobj =
    SELECTEDVALUE ( 'object'[Object] )
VAR _selcdate =
    SELECTEDVALUE ( 'object'[Date Created] )
VAR _count =
    CALCULATE (
        DISTINCTCOUNT ( 'object'[Workorder] ),
        FILTER ( ALLSELECTED ( 'object' ), 'object'[Object] = _selobj )
    )
VAR _predate =
    CALCULATE (
        MAX ( 'object'[Date Created] ),
        FILTER (
            ALLSELECTED ( 'object' ),
            'object'[Object] = _selobj
                && 'object'[Date Created] < _selcdate
        )
    )
RETURN
    IF (
        _count > 1
            && (
                DATEDIFF ( _predate, _selcdate, DAY ) < 7
                    || DATEDIFF ( _predate, _selcdate, DAY ) > 7
            ),
        "Yes",
        "No"
    )

yingyinr_1-1669949761172.png

Saludos

@IAM Si ve el DAX no he usado la orden de trabajo. El DAX solo utiliza [Objeto] y [Fecha de creación]

IsRepeatObject = 
Var currobject = SELECTEDVALUE(Sheet1[Object])
Var currdate = SELECTEDVALUE(Sheet1[Date Created])
Var result = if (countx(filter(all(Sheet1), Sheet1[Object]=currobject && currdate >= Sheet1[Date Created]-7 && currdate <= Sheet1[Date Created]), Sheet1[Object])>1, "YES","NO")
return result

Syndicate_Admin
Administrator
Administrator

@IAM ,

Puede crear una medida como se muestra a continuación para obtenerla, encuentre los detalles en el archivo adjunto.

Measure = 
VAR _selobj =
    SELECTEDVALUE ( 'object'[Object] )
VAR _selwo =
    SELECTEDVALUE ( 'object'[Workorder] )
VAR _selcdate =
    SELECTEDVALUE ( 'object'[Date Created] )
VAR _count =
    CALCULATE (
        DISTINCTCOUNT ( 'object'[Workorder] ),
        FILTER ( ALLSELECTED ( 'object' ), 'object'[Object] = _selobj )
    )
RETURN
    IF (
        _count > 1
            && DATEDIFF ( _selwo, TODAY (), DAY ) <= 7
            && _selcdate < _selwo,
        "Yes",
        "No"
    )

yingyinr_0-1669888375719.png

Saludos

Syndicate_Admin
Administrator
Administrator

@IAM comprobar si esta solución funciona para usted. Gracias

Manoj_Nair_0-1669833463713.png

Si esta publicación ayuda, considere aceptarlo como la solución

Syndicate_Admin
Administrator
Administrator

@IAM Probar:

Measure = 
  VAR __Object = MAX(object[Object])
  VAR __DateMax = MAX(object[Date]) - 1
  VAR __DateMin = __Date - 7
  VAR __Table = SELECTCOLUMNS(FILTER('Table', [Date] >= __DateMin && [Date] <= __DateMax),"__object",[Object])
  VAR __Result = IF(__Object IN __Table, "YES", "NO")
RETURN
  __Result
  

¡Gracias!

¿Puede ser que algo no esté del todo bien @Greg_Deckler ?

Estos dan errores:

MAX(objeto[objeto])

¿Debo reemplazar el primer 'objeto' con el nombre de mi tabla?

VAR __DateMin = __Date - 7

__Date no hay nada correcto?

Measure = 
  VAR __Object = MAX(object[Object])
  VAR __DateMax = MAX(object[Date]) - 1
  VAR __DateMin = __Date - 7
  VAR __Table = SELECTCOLUMNS(FILTER('Table', [Date] >= __DateMin && [Date] <= __DateMax),"__object",[Object])
  VAR __Result = IF(__Object IN __Table, "YES", "NO")
RETURN
  __Result

@IAM Lo siento, cambié el nombre de una variable y sí, ese debería ser el nombre de su tabla.

Measure = 
  VAR __Object = MAX('Table'[Object])
  VAR __DateMax = MAX('Table'[Date]) - 1
  VAR __DateMin = __DateMax - 7
  VAR __Table = SELECTCOLUMNS(FILTER('Table', [Date] >= __DateMin && [Date] <= __DateMax),"__object",[Object])
  VAR __Result = IF(__Object IN __Table, "YES", "NO")
RETURN
  __Result

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.