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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

Contar filas en el visual de tabla con parámetros de campo

Hola a todos,

Tengo una pregunta.
Antes de eso, puedo usar COUNTROWS y SUMMARIZECOLUMNS para cacular el número de filas visibles en la tabla visual.
Pero ahora aplicamos los parámetros de campo, ¿cómo podemos saberlo?

Código para cacular filas antes.
Nº de tabla en bruto =
CUENTAS (
RESUMIRCOLUMNAS (
'Producto'[Franquicia],
«Producto»[Grupo de productos STMS],
'Producto'[Nombre del producto STMS],
'CustomerType'[CANAL (grupos)],
'Calendario'[Año-Mes],
'Región'[REGIÓN],
'Area'[AreaName],
'Cliente'[CustomerName],
'Ventas'[InvoiceDate],
'Cliente'[Código],
"Valor", "Medida"[ Valor]
)
)
Gracias

20 REPLIES 20
Syndicate_Admin
Administrator
Administrator

Esto es lo más cerca que he visto a alguien llegar a la solución que estoy buscando. En mi situación, el usuario desea agregar dinámicamente varios campos de una tabla, pero hay más de 100 campos en esta tabla y podrían agregar cualquier combinación de campos. Estoy tratando de pensar en una manera de modificar su dax anterior para tener en cuenta las infinitas variaciones posibles de las selecciones de columnas.

Estoy perplejo en este momento, si tuvieras algún pensamiento, ¡me encantaría escucharlo! Gracias.

Syndicate_Admin
Administrator
Administrator

Utilice la misma consulta que los usos visuales cuando combine estas columnas de tablas diferentes. RESUMIR columnas, etc.

Syndicate_Admin
Administrator
Administrator

@lbendlinel problema es cuando se seleccionan columnas de 2 o más tablas diferentes en el parámetro Field.

Syndicate_Admin
Administrator
Administrator

Es cierto que las medidas son irrelevantes.
La cuestión son las diferentes tablas, no el número de columnas.
Entonces, por ejemplo, si tengo columnas de 4 tablas diferentes, ¿qué escribiría aquí?

COUNTROWS(SUMMARIZE(ALLSELECTED('ledger_fy22_qtr1'),[FISCAL_YEAR],[ACCOUNTING_PERIOD]))

Syndicate_Admin
Administrator
Administrator

Misma metodología. En lugar de permutaciones para dos columnas, la instrucción SWITCH debe controlar permutaciones en tres columnas.

Los parámetros del campo de medidas son irrelevantes ya que no aportan cardinalidad.

Syndicate_Admin
Administrator
Administrator

Hola @lbendlin ,
Si tenemos 2 parámetros de campo en nuestra tabla visual, ¿cómo se vería esa medida?
¿Y si el parámetro Field tiene columnas de tablas diferentes?

Imagine una tabla visual con un parámetro de campo como el siguiente:

Medidas = {
("Ventas totales", NOMBREDE('Tabla de medidas'[Ventas totales]), 0),
("Ventas promedio", NOMBREDE('Tabla de medidas'[Ventas promedio]), 1),
}

y

Categorías = {
("Producto", NOMBREDE('Tabla de productos'[Producto]), 0),
("País", NOMBREDE('Tabla de países'[País]), 1),
("Tienda", NOMBREDE('Mesa de tiendas'[Tienda]), 2)
}


Gracias.
Syndicate_Admin
Administrator
Administrator

Gracias @lbendlin , ¡eres un salvavidas!

Syndicate_Admin
Administrator
Administrator

Rowcount = 
SWITCH(concatenatex(parameter,[Parameter],","),
"ACCOUNTING_PERIOD",COUNTROWS(SUMMARIZE(ALLSELECTED('ledger_fy22_qtr1'),[ACCOUNTING_PERIOD])),
"FISCAL_YEAR",COUNTROWS(SUMMARIZE(ALLSELECTED('ledger_fy22_qtr1'),[FISCAL_YEAR])),
COUNTROWS(SUMMARIZE(ALLSELECTED('ledger_fy22_qtr1'),[FISCAL_YEAR],[ACCOUNTING_PERIOD]))
)
Syndicate_Admin
Administrator
Administrator

@lbendlin ¿Podrías tener la amabilidad de crear una medida para mí, ya que todavía estoy bastante confundido sobre cómo hacerlo? 🙄

Syndicate_Admin
Administrator
Administrator

Aquí está la consulta para ambos parámetros

// DAX Query
DEFINE
	VAR __DS0Core = 
		SUMMARIZECOLUMNS(
			'ledger_fy22_qtr1'[FISCAL_YEAR],
			'ledger_fy22_qtr1'[ACCOUNTING_PERIOD],
			"SumPOSTED_TOTAL_AMT", CALCULATE(SUM('ledger_fy22_qtr1'[POSTED_TOTAL_AMT]))
		)

	VAR __DS0PrimaryWindowed = 
		TOPN(
			501,
			__DS0Core,
			'ledger_fy22_qtr1'[FISCAL_YEAR],
			1,
			'ledger_fy22_qtr1'[ACCOUNTING_PERIOD],
			1
		)

EVALUATE
	__DS0PrimaryWindowed

ORDER BY
	'ledger_fy22_qtr1'[FISCAL_YEAR], 'ledger_fy22_qtr1'[ACCOUNTING_PERIOD]

y aquí solo para el período fiscal seleccionado

// DAX Query
DEFINE
	VAR __DS0FilterTable = 
		TREATAS({"'ledger_fy22_qtr1'[FISCAL_YEAR]"}, 'Parameter'[Parameter Fields])

	VAR __DS0Core = 
		SUMMARIZECOLUMNS(
			'ledger_fy22_qtr1'[FISCAL_YEAR],
			__DS0FilterTable,
			"SumPOSTED_TOTAL_AMT", CALCULATE(SUM('ledger_fy22_qtr1'[POSTED_TOTAL_AMT]))
		)

	VAR __DS0PrimaryWindowed = 
		TOPN(501, __DS0Core, 'ledger_fy22_qtr1'[FISCAL_YEAR], 1)

EVALUATE
	__DS0PrimaryWindowed

ORDER BY
	'ledger_fy22_qtr1'[FISCAL_YEAR]


// DAX Query
DEFINE
	VAR __DS0FilterTable = 
		TREATAS({"'ledger_fy22_qtr1'[FISCAL_YEAR]"}, 'Parameter'[Parameter Fields])

	VAR __DS0Core = 
		CALCULATETABLE(
			SUMMARIZE(
				'Parameter',
				'Parameter'[Parameter Fields],
				'Parameter'[Parameter Order],
				'Parameter'[Parameter]
			),
			KEEPFILTERS(__DS0FilterTable)
		)

	VAR __DS0BodyLimited = 
		TOPN(
			152,
			__DS0Core,
			'Parameter'[Parameter Order],
			1,
			'Parameter'[Parameter Fields],
			1,
			'Parameter'[Parameter],
			1
		)

EVALUATE
	__DS0BodyLimited

ORDER BY
	'Parameter'[Parameter Order], 'Parameter'[Parameter Fields], 'Parameter'[Parameter]

Eso significa que puede usar concatenatex(parameter,[Parameter],",") o similar para averiguar qué parámetros de campo están seleccionados actualmente. Desde allí puede calcular el recuento de "filas" en la tabla visual.

Syndicate_Admin
Administrator
Administrator

https://data.ok.gov/dataset/dd1ecf41-4abc-4886-ab0f-b84d7662d8d4/resource/6fe771bd-a705-4fce-b12f-d0...

Hola @lbendlin , estoy usando una tabla visual. Tomemos los datos anteriores como ejemplo. Si solo seleccionamos FISCAL_YEAR en la segmentación de datos de parámetros de campos, el número de filas en la tabla será mucho menor en comparación con si tomamos tanto FISCAL_YEAR como ACCOUNTING_PERIOD

Syndicate_Admin
Administrator
Administrator

Sírvase proporcionar algunos datos de muestra. ¿Estás usando una matriz visual?

Syndicate_Admin
Administrator
Administrator

Untitled.png

@lbendlin hay que especificar algo? Estoy recibiendo el error anterior

Syndicate_Admin
Administrator
Administrator

Usar tal cual. No especifique una tabla.

Syndicate_Admin
Administrator
Administrator

@lbendlin ¿qué debo poner dentro de ALLSELECTED()? Si pongo el nombre de la tabla, se muestra el recuento de filas de la tabla original, no el recuento dinámico de filas basado en la selección de parámetros de campo. Tenga en cuenta que el recuento de filas sigue cambiando en función de la selección de campos

Syndicate_Admin
Administrator
Administrator

COUNTROWS(ALLSELECTED()) debería funcionar.

Syndicate_Admin
Administrator
Administrator

Hola @tannhq @lbendlin hay una solución a este problema, si es así, amablemente ayuda!

Syndicate_Admin
Administrator
Administrator

Mientras uses una medida para contar tus filas, todo seguirá funcionando como antes. Si usa una columna calculada, dejará de funcionar.

Gracias por su respuesta.

Mida arriba para calcuate no de tabla visual basada en las columnas seleccionadas fijas, pero cuando usamos parímetros de campo, las columnas seleted se cambiarán y las filas de la tabla visual también se cambiarán.

Intento con el analizador perfomace y copio el código dax a Dax Studio, hay 2 partes del código dax y no sé cómo usarlo con parámetros de campo.

Es un proceso de dos pasos. Consulta el artículo en sqlbi.com. Parámetros de campos en Power BI - SQLBI

Desafortunadamente, no es (todavía) posible proporcionar listas de columnas en lugar de columnas individuales

lbendlin_0-1653833460885.png

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

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