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

The Power BI DataViz World Championships are on! With four chances to enter, you could win a spot in the LIVE Grand Finale in Las Vegas. Show off your skills.

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
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

Feb2025 Sticker Challenge

Join our Community Sticker Challenge 2025

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

Feb2025 NL Carousel

Fabric Community Update - February 2025

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

Top Solution Authors