Saltar al contenido

Ayuda con formula DAX para generar año de enfriador dependiendo de su serie

publicado

asi es como lo puse en DAX pero me da un error:
Las expresiones que producen tipos de datos Variant no se pueden usar para definir columnas calculadas.

AÑO_EMFRIADOR =
IF(ISBLANK([SERIE]),"",
IFERROR(
    IF([SERIE]="S/E","S/E"
    ,IF(AND(ISTEXT(LEFT([SERIE],1)),AND(LEN([SERIE])*1=12,MID([SERIE],4,2)*1=22)),2022
    ,IF(AND(LEN([SERIE])*1=13,LEFT([SERIE],2)*1=15),2015
    ,IF(AND(LEN([SERIE])*1=12,LEFT([SERIE],2)*1=15),2015
    ,IF(AND(LEN([SERIE])*1=9,LEFT([SERIE],2)*1=15),2015
    ,IF(AND(LEN([SERIE])*1=13,LEFT([SERIE],2)*1=16),2016
    ,IF(AND(LEN([SERIE])*1=12,LEFT([SERIE],2)*1=16),2016
    ,IF(AND(LEN([SERIE])*1=13,LEFT([SERIE],2)*1=17),2017
    ,IF(AND(LEN([SERIE])*1=12,LEFT([SERIE],2)*1=17),2017
    ,IF(AND(OR(LEN([SERIE])*1=14,LEN([SERIE])*1=15),LEFT([SERIE],3)*1=17),2017
    ,IF(AND(LEN([SERIE])*1=9,MID([SERIE],2,2)*1=17),2017
    ,IF(AND(OR(LEN([SERIE])*1=12,LEN([SERIE])*1=13),LEFT([SERIE],2)*1=18),2018
    ,IF(AND(OR(LEN([SERIE])*1=11,OR(LEN([SERIE])*1=12,LEN([SERIE])*1=13)),LEFT([SERIE],2)*1=19),2019
    ,IF(AND(LEN([SERIE])*1=13,LEFT([SERIE],2)*1=20),2020
    ,IF(AND(LEN([SERIE])*1=13,LEFT([SERIE],2)*1=21),2021
    ,IF(AND(LEN([SERIE])*1=13,LEFT([SERIE],2)*1=22),2022
    ,IF(AND(LEN([SERIE])*1=13,LEFT([SERIE],2)*1=23),2023,">2015")))))))))))))))))
    ,"<2015"))
 
Lo unico que deberia devolver es una columna con año de enfriadores. 2022,2021,2020 etc
Las series de mis enfriadores tienen multiples variantes que definen el año del enfriador: Largo de la serie, si empieza con letra, si empieza con 22, si el 3er digito es un año. Todas estas variantes estan consideradas en el DAX que pongo como ejemplo. Ojala pudieran ayudarme. Si ocupan mas informacion me lo hacen saber

Featured Replies

No posts to show

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.