Forum Discussion
Split Number,StartDate y EndDate from string
Hola a todos
Tengo una columna de cadena que es la concatenación de Number, StartDate y EndDate. Quiero extraer number, StartDate y EndDate de la cadena.
¿Alguien puede ayudarme con esto?
A continuación se muestra mi cadena:
Exmple: 1234 (01-03-2022 - 31-03-2022)
He extraído el número de la cadena. pero tienen algunas dificultades para extraer StartDate y EndDate de la cadena. He utilizado debajo de DAX para extraer el número. Sigo este enlace.
ExtString - LEFT(SUBSTITUTE(Table[Name]," ","-"),SEARCH("-",SUBSTITUTE(Table[Name]," ","-"))-1)
saludos
Jay
Hola @jaypatel ,
Cree 3 columnas calculadas como se indica a continuación:
First Value1 = var _search1=SEARCH("(",'Table'[Text],1,0) Return LEFT('Table'[Text],_search1-1)Start date = var _search1=SEARCH("(",'Table'[Text],1,0) Return MID('Table'[Text],_search1+1,10)End date = LEFT(RIGHT('Table'[Text],11),10)Y verás:
Para el archivo .pbix relacionado, pls ver adjunto.
Saludos
Kelly¿He respondido a tu pregunta? ¡Marca mi puesto como una solución!
10 Replies
- amitchandakSuper User
@jaypatel , Probar como
número izquierda([columna],4)
Fecha de inicio: mid([column],7,10)
Fecha de finalización: mid([column],20,10)
- jaypatelHelper III
@amitchandak Gracias por la respuesta rápida. Pero mis primeros números no tienen la misma longitud. Puede variar como 1,12,123,1234... etc.
- amitchandakSuper User
@jaypatel, intenta como
left(Table[Col], SEARCH(",Table[Col],1,0) -2)
Fecha de inicio: mid([column],SEARCH(",Table[Col],1,0)+1,10)Fecha de finalización: mid([column],SEARCH(",Table[Col],1,0)+14,10)
Necesidad de ajuste menor en el número que agregué
- AnonymousNot applicable
Hola @jaypatel ,
Debe intentar hacer esto en Power Query
let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjQyNlHQMDDUNTDWNTIwMlLQVTCGczSVYnXASgipoMyEWAA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Text = _t]), #"Changed Type" = Table.TransformColumnTypes(Source,{{"Text", type text}}), #"Inserted Text Before Delimiter" = Table.AddColumn(#"Changed Type", "Text Before Delimiter", each Text.BeforeDelimiter([Text], "("), type text), #"Inserted Text Between Delimiters" = Table.AddColumn(#"Inserted Text Before Delimiter", "Text Between Delimiters", each Text.BetweenDelimiters([Text], "(", "-", 0, 2), type text), #"Inserted Text Between Delimiters1" = Table.AddColumn(#"Inserted Text Between Delimiters", "Text Between Delimiters.1", each Text.BetweenDelimiters([Text], "-", ")", 2, 0), type text), #"Renamed Columns" = Table.RenameColumns(#"Inserted Text Between Delimiters1",{{"Text Before Delimiter", "First Value"}, {"Text Between Delimiters", "Start Date"}, {"Text Between Delimiters.1", "End Date"}}) in #"Renamed Columns"saludos
Harsh Nathani
¿He respondido a tu pregunta? ¡Marca mi puesto como una solución! Apreciar con un Kudos!! (Haga clic en el botón Pulgares arriba)- AnonymousNot applicable
Hola @jaypatel ,
En PQ siga estos pasos.
saludos
Harsh Nathani
¿He respondido a tu pregunta? ¡Marca mi puesto como una solución! Apreciar con un Kudos!! (Haga clic en el botón Pulgares arriba) - jaypatelHelper III
@harshnathani Había dado una toma en Power Query usando una función de texto. Pero, ¿es posible crear una medida para lograr el mismo resultado?
- AnonymousNot applicable
Hola @jaypatel ,
No te sugiero que hagas esto en DAX.
Sin embargo, estas son las fórmulas que puede probar
First Value1 = var _a = SUBSTITUTE('Table'[Text], "-","|",3) var _b = SUBSTITUTE(_a,"(","|") var _c = SUBSTITUTE(_b,")","") RETURN TRIM(PATHITEM(_c,1))StDate = var _a = SUBSTITUTE('Table'[Text], "-","|",3) var _b = SUBSTITUTE(_a,"(","|") var _c = SUBSTITUTE(_b,")","") RETURN TRIM(PATHITEM(_c,2))StDate = var _a = SUBSTITUTE('Table'[Text], "-","|",3) var _b = SUBSTITUTE(_a,"(","|") var _c = SUBSTITUTE(_b,")","") RETURN TRIM(PATHITEM(_c,3))saludos
Harsh Nathani
¿He respondido a tu pregunta? ¡Marca mi puesto como una solución! Apreciar con un Kudos!! (Haga clic en el botón Pulgares arriba)
- v-kelly-msftCommunity Support
Hola @jaypatel ,
Cree 3 columnas calculadas como se indica a continuación:
First Value1 = var _search1=SEARCH("(",'Table'[Text],1,0) Return LEFT('Table'[Text],_search1-1)Start date = var _search1=SEARCH("(",'Table'[Text],1,0) Return MID('Table'[Text],_search1+1,10)End date = LEFT(RIGHT('Table'[Text],11),10)Y verás:
Para el archivo .pbix relacionado, pls ver adjunto.
Saludos
Kelly¿He respondido a tu pregunta? ¡Marca mi puesto como una solución!