Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
1 year ago

Promedio de valores por clientcode

Hola a todos,

Tengo un conjunto de datos en el que tengo un valor para cada código de consumidor que se duplica para cada ID que tengo en mi base de datos. Quiero devolver el valor único de Cantidad para cada código y cada mes con una medida, para poder sumar esa y obtener el valor total por código durante las fechas seleccionadas por el usuario. Para los siguientes datos, lo que espero es una medida de que cuando el usuario seleccione una fecha en la segmentación (es decir, 20/10/2024), los valores devueltos deben ser:

Código 287 una cantidad igual a (8000+19000) = 27000

Código 465 una cantidad igual a (12801.18+43373.8) =56174.98

Por lo tanto, los resultados deben ser anteriores a la fecha que el usuario seleccione y deben ser el valor promedio de la columna AMOUNT.

El código que estoy usando ahora es algo similar a esto, pero no funciona como se esperaba:

YearToDateAverage =
CALCULAR(
PeriodoMedias del VAR =
ADDCOLUMNS(
FILTRO(
VALORES(DATOS[FECHA]),
DATOS[FECHA] <= MAX(DATOS[FECHA])
),
"PeriodAvg",
CALCULAR(
PROMEDIOX(
FILTRO(
DATOS
NOT(ISBLANK(DATA[CANTIDAD]))
),
DATOS[CANTIDAD]
),
FILTRO(
TODOS(DATOS),
DATOS[CÓDIGO] = VALORSELECCIONADO(DATOS[CÓDIGO] &&
DATOS[FECHA] = ANTERIOR(DATOS[FECHA]) &&
AÑO(DATOS[FECHA]) = AÑO(MÁX.(DATOS[FECHA]))
)
)
)
VAR PeriodCount = COUNTROWS(PeriodAverages)
VAR OverallAverage = AVERAGEX(PeriodAverages, [PeriodAvg])
RETORNO Promedio general,
REMOVEFILTERS( --used para eliminar filtros de las segmentaciones
DATOS[FECHA],
DATOS[AÑO],
DATOS[DATE_MONTH]
)
)

Fecha

IDENTIFICACIÓN

IMPORTE

CÓDIGO

05/09/2024 07:00

15446213

8000

287

06/09/2024 07:00

2425691

8000

287

06/09/2024 07:00

15923576

8000

287

06/09/2024 07:00

12443095

12801.18

465

06/09/2024 07:00

744922.5

12801.18

465

06/09/2024 07:00

9731083

12801.18

465

08/09/2024 07:00

3051668

12801.18

465

10/09/2024 07:00

2411277

12801.18

465

10/09/2024 07:00

8674816

12801.18

465

11/09/2024 07:00

2546245

8000

287

13/09/2024 07:00

10229042

12801.18

465

13/09/2024 07:00

15755668

12801.18

465

13/09/2024 07:00

2017874

12801.18

465

13/09/2024 07:00

3126478

12801.18

465

13/09/2024 07:00

7406693

12801.18

465

13/09/2024 07:00

8057878

12801.18

465

13/09/2024 07:00

10893955

12801.18

465

13/09/2024 07:00

4356376

12801.18

465

13/09/2024 07:00

724419

12801.18

465

13/09/2024 07:00

1375314

12801.18

465

13/09/2024 07:00

14852419

12801.18

465

13/09/2024 07:00

12256065

12801.18

465

13/09/2024 07:00

11124722

12801.18

465

18/09/2024 07:00

4904784

12801.18

465

19/09/2024 07:00

2101887

12801.18

465

19/09/2024 07:00

562446.2

12801.18

465

20/09/2024 07:00

10803079

12801.18

465

20/09/2024 07:00

8847007

12801.18

465

21/09/2024 07:00

983438.3

12801.18

465

24/09/2024 07:00

12598677

12801.18

465

24/09/2024 07:00

9603358

12801.18

465

24/09/2024 07:00

4641095

12801.18

465

25/09/2024 07:00

4010836

12801.18

465

26/09/2024 07:00

13825778

12801.18

465

26/09/2024 07:00

9984293

12801.18

465

26/09/2024 07:00

8226882

12801.18

465

26/09/2024 07:00

9005921

12801.18

465

01/10/2024 07:00

5589874

43373.8

465

01/10/2024 07:00

12890181

43373.8

465

01/10/2024 07:00

9040618

43373.8

465

01/10/2024 07:00

15628785

43373.8

465

01/10/2024 07:00

672593

19000

287

01/10/2024 07:00

9060820

19000

287

02/10/2024 07:00

13169360

19000

287

04/10/2024 07:00

10903322

43373.8

465

17/10/2024 07:00

2318524

43373.8

465

17/10/2024 07:00

13430471

43373.8

465

18/10/2024 07:00

3331089

43373.8

465

22/10/2024 07:00

5876561

43373.8

465

22/10/2024 07:00

6470726

43373.8

465

22/10/2024 07:00

7406241

43373.8

465

22/10/2024 07:00

946373.9

43373.8

465

23/10/2024 07:00

10169340

43373.8

465

27/10/2024 07:00

4730362

43373.8

465

29/10/2024 07:00

10436420

43373.8

465

31/10/2024 07:00

1555396

43373.8

465

31/10/2024 07:00

8163260

43373.8

465

31/10/2024 07:00

314187.3

43373.8

465

03/11/2024 07:00

15470032

20000

287

04/11/2024 08:00

12730697

48128.07

465

08/11/2024 08:00

5914064

48128.07

465

3 Replies

  • @julsr

    Tal vez pueda intentar crear una nueva columna para obtener el promedio primero

    Columna = DIVIDIR('Mesa'[CANTIDAD], Conteo X(FILTRO('Mesa','Mesa'[CÓDIGO]=ANTERIOR('Mesa'[CÓDIGO])&&año('Mesa'[Fecha])=año(ANTERIOR('Mesa'[Fecha]))&&mes('Mesa'[Fecha])=mes(ANTERIOR('Mesa'[Fecha]))),'Mesa'[CÓDIGO]))
  • Hola @julsr ,

    Intenta modificar tu medida a algo como esto:

    YearToDateAverage =
    CALCULATE(
        SUMX(
            SUMMARIZE(
                FILTER(
                    DATA,
                    DATA[DATE] <= MAX(DATA[DATE])
                ),
                DATA[CODE],
                "UniqueAmount", AVERAGEX(
                    FILTER(
                        DATA,
                        DATA[CODE] = EARLIER(DATA[CODE]) &&
                        DATA[DATE] <= MAX(DATA[DATE])
                    ),
                    DATA[AMOUNT]
                )
            ),
            [UniqueAmount]
        ),
        REMOVEFILTERS(
            DATA[DATE],
            DATA[YEAR],
            DATA[DATE_MONTH]
        )
    )


    No olvide reemplazar los nombres de tablas y columnas por los suyos propios.

    Gracias

  • ¡Gracias a los dos! Utilicé el enfoque para obtener el promedio primero y simplemente sumar los valores, ¡y funciona!