Contar el número de cambios del valor

Un usuario Pregunto ✅

TomLU123

Estimados expertos,

Estoy construyendo un informe para monitorear la tendencia del precio. Deseo crear una medida para contar la cantidad de cambios que tiene el precio. El conjunto de datos es como a continuación.

Fecha Precio
8/1/2018 300
8/2/2018 400
8/3/2018 500
4/8/2018 500
5/8/2018 450
8/6/2018 400
8/7/2018 400

En este caso, el precio cambió 4 veces.

¿Es posible construir una medida para contar este número de cambios?

¡Muchas gracias!

Zubair_Muhammad

@TomLU123

Puede crear una columna calculada como y luego usar la suma de esta columna

Column =
VAR PreviousPriceRow =
    TOPN ( 1, FILTER ( Table1, [Date] < EARLIER ( [Date] ) ), [Date], DESC )
VAR PreviousPrice =
    MINX ( PreviousPriceRow, [Price] )
RETURN
    IF ( OR ( [Price] = PreviousPrice, ISBLANK ( PreviousPrice ) ), 0, 1 )

Zubair_Muhammad

En respuesta a Zubair_Muhammad

@TomLU123

Por favor ver archivo adjunto

condados.png

Zubair_Muhammad

En respuesta a TomLU123

@TomLU123

Puedes modificarlo así.

Cambio en fuente roja

Column =
VAR PreviousPriceRow =
    TOPN (
        1,
        FILTER (
            Table1,
            [Product] = EARLIER ( [Product] )
                && [Date] < EARLIER ( [Date] )
        ),
        [Date], DESC
    )
VAR PreviousPrice =
    MINX ( PreviousPriceRow, [Price] )
RETURN
    IF ( OR ( [Price] = PreviousPrice, ISBLANK ( PreviousPrice ) ), 0, 1 )

cncv.png

Zubair_Muhammad

En respuesta a Zubair_Muhammad

@TomLU123

Ver archivo revisado con MEDIDA adjunta

cnuv.png

Zubair_Muhammad

@TomLU123

Puede crear una columna calculada como y luego usar la suma de esta columna

Column =
VAR PreviousPriceRow =
    TOPN ( 1, FILTER ( Table1, [Date] < EARLIER ( [Date] ) ), [Date], DESC )
VAR PreviousPrice =
    MINX ( PreviousPriceRow, [Price] )
RETURN
    IF ( OR ( [Price] = PreviousPrice, ISBLANK ( PreviousPrice ) ), 0, 1 )

TomLU123

En respuesta a Zubair_Muhammad

Hola @Zubair_Muhammad,

¡Gracias por tu gran ayuda!

Solo una pregunta: si ahora hay una columna más en el conjunto de datos que deseo contar la cantidad de cambios de precio de cada producto, ¿cómo debemos modificar la expresión y lograr eso?

Fecha Producto Precio
8/1/2018 A 300
8/2/2018 A 400
8/3/2018 A 450
8/1/2018 B 600
8/2/2018 B 600
8/3/2018 B 800
8/1/2018 C 500
8/2/2018 C 300
8/3/2018 C 200

¡Muchas gracias!

Zubair_Muhammad

En respuesta a TomLU123

@TomLU123

Puedes modificarlo así.

Cambio en fuente roja

Column =
VAR PreviousPriceRow =
    TOPN (
        1,
        FILTER (
            Table1,
            [Product] = EARLIER ( [Product] )
                && [Date] < EARLIER ( [Date] )
        ),
        [Date], DESC
    )
VAR PreviousPrice =
    MINX ( PreviousPriceRow, [Price] )
RETURN
    IF ( OR ( [Price] = PreviousPrice, ISBLANK ( PreviousPrice ) ), 0, 1 )

cncv.png

TomLU123

En respuesta a Zubair_Muhammad

Hola @Zubair_Muhammad,

Solo una pregunta más: si hay un filtro de fecha que le permite al usuario seleccionar el intervalo de tiempo que desea ver, nos enfrentaremos a la siguiente situación:

Si seleccionan el Producto A y filtran la fecha del 2/8/2018 al 3/8/2018, la suma será 2. Pero en realidad, el precio solo cambia 1 vez en esos dos días.

Fecha Producto Precio Cambiar etiqueta
8/1/2018 A 300 0
8/2/2018 A 400 1
8/3/2018 A 450 1
8/1/2018 B 600 0
8/2/2018 B 600 0
8/3/2018 B 800 1
8/1/2018 C 500 0
8/2/2018 C 300 1
8/3/2018 C 200 1

En ese caso, ¿es posible modificar el DAX e ignorar la primera fecha en el rango seleccionado?

¡Muchas gracias!

Zubair_Muhammad

En respuesta a TomLU123

@TomLU123

En ese caso, tenemos que usar una MEDIDA

Measure =
VAR temp =
    ADDCOLUMNS (
        Table1,
        "Price Change",
        VAR PreviousPriceRow =
            TOPN ( 1, FILTER ( Table1, [Date] < EARLIER ( [Date] ) ), [Date], DESC )
        VAR PreviousPrice =
            MINX ( PreviousPriceRow, [Price] )
        RETURN
            IF ( OR ( [Price] = PreviousPrice, ISBLANK ( PreviousPrice ) ), 0, 1 )
    )
RETURN
    COUNTX ( FILTER ( temp, [Price Change] = 1 ), 1 )

Zubair_Muhammad

En respuesta a Zubair_Muhammad

@TomLU123

Ver archivo revisado con MEDIDA adjunta

cnuv.png

Zubair_Muhammad

En respuesta a Zubair_Muhammad

@TomLU123

Por favor ver archivo adjunto

condados.png

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *