cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Newbie_1
Frequent Visitor

Excluir filas de la suma en función de la condición

Hola a todos,

Estoy tratando de lograr una medida que calcula el total de la columna 'valor' pero excluye ciertas filas basadas en múltiples condiciones porque si calculo el total de la columna, habrá algún doble conteo. El doble conteo solo se produce cuando el mes sigue abierto, y las columnas a través de las cuales se puede identificar este problema están en tipo de documento (si es igual a SD) y Descripción del pedido de compra (si comienza en un ")")Attach.PNG
La tabla original es mucho más grande con otras filas y columnas, pero acabo de adjuntar los higligths.
Para empezar, he creado una medida (Month(Today)) para que PowerBI siempre sepa qué mes es, pero es lo lejos que llegué al intentar usar los DAX CALCULATE y IF.

Mi problema es que Calculate no es compatible con las sentencias TRUE/FALSE, es decir, (Month(Today)) y las instrucciones IF no pueden hacer referencia a una columna, solo a una medida, en la medida en que no entiendo.

Lo que necesito es una fórmula de automatización que pueda calcular el total de la columna de valor, pero excluir cualquier fila del total SI está en el actual (mes abierto) y el tipo de documento - SD o Descripción de la orden de compra comienza con ""
¿Es esto posible o tengo que realizar varios pasos? es decir, ¿añadir una nueva columna para aislar el "a" o cualquier otro paso?

El inverso también sería suficiente, es decir, sumar todas las filas en la columna Valor si el mes actual - Número de mes y tipo de Docuemnt - "SD" / Descripción del producto orden comienza con "" y podría simplemente deducir este valor del total.

5 REPLIES 5
v-lili6-msft
Community Support
Community Support

hola @Newbie_1

Prueba esta medida

Measure =
CALCULATE (
    SUM ( 'Table'[Value] ),
    FILTER (
        Table,
        MONTH ( TODAY () ) = Table[Month Number]
            && Table[Document Type] = "SD"
            && LEFT ( Table[Purchase Order Description], 1 ) = "@"
    )
)

saludos

Lin

Community Support Team _ Lin
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

¡Muchas gracias! ¡Esto funcionó como un encanto!

az38
Super User II
Super User II

Hola @Newbie_1

crear una medida

Total Value Measure = 
CALCULATE(SUM('Table'[Value]), ALL(Table), MONTH(TODAY()) = Table[Month Number], Table[Document Type] = "SD", LEFT(Table[Purchase Order Description], 1) = "@")

do not hesitate to give a kudo to useful posts and mark solutions as solution
LinkedIn
Newbie_1
Frequent Visitor

Gracias por el esfuerzo, por desgracia esto generó el error que he estado enfrentando antes, a saber, que obtengo un error porque DAX no permite la comparación de valores de Interger con valores de texto de tipo. Probablemente es mi conjunto de datos lo que lo prohíbe, pero la solución a continuación me ayuda a mediar!

hola @Newbie_1

¿Quiere decir que su columna Número de mes es formato de texto, así que simplemente ajuste la fórmula como se muestra a continuación con la función VALOR

Measure =
CALCULATE (
    SUM ( 'Table'[Value] ),
    FILTER (
        Table,
        MONTH ( TODAY () ) = VALUE(Table[Month Number])
            && Table[Document Type] = "SD"
            && LEFT ( Table[Purchase Order Description], 1 ) = "@"
    )
)

saludos

Lin

Community Support Team _ Lin
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Helpful resources

Announcements
PBI User Groups

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group!

MBAS on Demand

Microsoft Business Applications Summit sessions

On-demand access to all the great content presented by the product teams and community members! #MSBizAppsSummit #CommunityRocks

Get Ready for Power BI Dev Camp

Power BI Dev Camp - June 24th

Mark your calendars and join us for our next Power BI Dev Camp!