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

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
LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.