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
Gazsim44
Helper III
Helper III

Cambio de porcentaje dinámico con dos tablas

Hola a todos

Actualmente estoy tratando de configurar dos tablas a partir de los mismos datos de hechos, pero a su vez tener cada tabla controlada por su propia segmentación de fecha para que se pueda mostrar un promedio para los envíos durante ese período y, en última instancia, una diferencia porcentual calculada entre los resultados si es posible.

Así, por ejemplo, tendría dos tablas que representan la siguiente configuración: cada una controlada por su propia segmentación de fechas (usando la semana como un punto).

Semana 11-13

RamaProductoPromedio de envíos por período seleccionado.
AA16
AB21
BA151
BB258

Semana 2-10

RamaProductoPromedio de envíos por período seleccionado.
AA21
AB22
BA163
BB197

Tabla de resultados

RamaProducto% Diferencia
AA76%
AB97%
BA93%
BA131%

Mi medida promedio está establecida actualmente como.

Avg. Shipments = AVERAGEX(VALUES('Date'[Week No.]),[Total Shipments])

He configurado un duplicado de los datos de hecho con la esperanza de que esto pueda funcionar que sí me dará el promedio en cada período de fecha seleccionado, pero entonces no tengo forma de completar la comparación y obtener cualquier diferencia porcentual.

Muchas gracias por cualquier ayuda que pueda proporcionar,

7 REPLIES 7
V-lianl-msft
Community Support
Community Support

Hola @Gazsim44 ,

Si tiene dos tablas idénticas y usa [week. No] en las tablas como segmentaciones de datos, puede calcular [avg.shipments] de la Tabla 2 en la Tabla 1 en función del valor de segmentación de la Tabla 2.

Pruebe el dax como abajo:

Measure1 =
VAR avg_table2_shipments =
    CALCULATE (
        AVERAGEX (
            FILTER (
                ALLEXCEPT ( table1, table1[Branch], table1[Product] ),
                table1[Week No.] IN VALUES ( 'table2'[Week No.] )
            ),
            CALCULATE ( SUM ( table1[Shipments] ) )
        )
    )
RETURN
    DIVIDE ( [Avg. Shipments], avg_table2_shipments )

test_0331_1.PNG

Aquí está el ejemplo pbix.

Saludos
Liang
Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Hola @V-lianl-msft Liang,

Muchas gracias por su respuesta. Lo que debería haber mencionado en mi post original en retrospectiva es que la semana viene de mi tabla de fechas y que la rama viene de una 3a tabla y está vinculada a ambas mesas por medio de una relación.

Esto naturalmente, supongo que cambiaría la medida que ya ha construido,

Muchas gracias

Hola @Gazsim44 ,

¿Podría compartir el ejemplo pbix a través de un servicio en la nube como OneDrive para la empresa?

(Por favor, enmascarar cualquier dato sensible antes de cargar)

Saludos
Liang
Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Hola @V-lianl-msft ,

He creado un archivo de prueba, pero por desgracia nuestra organización no permite compartir archivos en One Drive! Por lo tanto, he incluido algunas capturas de pantalla que espero que ayudarán en el futuro?

Gracias

Groupquery.PNGDataquery.PNGTables.PNGFields.PNGRelationship.PNG

Hola @Gazsim44 ,

Crear nueva [semana. No] calculó columnas en dos tablas y utilícelas como segmentaciones de datos.

WEEK.NO = WEEKNUM(DATA1[date],2)

Cree una medida con el siguiente DAX

Measure1 =
VAR SUM_DATA2_shipments =
    CALCULATE (
        SUM ( DATA1[Shipments] ),
        FILTER (
            ALLEXCEPT ( DATA1, DATA1[ID], DATA1[Product] ),
            DATA1[WEEK.NO] IN VALUES ( DATA2[WEEK.NO] )
        )
    )
VAR DATA_2_WEEKS =
    DISTINCTCOUNT ( DATA2[WEEK.NO] )
RETURN
    DIVIDE ( [Avg. Shipments], DIVIDE ( SUM_DATA2_shipments, DATA_2_WEEKS ) )

Aquí está el ejemplo pbix.

Saludos
Liang
Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Hola @V-lianl-msft ,

Desafortunadamente no puedo conseguir que esta medida funcione en mi modelo.

Una diferencia importante es que está utilizando SUM para calcular los envíos donde como los datos es una lista de envíos por lo que requiere un DISTINCTCOUNT. He sustituido esa parte de la medida según el ejemplo siguiente, pero lamentablemente los números resultantes no son correctos.

% Change Shipments = 
var SUM_AIR_Shipments = 
CALCULATE(DISTINCTCOUNT(Air[Shipment Number]),
            FILTER(ALLEXCEPT(Air,Air[Product],Air[Branch Id]),
            Air[Week No.] in VALUES('Air Comp Data'[Week No.])
            )
)
var AIRCOMP_WEEKS = 
    DISTINCTCOUNT('Air Comp Data'[Week No.])
RETURN
    DIVIDE([Avg. Shipments],DIVIDE(SUM_AIR_Shipments,AIRCOMP_WEEKS))

Como ejemplo, esto me da por debajo de % al comparar datos que no son correctos.

Muchas gracias,

Datos aéreos. semanas 2-10

Total de envíosEnvíos promedio% Cambiar envíos
146516352.4%
159617753.3%

Datos de Air Comp. - semanas 11-13

Total de envíosPromedio de envíos
453151
29197

Hola @Gazsim44 ,

¿Cuál es la fórmula de [envíos totales]?

Es muy difícil de analizar sin mirar los datos y simplemente imaginando. Vea si puede compartir la muestra pbix.

Usted podría ver esta publicación con respecto a cómo obtener su pregunta respondida rápidamente: https://community.powerbi.com/t5/Community-Blog/How-to-Get-Your-Question-Answered-Quickly/ba-p/38490

Saludos
Liang
Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

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.