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
Gracias y espero que alguien me ayude … muchas gracias
v-cherch-msft
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())
Saludos,
v-cherch-msft
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"
Saludos,
Ahmed Mohamed
En respuesta a v-cherch-msft
Hola @v-cherch-msft
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
v-cherch-msft
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())
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.