Cómo generar poder Bi Count If Fórmula como esta fórmula de Excel IF (COUNTIF (P $ 3: P3, P3) = 1,1, «»)

Un usuario Pregunto ✅

Ahmed Mohamed

La idea es eliminar cualquier valor duplicado y reemplazarlo por un espacio en blanco y luego contarlo una vez, por ejemplo.

si tengo

Crudo 1 Producto A

Crudo 2 Producto A

Crudo 3 Producto A

Los tres productos en tres filas. Necesito contar 1 registro y dejar los otros dos en blanco para que quede así.

Crudo 1 Producto A = 1

Raw 2 Producto A = en blanco

Raw 3 Producto A = en blanco

Captura.PNG

Gracias y espero que alguien me ayude … muchas gracias

En respuesta a Ahmed Mohamed

Hola @Ahmed_Mohamed

Le sugiero que agregue una columna de índice en el servidor sql para la tabla. Luego cree debajo de dos columnas.

Column =
CALCULATE (
    COUNT ( 'Table1'[Column1] ),
    FILTER (
        'Table1',
        'Table1'[Column1] = EARLIER ( 'Table1'[Column1] )
            && 'Table1'[Index] <= EARLIER ( 'Table1'[Index] )
    )
)
Column 2 = IF(Table1[Column]=1,1,BLANK())

a1.png

Saludos,

Hola @Ahmed_Mohamed

Puede obtenerlo en el editor de consultas como se muestra a continuación. Pegue la siguiente fórmula en el editor avanzado para verificar los pasos.

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WCijKTylNLlFwVIrVIY7nhJ8XCwA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Column1 = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}}),
    #"Grouped Rows" = Table.Group(#"Changed Type", {"Column1"}, {{"Partition", each Table.AddIndexColumn(_, "Index",1,1), type table}}),
    #"Expanded Partition" = Table.ExpandTableColumn(#"Grouped Rows", "Partition", {"Index"}, {"Partition.Index"}),
    #"Added Conditional Column" = Table.AddColumn(#"Expanded Partition", "Custom", each if [Partition.Index] = 1 then 1 else null)
in
    #"Added Conditional Column"

a1.png

Saludos,

Ahmed Mohamed

En respuesta a v-cherch-msft

Hola

Muchas gracias por la solución al usar el editor avanzado, pero el problema en mis datos es que estoy usando una tabla de datos y no tengo permiso para acceder a la consulta de edición ya que estamos usando conjuntos de datos del servidor SQL, por lo que la única solución que tiene que usar la fórmula DAX dando el mismo propósito

¿La fórmula DAX es aplicable a mi fórmula lógica de MS Excel?

Gracias de nuevo

En respuesta a Ahmed Mohamed

Hola @Ahmed_Mohamed

Le sugiero que agregue una columna de índice en el servidor sql para la tabla. Luego cree debajo de dos columnas.

Column =
CALCULATE (
    COUNT ( 'Table1'[Column1] ),
    FILTER (
        'Table1',
        'Table1'[Column1] = EARLIER ( 'Table1'[Column1] )
            && 'Table1'[Index] <= EARLIER ( 'Table1'[Index] )
    )
)
Column 2 = IF(Table1[Column]=1,1,BLANK())

a1.png

Saludos,

jdbuchanan71

Hola @Ahmed_Mohamed

El desafío es que en la «celda» C2 de PowerBI (la que tiene la segunda fórmula) no tiene idea de lo que hay en ninguna de las otras celdas.

En sus datos, ¿qué hace que el Producto aparezca varias veces? ¿Qué es diferente en la fila 2 y 3? Es posible que podamos usar esa información junto con IF y DISTINCTCOUNT para obtener lo que necesita.

Ahmed Mohamed

En respuesta a jdbuchanan71

Hola jdbuchanan71,

Refiriéndose a su punto @ el diferente en Raw 2 y Raw 3 es otra columna de datos necesaria y no está duplicada, por ejemplo, el producto A incluye 3 SKU diferentes, 3 números diferentes de pedidos, erc … así que necesito decir que tengo 1 producto incluido varios elementos

jdbuchanan71

En respuesta a Ahmed Mohamed

@Ahmed_Mohamed Si usa DISTINCTCOUNT ( tabla[Product] ) le dará los valores correctos, incluso a nivel total. No ocultará el valor en las filas adicionales, pero puede acercarlo a lo que está buscando y funcionará independientemente de las columnas adicionales en su visual.



Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *