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

Vote for your favorite vizzies from the Power BI Dataviz World Championship submissions. Vote now!

Reply
Syndicate_Admin
Administrator
Administrator

Combinar dos columnas en visual

Hola a todos,

Quiero preguntar si es posible combinar dos columnas en un gráfico de columnas sin cambiar los datos subyacentes.

Luca1234_0-1644493573171.png

Por ejemplo, como se muestra en la imagen. Tengo dos columnas que están separadas debido a la forma en que se guarda la categoría en la tabla de origen. Debido a que son básicamente los mismos, quiero combinarlos, así que tengo una columna con 7 entradas y solo uno de los títulos de categoría. Debe hacerse en el visual porque no puedo cambiar los datos de origen.

Gracias por cualquier ayuda en esto. tal vez no sea posible también.

@Greg_Deckler

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Hay, @Luca1234

Resultado:

vangzhengmsft_0-1644909291838.pngIntente crear las siguientes medidas:

cat = 
var _currentCat=MAX('Table'[category]) 
var _lenth=LEN(_currentCat)
var _delimiter=SEARCH(",",_currentCat,1,-1)
var _cat1=left(_currentCat,_delimiter-1)
var _cat2=RIGHT(_currentCat,_lenth-_delimiter)
var _cat=CONCATENATE(MIN(_cat1,_cat2),MAX(_cat1,_cat2))

return _cat
_Sum = 
var _currentCat=MAX('Table'[category]) 
var _lenth=LEN(_currentCat)
var _delimiter=SEARCH(",",_currentCat,1,-1)
var _cat1=left(_currentCat,_delimiter-1)
var _cat2=RIGHT(_currentCat,_lenth-_delimiter)
var _cat=CONCATENATE(MIN(_cat1,_cat2),MAX(_cat1,_cat2))

var _t=ADDCOLUMNS(ALL('Table'),"_cat",[cat])
var _sum=SUMX(FILTER(_t,[_cat]=_cat),[Value])

return _sum
_show = 
var _currentCat=MAX('Table'[category]) 
var _lenth=LEN(_currentCat)
var _delimiter=SEARCH(",",_currentCat,1,-1)
var _cat1=left(_currentCat,_delimiter-1)
var _cat2=RIGHT(_currentCat,_lenth-_delimiter)
var _cat=CONCATENATE(MIN(_cat1,_cat2),MAX(_cat1,_cat2))

var _t=ADDCOLUMNS(ALL('Table'),"_cat",[cat])
var _sum=SUMX(FILTER(_t,[_cat]=_cat),[Value])

var _OnlyShowOne=MINX(FILTER(_t,[_cat]=_cat),[category])
var _show=IF(_currentCat=_OnlyShowOne,1,0)
return _show

A continuación, muestre los elementos cuando _show es 1 en el panel de filtros.
Consulte el archivo adjunto a continuación para obtener más detalles.

Espero que esto ayude.

Saludos
Equipo de apoyo a la comunidad _ Zeon Zheng


Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

View solution in original post

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

Hay, @Luca1234

Resultado:

vangzhengmsft_0-1644909291838.pngIntente crear las siguientes medidas:

cat = 
var _currentCat=MAX('Table'[category]) 
var _lenth=LEN(_currentCat)
var _delimiter=SEARCH(",",_currentCat,1,-1)
var _cat1=left(_currentCat,_delimiter-1)
var _cat2=RIGHT(_currentCat,_lenth-_delimiter)
var _cat=CONCATENATE(MIN(_cat1,_cat2),MAX(_cat1,_cat2))

return _cat
_Sum = 
var _currentCat=MAX('Table'[category]) 
var _lenth=LEN(_currentCat)
var _delimiter=SEARCH(",",_currentCat,1,-1)
var _cat1=left(_currentCat,_delimiter-1)
var _cat2=RIGHT(_currentCat,_lenth-_delimiter)
var _cat=CONCATENATE(MIN(_cat1,_cat2),MAX(_cat1,_cat2))

var _t=ADDCOLUMNS(ALL('Table'),"_cat",[cat])
var _sum=SUMX(FILTER(_t,[_cat]=_cat),[Value])

return _sum
_show = 
var _currentCat=MAX('Table'[category]) 
var _lenth=LEN(_currentCat)
var _delimiter=SEARCH(",",_currentCat,1,-1)
var _cat1=left(_currentCat,_delimiter-1)
var _cat2=RIGHT(_currentCat,_lenth-_delimiter)
var _cat=CONCATENATE(MIN(_cat1,_cat2),MAX(_cat1,_cat2))

var _t=ADDCOLUMNS(ALL('Table'),"_cat",[cat])
var _sum=SUMX(FILTER(_t,[_cat]=_cat),[Value])

var _OnlyShowOne=MINX(FILTER(_t,[_cat]=_cat),[category])
var _show=IF(_currentCat=_OnlyShowOne,1,0)
return _show

A continuación, muestre los elementos cuando _show es 1 en el panel de filtros.
Consulte el archivo adjunto a continuación para obtener más detalles.

Espero que esto ayude.

Saludos
Equipo de apoyo a la comunidad _ Zeon Zheng


Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

Syndicate_Admin
Administrator
Administrator

@Luca1234 En teoría se podría crear una medida como:

Measure =
  IF(
    MAX('Table'[Category] = "System2, System1",
    BLANK(),
    COUNTROWS(FILTER(ALL('Table'), [Category] = "System1, System2" || [Category] = "System2, System1"))
  )

Helpful resources

Announcements
Power BI DataViz World Championships

Power BI Dataviz World Championships

Vote for your favorite vizzies from the Power BI World Championship submissions!

Sticker Challenge 2026 Carousel

Join our Community Sticker Challenge 2026

If you love stickers, then you will definitely want to check out our Community Sticker Challenge!

January Power BI Update Carousel

Power BI Monthly Update - January 2026

Check out the January 2026 Power BI update to learn about new features.

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Kudoed Authors