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.
Hola
¡Espero obtener ayuda en esto!
La siguiente imagen presenta diferentes ubicaciones para cada categoría.
Estoy tratando de tener las Ubicaciones y Precios para "Alaska" y "Florida" en columnas separadas que las otras Ubicaciones y Precios. Luego, para cada categoría, quiero los 2 mejores precios para la columna "Alaska" y "Florida", y los 2 precios principales para la columna de otras ubicaciones.
En la imagen de abajo (esta puede ser la aplicación incorrecta, así que use su método preferido), intenté separar las ubicaciones y los precios, pero los nulos están en el camino.
Los valores deben comenzar en la parte superior mientras se hace referencia a las categorías correctas. Luego, necesito tener los 2 precios principales para cada una de las columnas de precios.
Adjuntar la tabla.
Producto | Grupo | Ubicación | Precio |
AAA | 55 | Alaska | 0.440 |
AAA | 55 | Texas | 0.342 |
AAA | 32 | Florida | 0.875 |
AAA | 32 | Delaware | 0.486 |
AAA | 32 | Indiana | 0.772 |
AAA | 32 | Alaska | 0.234 |
AAA | 32 | Maine | 0.959 |
BBB | 6 | Florida | 0.358 |
BBB | 6 | Delaware | 0.938 |
BBB | 43 | Alaska | 0.759 |
BBB | 43 | Ohio | 0.375 |
CCC | 9 | Alaska | 0.234 |
CCC | 9 | Florida | 0.589 |
CCC | 9 | Maine | 0.739 |
CCC | 12 | Alaska | 0.275 |
CCC | 12 | Texas | 0.384 |
(Nota al margen: Mis datos reales no están separados por estados. Son solo ubicaciones de muestra aquí).
Lo siento si algo es confuso. Por favor, haga cualquier pregunta de aclaración. ¡Gracias de antemano!
Datos base:
Resultado de salida:
Pruebe los siguientes pasos:
1.Agregue una nueva columna en la tabla base:
newcolumn = IF('Table'[Location]="Alaska"||'Table'[Location]="Florida","Type1","Type2")
rank =
RANKX (
FILTER (
'Table',
'Table'[Product] = EARLIER ( 'Table'[Product] )
&& 'Table'[Group] = EARLIER ( 'Table'[Group] )
&& 'Table'[newcolumn] = EARLIER ( 'Table'[newcolumn] )
),
'Table'[Price],
,
DESC,
DENSE
)
A continuación, cree las dos nuevas tablas siguientes:
Table2 =
FILTER (
SELECTCOLUMNS (
'Table',
"Product", CALCULATE ( VALUES ( 'Table'[Product] ), 'Table'[newcolumn] = "Type1"&&'Table'[rank]<=2 ),
"Group", CALCULATE ( VALUES ( 'Table'[Group] ), 'Table'[newcolumn] = "Type1"&&'Table'[rank]<=2 ),
"Location1", CALCULATE ( VALUES ( 'Table'[Location] ), 'Table'[newcolumn] = "Type1" &&'Table'[rank]<=2),
"Price1", CALCULATE ( VALUES ( 'Table'[Price] ), 'Table'[newcolumn] = "Type1"&&'Table'[rank]<=2),
"Rank", 'Table'[rank]
),
NOT ( ISBLANK ( [Product] ) )
)
Table 3 =
FILTER (
SELECTCOLUMNS (
'Table',
"Product", CALCULATE ( VALUES ( 'Table'[Product] ), 'Table'[newcolumn] = "Type2" ),
"Group", CALCULATE ( VALUES ( 'Table'[Group] ), 'Table'[newcolumn] = "Type2" ),
"Location2", CALCULATE ( VALUES ( 'Table'[Location] ), 'Table'[newcolumn] = "Type2" ),
"Price2", CALCULATE ( VALUES ( 'Table'[Price] ), 'Table'[newcolumn] = "Type2" ),
"rank", 'Table'[rank]
),
NOT ( ISBLANK ( [Product] ) )
)
A continuación, agregue una nueva columna en la tabla2:
location2 = LOOKUPVALUE('Table 3'[Location2],'Table 3'[Product],Table2[Product],'Table 3'[Group],Table2[Group],'Table 3'[rank],Table2[Rank])
price2 = LOOKUPVALUE('Table 3'[Price2],'Table 3'[Product],Table2[Product],'Table 3'[Group],Table2[Group],'Table 3'[rank],Table2[Rank])
Finalmente, ajuste el orden de la tabla 2 a continuación (eliminé el rango en el proceso de creación, de modo que la tabla informó un error, y luego volví a ingresar la instrucción de creación, el orden se ajustó automáticamente).
¿Respondí a su pregunta? ¡Marca mi post como solución!
Saludos
Lucien
¡Gracias! ¿Qué columnas mantendría pivotadas y qué columnas despivot?
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |