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

Reconocer el valor incoherente con los cambios de fecha

@Greg_Deckler usted podría ser capaz de ayudar con este. Por cierto, la solución que creó para las preguntas anteriores era phenominal.

Tengo una columna que reconoce si hay una discrepancia entre el valor en la columna "Unidad de precios" mirando el colunmn "Contrato único/Material/Proveedor". Por ejemplo, el Contrato 5994393 tiene un error con la Unidad de preciosde Material20. En virtud del Material 20 de este contrato, la unidad de precios se muestra como 1000 y 1 y genera un "2" en la columna Error de precios. Sin embargo, mirando las columnas Inicio/Fin del contrato puede ver que el error se corrigió el 1/13/2020. Este fue un error de 1/1/2020 - 1/12/2020, pero fue capturado, y corregido; ahora los intervalos de fechas son 1/13/2020-12/31/9999 para la entrada corregida. Una columna debe mostrar que este error se ha corregido.

Del mismo modo, El contrato 47389 tiene una unidad de precios que es inconsistente que aún no ha sido capturado. La fecha de finalización del contrato es el año 9999 y la unidad de precios es incoherente. Una columna debe mostrar que se trata de un error que aún no se ha corregido.

Contrato único/Material/ProveedorContratoMaterialProveedorPricing UnitMedidaInicio del contratoFin del contratoFórmula de error de la unidad de precios (>1 - Error)
5994393_20_Brick Internacional599439320Brick International1Caso1/13/202012/31/99992
5994393_20_Brick Internacional599439320Brick International1Caso11/20/201912/31/20192
5994393_20_Brick Internacional599439320Brick International1000Caso1/1/20201/12/20202
Proveedor 47389_10_Wood4738910Proveedor de madera1Para1/1/201912/31/20192
Proveedor 47389_10_Wood4738910Proveedor de madera100Para1/1/202012/31/99992
5 REPLIES 5
v-alq-msft
Community Support
Community Support

Hola, @Jacob111

Según su descripción, puede crear una medida como se muestra a continuación.

Result = 
var _ID = SELECTEDVALUE('Table'[Contract])
var _Ifhaserror = 
CALCULATE(
    DISTINCTCOUNT('Table'[Pricing Unit]),
    FILTER(
        ALLSELECTED('Table'),
        'Table'[Contract] = _ID
    )
)

var _start = 
CALCULATE(
    SUM('Table'[Pricing Unit]),
    FILTER(
        ALLSELECTED('Table'),
        'Table'[Contract Start] = 
        CALCULATE(
            MIN('Table'[Contract Start]),
            FILTER(
                ALL('Table'),
                'Table'[Contract] = _ID
            )
        )
    )
)

var _end = 
CALCULATE(
    SUM('Table'[Pricing Unit]),
    FILTER(
        ALLSELECTED('Table'),
        'Table'[Contract Start] = 
        CALCULATE(
            MAX('Table'[Contract Start]),
            FILTER(
                ALL('Table'),
                'Table'[Contract] = _ID
            )
        )
    )
)

return
IF(
    _Ifhaserror=1,
    "no error",
    IF(
        _Ifhaserror>1&&_start=_end,
        "this error has been corrected",
        IF(
            _Ifhaserror>1&&_start<>_end,
            "an error has not yet been corrected"
        )
    )
)

Resultado:

c1.png

Saludos

Allan

Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Anonymous
Not applicable

@v-alq-msft Gracias por la ayuda! Esto es detectar errores y no errores, pero estoy recibiendo falsos positivos cuando se trata de errores que se han corregido. En la medida, ¿por qué se centró en el inicio del contrato y no en el fin del contrato? Dentro del final del contrato, si el año es 9999 entonces sé que este es el precio actual / presente que se muestra (no significa que es correcto). Además, la fecha de inicio del contrato, una vez corregida, nunca será la fecha como antes (línea de fórmula: Ifhaserror.1&&_start-_end). Será el día siguiente.

He cambiado todas las instancias de 'Table'[Contract] con 'Table'[Unique Contract/Material/Vendor] ya que se centra en lo que exactamente necesita para hacer coincidir.

Hola, @Jacob111

Por favor, intente utilizar la siguiente medida para ver si puede ayudar.

Result = 
var _ID = SELECTEDVALUE('Table'[Unique Contract/Material/Vendor])
var _Ifhaserror = 
CALCULATE(
    DISTINCTCOUNT('Table'[Pricing Unit]),
    FILTER(
        ALLSELECTED('Table'),
        'Table'[Unique Contract/Material/Vendor] = _ID
    )
)

var _start = 
CALCULATE(
    SUM('Table'[Pricing Unit]),
    FILTER(
        ALLSELECTED('Table'),
        'Table'[Unique Contract/Material/Vendor]=_ID&&
        'Table'[Contract End] = 
        CALCULATE(
            MIN('Table'[Contract End]),
            FILTER(
                ALL('Table'),
                'Table'[Unique Contract/Material/Vendor] = _ID
            )
        )
    )
)

var _end = 
CALCULATE(
    SUM('Table'[Pricing Unit]),
    FILTER(
        ALLSELECTED('Table'),
        'Table'[Unique Contract/Material/Vendor]=_ID&&
        'Table'[Contract End] = 
        CALCULATE(
            MAX('Table'[Contract End]),
            FILTER(
                ALL('Table'),
                'Table'[Unique Contract/Material/Vendor] = _ID
            )
        )
    )
)

return
IF(
    _Ifhaserror=1,
    "no error",
    IF(
        _Ifhaserror>1&&_start=_end,
        "this error has been corrected",
        IF(
            _Ifhaserror>1&&_start<>_end,
            "an error has not yet been corrected"
        )
    )
)

Resultado:

a1.png

Saludos

Allan

Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Anonymous
Not applicable

@v-alq-msft Esto ha sido de gran ayuda y me está proporcionando una gran cantidad de información. Sin embargo, he luchado para poner esta información en cualquier gráfico útil o visual. A pesar de que puedo mostrar el resultado de la fórmula sin una columna, no actúa como uno.... lo que significa que no puedo crear una segmentación de los valores devueltos, gráficos de barras, etc.

He intentado cambiar la fórmula para ser reconocida ya sea como una "columna personalizada" por lo que se puede utilizar de la manera anterior, pero sin suerte.

¿Hay alguna manera de adaptar la solución anterior en una "Columna personalizada" o de tal manera que los resultados se puedan reproducir?

Hola, @Jacob111

Puede haber una manera de crear una columna personalizada para lograr su requisito. Desafortunadamente no soy bueno en Power Query. Espero que alguien más pueda ayudarte.

Saludos

Allan

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.