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

Grow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.

Reply
Syndicate_Admin
Administrator
Administrator

Formato condicional -> segmentación de datos

Hola a todos, originalmente necesitaba este código a continuación (formato de cupón o acuerdo) para aplicar formato condicional cuando un artículo estaba en una oferta / cupón dependiendo de la fecha. Sin embargo, ahora necesito modificar esta fórmula, con los mismos filtros, para convertirme en un slicer basado en las ofertas / cupones de ayer. El objetivo final es crear una métrica que pueda dividir por cupón, acuerdo, oferta exclusiva principal, oferta relámpago, etc. Me he acercado a crear esto mediante la fórmula de "columna de cupón o oferta" a continuación. Sin embargo, esto solo corta el formato condicional de los cupones / ofertas, no las filas. ¡Gracias por tu ayuda!

Coupon or Deal Column = 
VAR tempTable =
    FILTER (
            ALL('Calendar'),'Calendar'[DayRank]=MAX('Calendar'[DayRank])-1
    )
VAR MiNIMUMDATE =
    MINX ( tempTable, 'Deals and Coupons'[Coupon Start Date] )
VAR MAXIMUMDATE =
    MAXX ( tempTable, 'Deals and Coupons'[Coupon End Date] )
VAR MiNIMUMDATE2 =
    MINX ( tempTable, 'Deals and Coupons'[Deal Start Date] )
VAR MAXIMUMDATE2 =
    MAXX ( tempTable, 'Deals and Coupons'[Deal End Date] )
VAR DATE2 =
    MAXX ( tempTable, 'Deals and Coupons'[Lightning Deal Date] )
VAR MiNIMUMDATE3 =
    MINX ( tempTable, 'Deals and Coupons'[Prime Exclusive Discount Start Date] )
VAR MAXIMUMDATE3 =
    MAXX ( tempTable, 'Deals and Coupons'[Prime Exclusive Discount End Date] )
RETURN
    IF (
        AND (
            [Yesterday] >= MiNIMUMDATE,
            [Yesterday] <= MAXIMUMDATE
            ),
            "Coupon",
        IF (
            AND (
            [Yesterday] >= MiNIMUMDATE2,
            [Yesterday] <= MAXIMUMDATE2
                ),
                "7DD",
            IF (
                AND (
                    [Yesterday] >= MiNIMUMDATE3,
                    [Yesterday] <= MAXIMUMDATE3
                    ),
                    "PED",
                IF (
                    [Yesterday] = DATE2
                    ,
                    "LD","None"
    ))))
Coupon or Deal Format = 
VAR tempTable =
    FILTER (
        'Deals and Coupons',
        'Deals and Coupons'[Coupon Start Date] <= SELECTEDVALUE ( 'Calendar'[Date] )
        && 'Deals and Coupons'[Coupon End Date] >= 'Deals and Coupons'[Coupon End Date]
        && 'Deals and Coupons'[Deal Start Date] <= SELECTEDVALUE ( 'Calendar'[Date] )
        && 'Deals and Coupons'[Deal End Date] >= 'Deals and Coupons'[Deal End Date]
        && 'Deals and Coupons'[Prime Exclusive Discount Start Date] <= SELECTEDVALUE ( 'Calendar'[Date] )
        && 'Deals and Coupons'[Prime Exclusive Discount End Date] >= 'Deals and Coupons'[Prime Exclusive Discount End Date]
    )
VAR MINIMUMDATE =
    MINX ( tempTable, 'Deals and Coupons'[Coupon Start Date] )
VAR MAXIMUMDATE =
    MAXX ( tempTable, 'Deals and Coupons'[Coupon End Date] )
VAR MINIMUMDATE2 =
    MINX ( tempTable, 'Deals and Coupons'[Deal Start Date] )
VAR MAXIMUMDATE2 =
    MAXX ( tempTable, 'Deals and Coupons'[Deal End Date] )
VAR MINIMUMDATE3 =
    MINX ( tempTable, 'Deals and Coupons'[Prime Exclusive Discount Start Date] )
VAR MAXIMUMDATE3 =
    MAXX ( tempTable, 'Deals and Coupons'[Prime Exclusive Discount End Date] )
VAR DATE2 =
    MAXX ( tempTable, 'Deals and Coupons'[Lightning Deal Date] )
RETURN
    IF (
        AND (
            SELECTEDVALUE ( 'Calendar'[Date] ) >= MINIMUMDATE,
            SELECTEDVALUE ( 'Calendar'[Date] ) <= MAXIMUMDATE
        ),
        "#A9F099",
    IF (
        AND (
            SELECTEDVALUE ( 'Calendar'[Date] ) >= MINIMUMDATE2,
            SELECTEDVALUE ( 'Calendar'[Date] ) <= MAXIMUMDATE2
        ),
        "#97E6F8",
    IF (
        AND (
            SELECTEDVALUE ( 'Calendar'[Date] ) >= MINIMUMDATE3,
            SELECTEDVALUE ( 'Calendar'[Date] ) <= MAXIMUMDATE3
        ),
        "#E6A1CB",
    IF (
            SELECTEDVALUE ( 'Calendar'[Date] ) = DATE2,
        "#D1CEFF"
    ))))

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

@grbs ,

¿Quiso decir que desea ponerlo en un objeto visual de segmentación de datos y, a continuación, filtrar los datos relacionados por la segmentación de datos?

No puedo entenderlo, ¿puede proporcionar algunos datos de muestra o la imagen de muestra que desea realizar?

Saludos

Yolo Zhu

Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Hola @v-xinruzhu-msft - sí, eso es lo que quise decir. He incluido un ejemplo de segmentación de cómo me gustaría que apareciera. El primer ejemplo de código que proporcioné anteriormente, llamado "Columna de cupón o oferta", logra este objeto visual, pero no funciona como una segmentación de datos para filtrar filas. ¿Tiene sentido?

grbs_0-1671030890260.png

@grbs

¿Esta columna está en la tabla 'Ofertas y cupones', o tiene una relación con la tabla 'Ofertas y cupones', las filas se efectuarán en función de la relación entre ellas.

¡Saludos!

Yolo Zhu

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

Creo que esto debería tener lugar en la tabla 'X' que tiene una relación con la tabla 'Ofertas y cupones' debido al hecho de que debe filtrar las filas de datos de la tabla 'X'. ¡Agradezco su ayuda!

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

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

MayPowerBICarousel1

Power BI Monthly Update - May 2024

Check out the May 2024 Power BI update to learn about new features.