Eventos
31 mar, 23 - 2 abr, 23
Evento de aprendizaje de Fabric, Power BI y SQL más grande. 31 de marzo – 2 de abril. Use el código FABINSIDER para ahorrar $400.
Regístrate hoyEste explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
Se aplica a:columna Calculada
tabla calculada
Medida
cálculo visual
Devuelve una tabla con el producto cartesiano entre cada fila de tabla1 y la tabla que resulta de evaluar tabla2 en el contexto de la fila actual de tabla1.
GENERATE(<table1>, <table2>)
Término | Definición |
---|---|
table1 |
Cualquier expresión DAX que devuelva una tabla. |
table2 |
Cualquier expresión DAX que devuelva una tabla. |
Tabla con el producto cartesiano entre cada fila de tabla1 y la tabla que resulta de evaluar tabla2 en el contexto de la fila actual de tabla1
Si la evaluación de tabla2 para la fila actual de tabla1 devuelve una tabla vacía, la tabla de resultados no contendrá la fila actual de tabla1. Esto es diferente de GENERATEALL() donde la fila actual de tabla1 se incluirá en los resultados y las columnas correspondientes a tabla2 tendrán valores NULL para esa fila.
Todos los nombres de columna de tabla1 y tabla2 deben ser diferentes o se devuelve un error.
Esta función no se admite para su uso en el modo DirectQuery cuando se usa en columnas calculadas o reglas de seguridad de nivel de fila (RLS).
En el ejemplo siguiente, el usuario quiere una tabla de resumen de las ventas por región y categoría de producto para el canal Resellers, como en la tabla siguiente:
SalesTerritory[SalesTerritoryGroup] | ProductCategory[ProductCategoryName] | [Ventas de revendedor] |
---|---|---|
Europa | Accesorios | $ 142,227.27 |
Europa | Bicicletas | $ 9,970,200,44 |
Europa | Ropa | $ 365,847.63 |
Europa | Componentes | $ 2,214,440.19 |
América del Norte | Accesorios | $ 379,305.15 |
América del Norte | Bicicletas | $ 52,403,796.85 |
América del Norte | Ropa | $ 1,281,193.26 |
América del Norte | Componentes | $ 8,882,848.05 |
Pacífico | Accesorios | $ 12,769,57 |
Pacífico | Bicicletas | $ 710,677,75 |
Pacífico | Ropa | $ 22.902.38 |
Pacífico | Componentes | $ 108,549.71 |
La fórmula siguiente genera la tabla anterior:
GENERATE(
SUMMARIZE(SalesTerritory, SalesTerritory[SalesTerritoryGroup])
,SUMMARIZE(ProductCategory
, [ProductCategoryName]
, "Reseller Sales", SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])
)
)
La primera instrucción SUMMARIZE, SUMMARIZE(SalesTerritory, SalesTerritory[SalesTerritoryGroup])
, genera una tabla de grupos de territorio, donde cada fila es un grupo de territorio, como se muestra a continuación:
SalesTerritory[SalesTerritoryGroup] |
---|
América del Norte |
Europa |
Pacífico |
NA |
La segunda instrucción SUMMARIZE, SUMMARIZE(ProductCategory, [ProductCategoryName], "Reseller Sales", SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD]))
, genera una tabla de grupos categoría de producto con las ventas de revendedores para cada grupo, como se muestra a continuación:
ProductCategory[ProductCategoryName] | [Ventas de revendedor] |
---|---|
Bicicletas | $ 63,084,675.04 |
Componentes | $ 11,205,837,96 |
Ropa | $ 1,669,943,27 |
Accesorios | $ 534,301,99 |
Sin embargo, cuando se toma la tabla anterior y se evalúa en el contexto de cada fila de la tabla de grupos de territorios, se obtienen resultados diferentes para cada territorio.
Eventos
31 mar, 23 - 2 abr, 23
Evento de aprendizaje de Fabric, Power BI y SQL más grande. 31 de marzo – 2 de abril. Use el código FABINSIDER para ahorrar $400.
Regístrate hoy