Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Prepping for a Fabric certification exam? Join us for a live prep session with exam experts to learn how to pass the exam. Register now.

Reply
Syndicate_Admin
Administrator
Administrator

Necesita ayuda con la columna calculada

Hola a todos

Necesito su ayuda para crear una columna calculada como se muestra a continuación

Días = Calcular fecha y fecha de envío entre fecha de envío y fecha de devolución (día) Multiplique (*) por el número de elementos (NumberOfItems)

devolución

(Días) Si el Serialnumber comienza con distinto de 9 Subtract – (Days) SerialNumber comienza con 9

datos

Cuadro 1

SerialIDNúmero de serie
894482793054
896868795251
903783800600
910030905390
910802906090
912014907243
912764808136
912763908178

Cuadro 2

SerialIDFecha de envíofecha de devoluciónNumberOfItems
89448210-Ene-2130-Ene-211
8968683-Feb-215-Feb-212
90378327-Mar-2111-Mayo-211
91003030-Abr-2129-Mayo-211
91080229-Mayo-2129-Mayo-211
91201430-Mayo-2129-Jun-215
9127646-Jun-2112-Jun-212
9127636-Jun-2112-Jun-216

gracias

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Ahí, @gauravnarchal

Cuando hay una descripción de la salida deseada y los requisitos y juicios de condición, entonces la solución se puede obtener antes.

intente crear una medida como esta:

_Result = 
var _is9=DATEDIFF('Table2'[returndate],'Table2'[Shipdate],DAY)*'Table2'[NumberOfItems]
var _not9=DATEDIFF('Table2'[Shipdate],'Table2'[returndate],DAY)*'Table2'[NumberOfItems]
var _extract1=CONVERT(LEFT(RELATED(Table1[SerialNumber]),1),INTEGER)
var _nonconverted=ISERROR(CONVERT(LEFT(RELATED(Table1[SerialNumber]),1),INTEGER))
var _startOfNum=IF(_nonconverted,"Error",IF(_extract1=9,FORMAT(_is9,"General Number"),FORMAT(_not9,"General Number")))
return _startOfNum

resultado:

vangzhengmsft_0-1627437990372.png

Consulte el archivo adjunto a continuación para obtener más detalles

Espero que esto ayude.

Saludos
Equipo de apoyo a la comunidad _ Zeon Zheng
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

8 REPLIES 8
Syndicate_Admin
Administrator
Administrator

Ahí, @gauravnarchal

Cuando hay una descripción de la salida deseada y los requisitos y juicios de condición, entonces la solución se puede obtener antes.

intente crear una medida como esta:

_Result = 
var _is9=DATEDIFF('Table2'[returndate],'Table2'[Shipdate],DAY)*'Table2'[NumberOfItems]
var _not9=DATEDIFF('Table2'[Shipdate],'Table2'[returndate],DAY)*'Table2'[NumberOfItems]
var _extract1=CONVERT(LEFT(RELATED(Table1[SerialNumber]),1),INTEGER)
var _nonconverted=ISERROR(CONVERT(LEFT(RELATED(Table1[SerialNumber]),1),INTEGER))
var _startOfNum=IF(_nonconverted,"Error",IF(_extract1=9,FORMAT(_is9,"General Number"),FORMAT(_not9,"General Number")))
return _startOfNum

resultado:

vangzhengmsft_0-1627437990372.png

Consulte el archivo adjunto a continuación para obtener más detalles

Espero que esto ayude.

Saludos
Equipo de apoyo a la comunidad _ Zeon Zheng
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.

Syndicate_Admin
Administrator
Administrator

Ahí, @gauravnarchal

Todavía tiene texto no numérico en la columna serialnumber, ¿verdad? Si usa mi fórmula, entonces el error que verá debería ser que no puede convertir "E" en un entero en lugar de "ERDEFAULT", porque extraje el carácter izquierdo. Si hay texto no numérico aquí, agregue una condición de juicio y la fórmula ajustada podría verse así:

New =
VAR Days =
    DATEDIFF ( 'Table2'[returndate], 'Table2'[Shipdate], DAY ) * 'Table2'[NumberOfItems]
VAR _extract1 =
    CONVERT ( LEFT ( RELATED ( Table1[SerialNumber] ), 1 ), INTEGER )
VAR _startOfNum =
    IF (
        ISERROR ( CONVERT ( LEFT ( RELATED ( Table1[SerialNumber] ), 1 ), INTEGER ) ),
        BLANK (),
        _extract1
    )
VAR _if =
    IF ( _startOfNum = 9, "Y", "N" )
RETURN
    _if

Datos de ejemplo:

vangzhengmsft_0-1627350295191.png

resultado:

vangzhengmsft_1-1627350319466.png

Consulte el archivo adjunto a continuación para obtener más detalles

Espero que esto ayude.

Saludos
Equipo de apoyo a la comunidad _ Zeon Zheng
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.

Syndicate_Admin
Administrator
Administrator

Ahí, @gauravnarchal

Intente crear una métrica como esta:

New = 
var Days=DATEDIFF('Table2'[returndate],'Table2'[Shipdate],DAY)*'Table2'[NumberOfItems]
var _startOfNum=CONVERT(LEFT(RELATED(Table1[SerialNumber]),1),INTEGER)
var _if=IF(_startOfNum=9,"Y","N")
return _if

El valor devuelto mencionado anteriormente no es muy claro para mí, por lo que uso "sí" y "no" para mostrar el resultado, por favor reemplácelo con el valor que desea, si no tiene muy claro el resultado del reemplazo, describa su condición de devolución con más detalle.

resultado:

vangzhengmsft_0-1626766930874.png

Consulte el archivo adjunto a continuación para obtener más detalles

Espero que esto ayude.

Saludos
Equipo de apoyo a la comunidad _ Zeon Zheng
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.

@v-angzheng-msft - Estoy recibiendo un error "No se puede convertir el valor 'ERDEFAULT' de tipo Texto al tipo Entero."

Un valor de campo en la columna tenía el texto "ERDEFAULT" ¿cómo puedo devolver esto como un error?

Syndicate_Admin
Administrator
Administrator

@gauravnarchal

no está claro acerca de su solicitud. ¿Cuál es el resultado esperado?

hI @ryan_mayu

requisito

Si el Serialnumber comienza con 9 entonces

Calcular datediff entre la fecha de devolución (Substract [-]) Shipdate y, a continuación, multiplicar (*) con el número de elementos (NumberOfItems)

más

Calcular datediff entre Shipdate (Substract [-]) returndate y, a continuación, multiplicar (*) con el número de elementos (NumberOfItems)

más

return "Error" (para cualquier valor no convertido)

datos

Tabla1

SerialIDNúmero de serie
894482793054
896868795251
903783800600
910030905390
910802906090
912014907243
912764808136
912763908178
915263ERDEFAULT
91776390LKTLRW
920263LIU09PLM
922763"NJK9800

Tabla 2

SerialIDFecha de envíofecha de devoluciónNumberOfItems
89448210-Ene-2130-Ene-211
8968683-Feb-215-Feb-212
90378327-Mar-2111-Mayo-211
91003030-Abr-2129-Mayo-211
91080229-Mayo-2129-Mayo-211
91201430-Mayo-2129-Jun-215
9127646-Jun-2112-Jun-212
9127636-Jun-2112-Jun-216
91526311-Jun-2117-Jun-211
91776316-Jun-2122-Jun-211
92026321-Jun-2127-Jun-215
92276326-Jun-212-Jul-211

resultado

Tabla 2 & Visual debe ser como se indica a continuación

SerialIDFecha de envíofecha de devoluciónNumberOfItemsDías (Resultado)Número de serie
89448210-Ene-2130-Ene-21120793054
8968683-Feb-215-Feb-2122795251
90378327-Mar-2111-Mayo-21145800600
91003030-Abr-2129-Mayo-211-29905390
91080229-Mayo-2129-Mayo-2110906090
91201430-Mayo-2129-Jun-215-30907243
9127646-Jun-2112-Jun-2126808136
9127636-Jun-2112-Jun-216-6908178
91526311-Jun-2117-Jun-211errorERDEFAULT
91776316-Jun-2122-Jun-211-690LKTLRW
92026321-Jun-2127-Jun-215errorLIU09PLM
92276326-Jun-212-Jul-211error"NJK9800
total2

@gauravnarchal

Measure = if(LEFT(max(Table1[SerialNumber]),1)="9",int((max(Table2[Shipdate])-max(Table2[returndate]))),int(max(Table2[returndate])-max(Table2[Shipdate])))

pls ver el archivo adjunto a continuación.

Ahora la pregunta es ¿cómo identificar"valores no convertidos"? ¿Alguna lógica para esto?

Syndicate_Admin
Administrator
Administrator

hola

Podría por favor comprobar el siguiente DAX ( según mi entendimiento)

NewColumn =
Var Days =('Table'[returndate]-'Table'[Shipdate])*'Table'[NumberOfItems]

Return IF(CONVERT(LEFT('Table'[SerialID],1),INTEGER)= 9, 9-Days,Days)

Apreciar un Kudos! 🙂
Si esto ayuda y resuelve el problema, por favor márquelo como una solución! 🙂

saludos
N V Durga Prasad

Helpful resources

Announcements
May PBI 25 Carousel

Power BI Monthly Update - May 2025

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

Notebook Gallery Carousel1

NEW! Community Notebooks Gallery

Explore and share Fabric Notebooks to boost Power BI insights in the new community notebooks gallery.

May 2025 Monthly Update

Fabric Community Update - May 2025

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

Top Solution Authors
Top Kudoed Authors