Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
Anonymous
Not applicable

CALCULATE y DISTINCTCOUNT con condición

Hola a todos

Tengo una tabla que se parece a la tabla que se puede ver a continuación. En la columna "Total" puedo ver el número de productos que un cliente compró. Lo que quiero saber es cuántos clientes hay que comprar productos de un tipo diferente (venta cruzada > por ejemplo, P1 y P2).

Por ahora tengo una fórmula/medida que me devuelve a los clientes, que compraron más de un producto: Medida : CALCULATE(DISTINCTCOUNT('Table'[Customer],(FILTER('Table','Table'[Total]>-2)). El resultado de este ejemplo es La medida 3, pero el resultado correcto sería 2 (porque el cliente A no cuenta, solo compró P1 dos veces > ninguna venta cruzada). Lo que estoy luchando con es una condición adicional que es la prueba si el cliente compró no sólo dos productos, pero dos tipos diferentes de productos.

Basándose en este ejemplo, ¿cómo sería la fórmula?

Cliente

Total

P1

P2

P3

P4

A

2

2

0

0

0

B

3

0

1

1

1

C

2

1

1

0

0

D

1

1

0

0

0

Gracias de antemano!

Felix

5 REPLIES 5
Ashish_Mathur
Super User
Super User

Hola

Puede consultar mi solución aquí - Identificar a los clientes que las organizaciones pueden vender o vender sus productos a


Regards,
Ashish Mathur
http://www.ashishmathur.com
https://www.linkedin.com/in/excelenthusiasts/
ryan_mayu
Super User
Super User

@FelixLe

se puede probar a continuación.

1. no necesita una columna total

2. En PQ, seleccione la columna de cliente y despíte otras columnas

1.png2.PNG

3. crear una medida

Measure = 
VAR tbl=SUMMARIZE(FILTER('Table','Table'[Value]>0),'Table'[Customer],"_value",COUNTROWS('Table'))
VAR tbl2=FILTER(tbl,[_value]>=2)
return COUNTROWS(tbl2)

3.PNG

por favor vea el archivo adjunto a continuación





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




Anonymous
Not applicable

@ryan_mayu Gracias por su respuesta!

¿Hay otra manera sin despivor mi mesa para obtener el resultado deseado? Cuando sigo tus pasos, mis otras medidas y cálculos ya no funcionan, pero no quiero crear una nueva tabla además de mi tabla principal. Así que sería bueno obtener el resultado simplemente usando una fórmula correcta para la medida. ¿Es posible?

Gracias de antemano!

@FelixLe

Todavía le recomendamos encarecidamente que cambie el formato de datos. Si desea conservar el actual. puede probar a continuación la solución alternativa.

crear una columna

Count = 
VAR P1=if('Table'[P1]=0,0,1)
VAR P2=if('Table'[P2]=0,0,1)
VAR P3=if('Table'[P3]=0,0,1)
VAR P4=IF('Table'[P4]=0,0,1)
RETURN P1+P2+P3+P4

crear una medida

Measure = CALCULATE(COUNTROWS('Table'),'Table'[Count]>=2)




Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




BA_Pete
Super User
Super User

Hola @FelixLe ,

En Power Query, puede duplicar o hacer referencia a la tabla principal (si necesita conservar los datos originales) y, a continuación, realizar los pasos siguientes en la nueva tabla para ver cuántos productos diferentes compró cada cliente.

En Power Query, vaya a Nuevo origen>Consulta en blanco y, a continuación, en Editor avanzado, pegue mi código sobre el código predeterminado. A continuación, puede seguir los pasos que tomé para completar esto.

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WclTSUTICYgM4jtWJVnKC8gzhGCTqjCSCUOuCIgIWjQUA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [customer = _t, P1 = _t, P2 = _t, P3 = _t, P4 = _t]),
    #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(Source, {"customer"}, "Attribute", "Value"),
    #"Filtered Rows" = Table.SelectRows(#"Unpivoted Other Columns", each ([Value] <> "0")),
    #"Grouped Rows" = Table.Group(#"Filtered Rows", {"customer"}, {{"Count", each Table.RowCount(_), Int64.Type}})
in
    #"Grouped Rows"

Esto me da el siguiente ouput:

BA_Pete_0-1607095829974.png

A continuación, debería poder relacionar esto con la tabla principal del modelo en [cliente] para utilizarlo en objetos visuales/medidas.



Now accepting Kudos! If my post helped you, why not give it a thumbs-up?

Proud to be a Datanaut!




Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

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

Top Solution Authors