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

Get certified in Microsoft Fabric—for free! For a limited time, the Microsoft Fabric Community team will be offering free DP-600 exam vouchers. Prepare now

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
OCT PBI Update Carousel

Power BI Monthly Update - October 2024

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

September Hackathon Carousel

Microsoft Fabric & AI Learning Hackathon

Learn from experts, get hands-on experience, and win awesome prizes.

October NL Carousel

Fabric Community Update - October 2024

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

Top Solution Authors