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
Anonymous
Not applicable

SI columna DAX

Hola, chicos

Tengo este problema donde necesito crear una columna condicional y básicamente, si Time(first column) supera la columna Testing, debería dar la diferencia entre time y testing, mientras que si no supera las pruebas de columna, solo devuelve la primera columna. Tengo el siguiente código im trying(mostrado a continuación), sin embargo todo lo que hace por mí es que devuelve la primera columna. ¿Alguna sugerencia?

gracias por tu ayuda

Gediminas12_0-1600428831865.png

Columntest ? IF('Klaip-da - Radvili-kis'[Time Klaip-da - Radvili-kis] > 'Klaip-da - Radvili-kis'[Pruebas], 'Klaip-da - Radvili-kis'[Time Klaip-da - Radvili-kis] - 'Klaip-da - Radvili-kis'[Testing], 'Klaipeda - Radvili-kis'[Time Klaip-da - Radvili-kis])

1 ACCEPTED SOLUTION

Hola, @Gediminas12

Modifiqué nuevos datos para reproducir su escenario. El archivo pbix se adjunta al final.

Mesa:

a1.png

El tipo de datos de 'Tiempo' es texto. Puede crear una columna de calclulated y formatearla como (hh:nn:ss) como se muestra a continuación.

Result = 
var _h = 
VALUE(LEFT([Time],2))
var _hour = 
INT(
    DIVIDE(
        VALUE(MID([Time],4,2)),
        60
    )
)
var _min = 
MOD(
    VALUE(MID([Time],4,2)),
    60
)
return
IF(
    _h+_hour<10,
    IF(
        _min>=10,
        TIMEVALUE("0"&(_h+_hour)&":"&_min&":"&"00"),
        TIMEVALUE("0"&(_h+_hour)&":0"&_min&":"&"00")
    ),
    IF(
        _min>=10,
        TIMEVALUE((_h+_hour)&":"&_min&":"&"00"),
        TIMEVALUE((_h+_hour)&":0"&_min&":"&"00")
    )
)

a2.png

Saludos

Allan

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

View solution in original post

6 REPLIES 6
v-alq-msft
Community Support
Community Support

Hola, @Gediminas12

Según su descripción, creé datos para reproducir su escenario. El archivo pbix se adjunta al final.

Mesa:

j1.png

Puede crear una columna calculada como se muestra a continuación.

Result = 
IF(
    [Time]>[Test],
    var _text = ([Time]-[Test])&""
    return
    IF(
        LEFT(_text,2)="12",
        SUBSTITUTE(_text,"12","00",1),
        _text   
    ),
    [Time]&""
)

Resultado:

j2.png

Los mejores Reagrds

Allan

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

Anonymous
Not applicable

@v-alq-msft Su solución funciona para mí, sin embargo, ¿sabe cómo editar este código para que pueda obtener el tiempo redondeado, donde los minutos sólo hasta 60 y luego ir a horas?
Estoy usando Chelsie Eidens Duration para agregar tiempo manteniéndolo como número entero. Eso es lo que obtengo después de usar su código: Todo parece bueno, pero algunos de ellos muestran 84 minutos.

Gediminas12_0-1600691511740.png


https://community.powerbi.com/t5/Quick-Measures-Gallery/Chelsie-Eiden-s-Duration/m-p/793639#M389

Hola, @Gediminas12

Modifiqué nuevos datos para reproducir su escenario. El archivo pbix se adjunta al final.

Mesa:

a1.png

El tipo de datos de 'Tiempo' es texto. Puede crear una columna de calclulated y formatearla como (hh:nn:ss) como se muestra a continuación.

Result = 
var _h = 
VALUE(LEFT([Time],2))
var _hour = 
INT(
    DIVIDE(
        VALUE(MID([Time],4,2)),
        60
    )
)
var _min = 
MOD(
    VALUE(MID([Time],4,2)),
    60
)
return
IF(
    _h+_hour<10,
    IF(
        _min>=10,
        TIMEVALUE("0"&(_h+_hour)&":"&_min&":"&"00"),
        TIMEVALUE("0"&(_h+_hour)&":0"&_min&":"&"00")
    ),
    IF(
        _min>=10,
        TIMEVALUE((_h+_hour)&":"&_min&":"&"00"),
        TIMEVALUE((_h+_hour)&":0"&_min&":"&"00")
    )
)

a2.png

Saludos

Allan

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

Anonymous
Not applicable

@v-alq-msft

Muchas gracias por su ayuda, una cosa más: he creado una columna personalizada para devolver el valor de tiempo real si el tiempo supera la norma y si no lo hizo, entonces simplemente devuelva el valor de tiempo real, como se muestra a continuación. Si la columna Time supera las 4:30, muestra la diferencia, si no, devuelve el valor de tiempo real.

Sin embargo, necesito mostrarlo en el histograma y mostrar el valor real por debajo de 4:30 o 4:30 en el color verde y luego si excede se agregaría en la columna y lo mostraría en rojo, algo así como eso abajo. ¿Alguna idea de qué medida se debe crear?

Gediminas12_3-1600686610474.png

Gediminas12_2-1600686462035.png

Gediminas12_1-1600686444317.png

Gediminas12_0-1600686427862.png

DataInsights
Super User
Super User

@Gediminas12, ¿está utilizando el tipo de datos Time? He creado un ejemplo a continuación y funciona (las tres columnas son tipo de datos Time).

DataInsights_0-1600622243263.png





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




Anonymous
Not applicable

@DataInsights ¿Podría compartir su archivo pbix o código conmigo pleease?

Muchas gracias,

Gediminas

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.