Forum Discussion
Power BI Visual
Hola
Estoy trabajando en un proyecto de venta cruzada de Power BI. Mis datos se organizan en este formato:
He creado un informe que consta de dos viusales de tabla y una segmentación. La segmentación consta de los siguientes servicios:
Podemos seleccionar los servicios de la segmentación y el objeto visual de la tabla mostrará la lista de clientes que compraron ese servicio (o servicios) específico como se muestra a continuación:
Ejemplo:
Clientes del plan10 = Cliente1, Cliente2, Cliente4, Cliente5, Cliente6, Cliente8, Cliente11 (este es el resultado del objeto visual Tabla1)
Clientes de Plan10 y Plan4 = Cliente1, Cliente5, Cliente6 (este es el resultado del objeto visual Tabla2)
**Clientes objetivo (que compraron el Plan10 pero no el Plan4) = Cliente2, Cliente4, Cliente8, Cliente11
(Necesito crear este objeto visual de Tabla3 restando los valores del objeto visual de Tabla2 de los valores del objeto visual de Tabla1)
Actualmente estoy haciendo este proceso manualmente exportando los valores de la tabla como csv y luego comparándola en Excel. ¿Es posible lograr esto en Power BI?
Gracias.
5 Replies
- Syndicate_Admin
Administrator
Una forma es que puede crear 8 páginas y usar el botón para navegar a una página diferente.
Y en el filtro de página de cada página, debe seleccionar el cliente que está en ese ámbito del plan
- Syndicate_Admin
Administrator
Hola @ryan_mayu
Gracias, pero los datos que mostré son solo para entender. Tengo un conjunto de datos enorme, por lo que crear páginas por separado no será una solución práctica.
- Syndicate_Admin
Administrator
O bien, puede crear una tabla de asignación y filtrar esta tabla para obtener la salida correspondiente.
| Plan | Customer | | ------ | ---------- | | Plan 1 | Customer 1 | | Plan 1 | Customer 2 | | Plan 1 | Customer 3 | | Plan 1 | Customer 4 | | Plan 2 | Customer 3 | | Plan 2 | Customer 4 | | Plan 2 | Customer 5 |
- Syndicate_Admin
Administrator
Hola @alir22456 ,
@ryan_mayu ¡Gracias por tu respuesta!
Y @alir22456 puedes probar de esta manera:
Aquí están mis datos de muestra:Use este DAX para crear dos tablas calculadas para las segmentaciones de datos (si solo una segmentación no hace lo que necesita que haga):
Buy = VALUES('Table'[Services])Not Buy = VALUES('Table'[Services])Tenga en cuenta que no hay relación entre las tablas:
Utilice este DAX para crear una medida para devolver a los clientes que solo han comprado los servicios seleccionados en la primera segmentación:
Buy_single_Customers = CONCATENATEX( FILTER( 'Table', 'Table'[Services] IN VALUES(Buy[Services]) ), 'Table'[Customers], "," )Siga usando este DAX para crear una medida que devuelva los clientes que compraron los servicios seleccionados en la primera segmentación y los servicios seleccionados en la segunda segmentación:
Buy_both_Customers = VAR _BUY = CALCULATETABLE( DISTINCT('Table'[Customers]), FILTER( ALL('Table'), 'Table'[Services] IN VALUES(Buy[Services]) ) ) VAR _NOT_BUY = CALCULATETABLE( DISTINCT('Table'[Customers]), FILTER( ALL('Table'), 'Table'[Services] IN VALUES('Not Buy'[Services]) ) ) VAR _Both = INTERSECT(_BUY, _NOT_BUY) RETURN CONCATENATEX( _Both, 'Table'[Customers], "," )Por último, este DAX se utiliza para crear una medida para devolver a los clientes que solo compraron los servicios seleccionados en la primera segmentación y no los servicios seleccionados en la segunda segmentación:
Both - Single = VAR _BUY = CALCULATETABLE( DISTINCT('Table'[Customers]), FILTER( ALL('Table'), 'Table'[Services] IN VALUES(Buy[Services]) ) ) VAR _NOT_BUY = CALCULATETABLE( DISTINCT('Table'[Customers]), FILTER( ALL('Table'), 'Table'[Services] IN VALUES('Not Buy'[Services]) ) ) VAR _Both = EXCEPT(_BUY, _NOT_BUY) RETURN CONCATENATEX( _Both, 'Table'[Customers], "," )Y el resultado final es el siguiente:
Saludos
Dino Tao
Si esta publicación ayuda, considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.- Syndicate_Admin
Administrator
Gracias @v-junyant-msft