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

Suma de valores dentro de varias columnas basadas en la tabla de segmentación de datos desconectada

Hola a todos.

Tengo una mesa desconectada que estoy usando como cortadora y luego tengo esta tabla de hechos que es ancha en lugar de larga. Lamentablemente, no es posible para mí despivot los datos, ya que no tengo control sobre ninguno de los aspectos de modelado de datos. Sin embargo, lo que tengo que hacer es poder resumir los importes en función de mis valores de segmentación de datos.

Mi tabla de segmentación de datos desconectada tiene estos valores:

IdValor
1Abc
2Def
3Xyz

Mientras que mi tabla de hechos tiene datos de ejemplo de:

FechaAbcDefXyz
1/1/2020100200400
2/1/2020200400800
3/1/20203006001200

Así que dentro de mi segmentación de datos, si selecciono, por ejemplo, ABC y XYZ el retorno que espero sería este (tenga en cuenta que esto todavía debe ser desconectado):
expected_result.png

¡Cualquier ayuda sería muy apreciada!

1 ACCEPTED SOLUTION

@amitchandak ¡Muy bien! Tuve que hacer un pequeño ajuste, pero la idea es un buen comienzo!

Measure = 
    IF(CONTAINS(FILTER(ALLSELECTED(Slicer), [ID] = 1), [ID], 1), SUM('Fact'[ABC]), BLANK()) 
+   IF(CONTAINS(FILTER(ALLSELECTED(Slicer), [ID] = 2), [ID], 2), SUM('Fact'[DEF]), BLANK()) 
+   IF(CONTAINS(FILTER(ALLSELECTED(Slicer), [ID] = 3), [ID], 3), SUM('Fact'[XYZ]), BLANK())

Sólo tomando su idea, construí esto un poco más lejos para obtener los mismos resultados, pero todavía no como .. dinámico como me gustaría. ¿Crees que siempre es posible hacerlo más a prueba de futuro?

A_Bit_More_Streamlined = 
VAR _Values = VALUES(Slicer[Value])
VAR _Tbl = 
GENERATE(
    _Values,
    ROW(
        "SUM",
        SWITCH( [Value],
            "ABC", SUM('Fact'[ABC]),
            "DEF", SUM('Fact'[DEF]),
            "XYZ", SUM('Fact'[XYZ])
        )))

RETURN

SUMX(_Tbl, [SUM])



View solution in original post

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

Hola, sí, esto se puede hacer, pero no se debe hacer. Los datos deben ser altos y delgados.

El problema es que termina con demasiadas combinaciones que deben mantenerse cada vez que hay un cambio en los datos. Este es un ejemplo de cómo no puede hacerlo como debe hacerlo.

Realmente necesita volver al autor de los datos, obtener acceso y despivot en la consulta de energía.

Syndicate_Admin
Administrator
Administrator

@hnguyen76 , Pruebe una medida como


if(maxx(filter(allselected(Table1), Table[Value]="ABC"),Table1[Value]), Sum(Table2[ABC]),blank())
+if(maxx(filter(allselected(Table1), Table[Value]="DEF"),Table1[Value]), Sum(Table2[DEF]),blank())
+if(maxx(filter(allselected(Table1), Table[Value]="XYZ"),Table1[Value]), Sum(Table2[XYZ]),blank())

unpivot será la mejor opción, Si es posible

@amitchandak ¡Muy bien! Tuve que hacer un pequeño ajuste, pero la idea es un buen comienzo!

Measure = 
    IF(CONTAINS(FILTER(ALLSELECTED(Slicer), [ID] = 1), [ID], 1), SUM('Fact'[ABC]), BLANK()) 
+   IF(CONTAINS(FILTER(ALLSELECTED(Slicer), [ID] = 2), [ID], 2), SUM('Fact'[DEF]), BLANK()) 
+   IF(CONTAINS(FILTER(ALLSELECTED(Slicer), [ID] = 3), [ID], 3), SUM('Fact'[XYZ]), BLANK())

Sólo tomando su idea, construí esto un poco más lejos para obtener los mismos resultados, pero todavía no como .. dinámico como me gustaría. ¿Crees que siempre es posible hacerlo más a prueba de futuro?

A_Bit_More_Streamlined = 
VAR _Values = VALUES(Slicer[Value])
VAR _Tbl = 
GENERATE(
    _Values,
    ROW(
        "SUM",
        SWITCH( [Value],
            "ABC", SUM('Fact'[ABC]),
            "DEF", SUM('Fact'[DEF]),
            "XYZ", SUM('Fact'[XYZ])
        )))

RETURN

SUMX(_Tbl, [SUM])



No @hnguyen76,

Puede unpivot incluso si la tabla es ancha. Puede intentar seleccionar la columna Fecha y seleccionar Otras columnas unpivot. Cuando la tabla tiene una nueva columna que se debe agregar y Power BI completará automáticamente el unpivot.

image.pngimage.png

Si el problema aún no se ha resuelto, proporcione información detallada sobre errores o el resultado esperado que espera. Hágamelo saber inmediatamente, esperando su respuesta.

Saludos
Winniz

Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los demás miembros a encontrarla más rápidamente.

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!

Top Solution Authors