Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Administrator
4 years ago
Solved

DAX

Hola necesito ayuda con una fórmula.

Estoy tratando de crear una fórmula dax basada en los siguientes datos.

La fórmula debe decir

si la suma/recuento del número de carga en enero es

menos de 3 = "75.00"

mayor o igual a 3 = "100.00"

mayor o igual que 4 = "125.00"

mayor que 6 = "225.00"

otro sabio Null.

Así que Jan debería darme una suma de 4 cargas y una tarifa de 125.00

Feb me daría una suma de 2 cargas y una tarifa de 75.00, etc.

Screenshot 2021-10-11 155124 - IF  State.png

  • Syndicate_Admin's avatar
    Syndicate_Admin
    4 years ago

    probar:

    Measure = 
    VAR _Count=COUNTROWS('Table')
    RETURN
    SWITCH(TRUE(),
    _Count > 9, 300,
    _Count >= 6, 200,
    _Count >= 3 ,100,
    _Count = 2, 75,
    50)

8 Replies

  • Hay @Csmith31,

    Para obtener el recuento por una categoría específica, puede utilizar la siguiente medida:

    mCountByCat = COUNTROWS ( DISTINCT ( 'TableName'[Mes] )

    En cuanto a la medida condicional, podría ser algo de lo siguiente:

    mConditionalByCat =
    IF ( [mCountByCat] < 3 , 75 ,

    IF ( [mCountByCat] > = 3 && [mCountByCat] <4 , 100 ,
    IF ( [mCountByCat] > = 4 && [mCountByCat] <6 , 125 ,

    IF ( [mCountByCat] >= 6 , 225 , 0 ) ) ) )

    ¡Espero que esto ayude!

  • @Csmith31

    pls pruebe esto

    Measure = 
    VAR _count=COUNTROWS('Table')
    return SWITCH(TRUE(),_count<3,75,_count=3,100,_count=4,125,_count>6,225)

    1.PNG

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Administrator

      @ryan_mayu,tenía una solución que ahora se ha eliminado dada la simplicidad de la tuya 😂!!

      ¡Ama a tu compañero de trabajo!

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Administrator

      Hola esto es perfecto ¿Cómo podría añadir un intermedio en la fórmula? Para un volumen que esté entre 3 y 5 sería igual a 300

      • Syndicate_Admin's avatar
        Syndicate_Admin
        Administrator

        @Csmith31

        Esta lógica está en conflicto con la primera, que es igual a 4 = "125.00"

        por favor, aclare toda la lógica o puede intentar modificar la medida como se muestra a continuación.

        Measure = 
        VAR _count=COUNTROWS('Table')
        return SWITCH(TRUE(),_count<3,75,_count=3,100,_count<5,300,_count>6,225)