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

View all the Fabric Data Days sessions on demand. View schedule

Reply
WX
Regular Visitor

Consulta en la lista de Excel con parámetro

Hola

Soy nuevo en Power BI y necesito ayuda o simplemente conocer si los problemas que intento resolver.

Tengo una tabla, cuyo origen es un archivo de Excel y contiene 4 columnas (Nombre, Nombre #2, Edad y Categoría). En mi panel de control muestro esta lista. Ahora un usuario debería poder seleccionar un usuario [1]. Cada usuario tiene diferentes categorías [2] y para cada categoría quiero mostrar una lista de usuarios que contienen esta categoría [3] y [4].

2020-08-24 13_12_25-Präsentation1 - PowerPoint.png

Ya aprendí que puedo usar measure para obtener los valores seleccionados en la lista. En este caso mi medida devolvería B, D. El problema es ahora que no sé cómo usar una medida como parámetro de entrada como filtro en una lista de Excel.

¿Es posible realizar esto en Power Bi Desktop?

¡Gracias!

4 REPLIES 4
WX
Regular Visitor

Hola @FrankAT y @amitchandak, gracias por sus respuestas hasta ahora.

permítanme explicar mis dos problemas de nuevo:

  1. filtrado de categorías:
    Ya estoy trabajando en el editor extendido con una sintaxis como:
    Table.SelectRows(source, each Text.Contains([Category], "B"))
    Sin embargo, no sé cómo insertar dinámicamente la "B". ¿Alguna idea?
    Sé que crear una nueva fila para cada categoría sería una solución adecuada, sin embargo, los datos crecerán en 50k líneas por año y puede haber hasta 20 categorías seleccionadas. Así que la cantidad de datos explotaría ...

  2. mostrar tablas dinámicamente:
    En el caso de la selección de la fila amarilla debe aparecer 2 tablas en el tablero, una para la categoría "B" y otra para "D". En el caso de la selección de fila que contiene "Bobby" debe haber 4 tablas en el tablero, para cada categoría "D", "E", "F" y "G". ¿Es posible que en Power BI muestre u oculte tablas que no están en uso?

¡Gracias!

Anonymous
Not applicable

Hola @WX

Creo que desea mostrar todos los usuarios que contienen la categoría como el usuario que seleccione. No podemos crear una tabla dinámica, pero podemos crear medidas para mostrar resultados dinámicos en objetos visuales de tabla.

Construyo una mesa como la tuya para hacerme una prueba.

1.png

En primer lugar, duplicamos la tabla y la transformamos, dividimos la columna Categoría por Delimitador "," en fila y eliminamos otras columnas excepto Nombre y Categoría. A continuación, cambie el nombre de la columna Categoría como Valor.

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45W8s3MTlXSUQoBYiMjIOGo46TjrBSrE60UXFqcmAcUCQZiE1Mg4aTjApZwyk9KqgTyfYHY3AJIuOi46rjpuCvFxgIA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Name = _t, #"Name# 2" = _t, Age = _t, Category = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Name", type text}, {"Name# 2", type text}, {"Age", Int64.Type}, {"Category", type text}}),
    #"Split Column by Delimiter" = Table.ExpandListColumn(Table.TransformColumns(#"Changed Type", {{"Category", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Category"),
    #"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Category", type text}}),
    #"Removed Columns" = Table.RemoveColumns(#"Changed Type1",{"Age", "Name# 2"}),
    #"Renamed Columns" = Table.RenameColumns(#"Removed Columns",{{"Category", "Value"}})
in
    #"Renamed Columns"

2.png

Resultado:3.png

Cree relaciones entre las columnas Name en dos tablas.

Cree una tabla Name para crear una segmentación de datos.

Name = VALUES('Table'[Name])

Medidas de construcción:

Measure = 
Var _select = SELECTEDVALUE('Name'[Name])
Var _T1 = CALCULATETABLE(VALUES(RefrValue[Value]),RefrValue[Name]=_select)
Var _Table = SUMMARIZE(RefrValue,RefrValue[Value])
Return
IF( _T1 in _Table,1,BLANK())
Name# 2 = CALCULATE(MAX('Table'[Name# 2]),FILTER('Table','Table'[Name]=MAX(RefrValue[Name])))
Age = CALCULATE(MAX('Table'[Age]),FILTER('Table','Table'[Name]=MAX(RefrValue[Name])))
Category = CALCULATE(MAX('Table'[Category]),FILTER('Table','Table'[Name]=MAX(RefrValue[Name])))

Cree un objeto visual de tabla y arrastre "Medir" en Filtrar en este objeto visual para mostrar los elementos n.o 1.

El resultado es el siguiente.

Mostrar en blanco como predeterminado.

4.png

Seleccione Susan en Slicer.

5.png

Puede descargar el archivo pbix desde este enlace: Consultar en la lista de Excel con el parámetro

Saludos

Rico Zhou

Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

amitchandak
Super User
Super User

@WX , No estoy seguro de que lo tengo.

Crear una tabla que contenga todas las categorías A,B,C ... Uno en cada fila

Utilícelo para la segmentación de datos, pero no se una con Table

calculate(count(Table[name), filter(Table, CONTAINSSTRING(Table[Category], selectedvalue(Category[Category])))

Share with Power BI Enthusiasts: Full Power BI Video (20 Hours) YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube
FrankAT
Community Champion
Community Champion

Hola @WX

puedes hacerlo así:

24-08-_2020_13-40-33.png

Ver archivos pbix adjuntos

Saludos FrankAT

Helpful resources

Announcements
November Power BI Update Carousel

Power BI Monthly Update - November 2025

Check out the November 2025 Power BI update to learn about new features.

Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

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