Reply
AlexisGonzalez
Frequent Visitor
Syndicated - Inbound

Calcular la diferencia entre los valores seleccionados de la segmentación en función de intervalos de 15 minutos

Source Community: Power BI

en este caso, he seleccionado 3 días (marzo 5 - 2 y 1) en la segmentación, y me gustaría tener una medida en una nueva columna con la resta de la columna de tiempo de viaje entre el intervalo máximo y mínimo 15 minutos por días (en este caso día 5 menos día 1, por intervalo de 15 minutos)

para 12:30:00 am 1.41 - 1.46

para 12:15:00 am 1.39 - 1.63

para 12:00:00 am 1.44 - 1.46

power 1.JPGpower 2.JPG

Gracias..

1 ACCEPTED SOLUTION
Icey
Community Support
Community Support

Source Community: Power BI
Syndicated - Inbound

Hola @AlexisGonzalez ,

Compruebe el archivo PBIX adjunto.

1. Introduzca Datos.

Tabla de medidas:

measure table.PNG

2. Cree "Tabla de leyendas".

Legend Table = UNION(VALUES(Data[Day]),'Measure Table')

3. Crear medidas.

Average of Travel Time between Selected Days = AVERAGE(Data[Travel Time (min)])
Difference of Travel Time between Selected Days = 
VAR MaxDay =
    MAXX ( Data, Data[Day] )
VAR MinDay =
    MINX ( Data, Data[Day] )
VAR MaxDayValue =
    CALCULATE (
        MAX ( Data[Travel Time (min)] ),
        FILTER ( Data, Data[Day] = MaxDay )
    )
VAR MinDayValue =
    CALCULATE (
        MAX ( Data[Travel Time (min)] ),
        FILTER ( Data, Data[Day] = MinDay )
    )
RETURN
    MaxDayValue - MinDayValue
Measure = 
IF (
    MAX ( 'Legend Table'[Day] ) = "Average of Travel Time between Selected Days",
    [Average of Travel Time between Selected Days],
    IF (
        MAX ( 'Legend Table'[Day] ) = "Difference of Travel Time between Selected Days",
        [Difference of Travel Time between Selected Days],
        IF (
            VALUE ( MAX ( 'Legend Table'[Day] ) ) IN VALUES ( Data[Day] ),
            CALCULATE (
                AVERAGE ( Data[Travel Time (min)] ),
                FILTER ( Data, Data[Day] = VALUE ( MAX ( 'Legend Table'[Day] ) ) )
            )
        )
    )
)

4. Cree objetos visuales.

check2.PNG

Saludos

Icey

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

View solution in original post

12 REPLIES 12
Icey
Community Support
Community Support

Source Community: Power BI
Syndicated - Inbound

Hola @AlexisGonzalez ,

Compruebe el archivo PBIX adjunto.

1. Introduzca Datos.

Tabla de medidas:

measure table.PNG

2. Cree "Tabla de leyendas".

Legend Table = UNION(VALUES(Data[Day]),'Measure Table')

3. Crear medidas.

Average of Travel Time between Selected Days = AVERAGE(Data[Travel Time (min)])
Difference of Travel Time between Selected Days = 
VAR MaxDay =
    MAXX ( Data, Data[Day] )
VAR MinDay =
    MINX ( Data, Data[Day] )
VAR MaxDayValue =
    CALCULATE (
        MAX ( Data[Travel Time (min)] ),
        FILTER ( Data, Data[Day] = MaxDay )
    )
VAR MinDayValue =
    CALCULATE (
        MAX ( Data[Travel Time (min)] ),
        FILTER ( Data, Data[Day] = MinDay )
    )
RETURN
    MaxDayValue - MinDayValue
Measure = 
IF (
    MAX ( 'Legend Table'[Day] ) = "Average of Travel Time between Selected Days",
    [Average of Travel Time between Selected Days],
    IF (
        MAX ( 'Legend Table'[Day] ) = "Difference of Travel Time between Selected Days",
        [Difference of Travel Time between Selected Days],
        IF (
            VALUE ( MAX ( 'Legend Table'[Day] ) ) IN VALUES ( Data[Day] ),
            CALCULATE (
                AVERAGE ( Data[Travel Time (min)] ),
                FILTER ( Data, Data[Day] = VALUE ( MAX ( 'Legend Table'[Day] ) ) )
            )
        )
    )
)

4. Cree objetos visuales.

check2.PNG

Saludos

Icey

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

Source Community: Power BI
Syndicated - Inbound

Gracias. esto funciona perfectamente... !!!!

Icey
Community Support
Community Support

Source Community: Power BI
Syndicated - Inbound

Hola @AlexisGonzalez ,

Compruebe si cumple con sus requisitos iniciales:

int.gif

1. Cree una medida 'Selección'.

Selection = 
VAR Top1N =
    CALCULATE (
        TOPN ( 1, VALUES ( 'Table'[Date] ), [Date], ASC ),
        ALLSELECTED ( 'Table' )
    )
VAR Top2N =
    CALCULATE (
        TOPN ( 1, VALUES ( 'Table'[Date] ), 'Table'[Date], DESC ),
        ALLSELECTED ( 'Table' )
    )
VAR FirstSelectedValue =
    CALCULATE (
        SUM ( 'Table'[Travel Time (min)] ),
        FILTER ( ALLEXCEPT ( 'Table', 'Table'[15 min INT] ), 'Table'[Date] = Top1N )
    )
VAR SecondSelectedValue =
    CALCULATE (
        SUM ( 'Table'[Travel Time (min)] ),
        FILTER ( ALLEXCEPT ( 'Table', 'Table'[15 min INT] ), 'Table'[Date] = Top2N )
    )
RETURN
    SecondSelectedValue - FirstSelectedValue

2. Cree una medida 'Se selecciona'. A continuación, colóquelo en "Filtros en este objeto visual" de los cuales se necesita visual.

Is Selected = IF ( MAX ( 'Table'[Date] ) IN VALUES ( 'Table'[Date] ), 1 )

Saludos

Icey

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

avatar user
Anonymous
Not applicable

Source Community: Power BI
Syndicated - Inbound

@Icey, la medida

Is Selected = IF ( MAX ( 'Table'[Date] ) IN VALUES ( 'Table'[Date] ), 1 )

siempre devuelve 1. Puede eliminarlo del filtro y el resultado será el mismo. Es redundante porque está filtrando siempre UNA TABLA a través de segmentaciones de datos.

La verdad es que el MAX de cualquier conjunto finito pertenece al conjunto (VALUES).

Solo hay una condición cuando devolverá BLANK: cuando el conjunto de VALUES está vacío. Aún así, puede eliminarlo y el resultado será el mismo.

Mejor

D

Icey
Community Support
Community Support

Source Community: Power BI
Syndicated - Inbound

Hola @darlove ,

Si pongo la columna 'Tabla'[Fecha] en el objeto visual de la tabla, se necesita la medida [Se selecciona]. Porque usé "ALLEXCEPT" en la medida [Selección].

is selected.gif

Saludos

Icey

avatar user
Anonymous
Not applicable

Source Community: Power BI
Syndicated - Inbound Es muy extraño que cuando seleccione 3 días de la segmentación de datos, ya esté regresando en las filas de la tabla que la segmentación de datos debe filtrar las filas de la tabla. Algo está mal con su medida [Selección] que trae todas las otras filas.

Esta es la razón por la que creo que la medida [Is ...] es redundante.

Mejor
D
Icey
Community Support
Community Support

Source Community: Power BI
Syndicated - Inbound

Hola @darlove ,

Si es conveniente, ¿podría sortee la medida [Selección] para mí? Tal vez se pueda mejorar. Gracias.

Saludos

Icey

Source Community: Power BI
Syndicated - Inbound

hola, gracias por las respuestas han sido muy útiles, creo que ahora entiendo un poco más sobre cómo funciona DAX.

Estaba comprobando el archivo y todo funciona como quiero, pero incluso cuando los días se seleccionan usando la cortadora la diferencia entre los días no es cada 15 minutos para todo el día, la tabla me daría la diferencia cada 15 minutos de los días seleccionados (96 intervalos por día de 12:00 am a 11:45 pm) por favor revise el archivo PBix que subiré ("Demo. pbix" enlace a continuación) en la página: "mi objetivo" aparece una tabla que he creado para el ejemplo donde el tiempo medio de viaje aparece en el día 3 y el día 1 y el tiempo medio de viaje entre ellos (los días que se seleccionan en la segmentación) cada intervalo de 15 minutos por día.

el objetivo es crear un gráfico de líneas como el que se puede ver a continuación en la página donde se puede trazar el tiempo de viaje de los días seleccionados con la segmentación de datos, y también el tiempo medio de viaje (o la diferencia en el tiempo medio de viaje) entre el primer y el último día seleccionado, pero para ello los datos deben ser por cada día delected y 15 minutos intervalo (Eje)

https://mega.nz/folder/mDB1DKCJ#BBNX6Fx2x-GZHRz4GleZKw

Gracias...

Icey
Community Support
Community Support

Source Community: Power BI
Syndicated - Inbound

Hola @AlexisGonzalez ,

Puede hacer referencia a esta publicación: DAX – Cálculo de la diferencia entre 2 selecciones en una segmentación.

Saludos

Icey

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

Greg_Deckler
Super User
Super User

Source Community: Power BI
Syndicated - Inbound

Lo siento, no estoy seguro de tener un 100% de claro en esto. Los datos de ejemplo como texto ayudarían. Por favor, consulte este post sobre 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

Parece similar a MTBF, vea mi artículo sobre el tiempo medio entre el error (MTBF) que utiliza EARLIER: http://community.powerbi.com/t5/Community-Blog/Mean-Time-Between-Failure-MTBF-and-Power-BI/ba-p/3395...



Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
Power BI Cookbook Third Edition (Color)

DAX is easy, CALCULATE makes DAX hard...

Source Community: Power BI
Syndicated - Inbound
MesDía15 min INTTiempo de viaje (min)
Marzo112:00:00 AM1.46
Marzo212:00:00 AM1.44
Marzo512:00:00 AM1.44
Marzo112:15:00 AM1.63
Marzo212:15:00 AM1.56
Marzo512:15:00 AM1.39
Marzo112:30:00 AM1.46
Marzo212:30:00 AM1.50
Marzo512:30:00 AM1.41

Source Community: Power BI
Syndicated - Inbound

Hola, chicos,me gustaría aclarar un poco más sobre lo que quiero, ya que estaba revisando y me di cuenta de que se necesita un poco más de detalle.

se puede encontrar en el siguiente enlace el archivo Pbix con tiene el gráfico y las tablas, creo que es la mejor manera de entender lo que estoy tratando de decir.

PBIX archivo y datos

En la primera página "lo que tengo" verá la esquina superior izquierda de la "tabla 1" que tiene una columna " concatenar" que es una columna de fecha y hora año / mes / día / por intervalo de 15 minutos y la columna de tiempo de viaje promedio con los mismos intervalos, la segmentación que utilizo para agregar los días a la tabla y el gráfico (el eje del gráfico son los intervalos de 15 minutos). Sólo agregué el primer día y el tercero para el ejemplo. todos estos objetos visuales se basan en la tabla "Datos".

Me gustaría encontrar una manera de tener algo similar a lo que aparece en la siguiente página "Mi objetivo"

Construí esta página usando la tabla " DAta modificado " lo mejor que pude en Excel lo hice manualmente, sólo mostrarlos, así que no preste atención a la forma en que se muestran los datos. ( que los datos que necesito modificar están en la tabla "Datos") .

el objetivo es crear un gráfico de líneas como el que aparece en esta página en el que agregué una línea que es el promedio de tiempo de viaje entre los días que agregué usando la segmentación de datos.

Podrás ver en el gráfico una línea de tiempo de viaje que pertenece al día 3, otra que pertenece al día uno y a otra línea (calculada manualmente) que es el promedio de tiempo de viaje entre el día 3 y el día 1, es decir, entre el Max y el Min (días) que se añaden utilizando la segmentación.

Necesito encontrar una manera de transformar los datos (tabla de datos) para poder hacerlo. no sólo el promedio, tal vez un porcentaje o una diferencia en el tiempo medio de viaje entre días.

en caso de aclaración adicional sólo hágamelo saber, y aunque si no me puede ayudar me gustaría darle las gracias de antemano por su tiempo y esfuerzo
Gracias.

avatar user

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!

FebPBI_Carousel

Power BI Monthly Update - February 2025

Check out the February 2025 Power BI update to learn about new features.

Feb2025 NL Carousel

Fabric Community Update - February 2025

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

Top Solution Authors (Last Month)
Top Kudoed Authors (Last Month)