ottiphi
Hola a todos,
Consulte el Scrrenshot. Tengo una columna llamada «Hashtag». Cada celda obtiene datos automáticamente de sharepoint. el usuario tiene en sharepoint la opción de marcar casillas de verificación (permitir múltiples selecciones). Ahora necesito que las celdas sean celdas de texto. ¿Cómo puedo transformar la Lista dentro de cada celda en texto (hashtags divididos con «,»?)
¡Muchas gracias por tu ayuda!
Greg_Deckler
Utilice Text.Combine:
https://msdn.microsoft.com/en-us/library/mt253358.aspx
ottiphi
En respuesta a Greg_Deckler
Hola. Esa idea ya la tenía yo. ¿Puede especificar un poco más y tal vez escribir una línea de código que pueda usar? ¡No soy un codificador! Además, ¿dónde exactamente debería insertar la función?
Greg_Deckler
En respuesta a ottiphi
Debería poder colocarlo en cualquier lugar de su consulta, abrir el Editor avanzado y agregar una línea. Aquí hay una función de ejemplo que escribí que puedes ver:
let fnCombine = () => let values = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F" }, Result = Text.Combine(values,",") in Result in fnCombine
Además, aquí es como una función genérica que debería poder utilizar. Simplemente agregue una consulta en blanco, pegue el código a continuación, guarde la función. Agregar columna -> Invocar función personalizada y enviarle su columna que es una lista como parámetro.
let fnCombine = (values as list) => let Result = Text.Combine(values,",") in Result in fnCombine
ottiphi
En respuesta a Greg_Deckler
Hola,
Gracias por su explicación detallada. Probé lo que me dijiste y usé la función genérica. Desafortunadamente no funcionó. Aquí está el código de la consulta que tengo hasta ahora. ¿Puedo agregar una línea dentro de esta consulta, que transforme la lista dentro de las celdas en texto? Probablemente antes de la línea de tipo cambiado, ya que después de esa línea, ya no hay Lista escrita dentro de las celdas de las columnas «hashtag» y «categoría» , pero Error. Preferiría no abrir una nueva consulta.
let
Source = SharePoint.Tables("https://hilti.sharepoint.com/sites/de001101", [ApiVersion = 15]),
#"3860ef3e-aef8-4ee7-bc63-1c29b67a7e9f" = Source{[Id="3860ef3e-aef8-4ee7-bc63-1c29b67a7e9f"]}[Items],
#"Changed Type" = Table.TransformColumnTypes(Custom1,{{"Idea Title", type text}, {"Date of Idea Entry", type date}, {"Submitter", type text}, {"Hashtag", type text}, {"Mealsize", type text}, {"Idea Status", type text}, {"Ranking of Idea", type text}, {"Meal Size", type text}, {"Implementierung", type text}, {"Category", type text}, {"Hashtag", type text}}),
#"Removed Blank Rows" = Table.SelectRows(#"Changed Type", each not List.IsEmpty(List.RemoveMatchingItems(Record.FieldValues(_), {"", null})))
in
#"Removed Blank Rows"
Además, crearé dos nuevas consultas después, para reorganizar las columnas «hashtag» y «categoría». Un ejemplo de hashtag:
let Source = IdeaList, #"Select Columns" = Table.SelectColumns(Source,{"Idea Title", "Hashtag"}), #"Split Column by Delimiter" = Table.ExpandListColumn(Table.TransformColumns(#"Select Columns", {{"Hashtag", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Hashtag"), #"Trimmed Text" = Table.TransformColumns(#"Split Column by Delimiter",{{"Hashtag", Text.Trim, type text}}) in #"Trimmed Text"
Yo no escribí ese código …
v-yuezhe-msft
En respuesta a ottiphi
@ottiphi,
Agregue un paso «Extraer valores» antes de cambiar el tipo y verifique si obtiene el resultado esperado.
#"Extracted Values" = Table.TransformColumns(#"3860ef3e-aef8-4ee7-bc63-1c29b67a7e9f", {"Hashtag", each Text.Combine(List.Transform(_, Text.From), ","), type text})
Hay un ejemplo para su referencia.
Saludos,
Lydia
ottiphi
En respuesta a v-yuezhe-msft
Hola lydia
¡el código parece funcionar perfectamente bien! Todo se ve como debería. ¡Muchas gracias por tu celebración! Sin embargo, cuando aplico los cambios de consulta, aparece el mensaje como se muestra a continuación («la columna ‘ID 2’ no existe en el conjunto de filas»). ¡Eso es verdad! Pero solo extraje los datos de una lista de SharePoint y no modifiqué la cantidad de columnas. Además, no tengo la descripción «ID 2» para nada en mi código. Puedes ayudarme aqui?
Atentamente,
Philipp
v-yuezhe-msft
En respuesta a ottiphi
@ottiphi,
En su escenario, elimine el paso de valor de extracción del código en el Editor avanzado, luego verifique si puede aplicar los cambios de consulta correctamente.
Si no hay ningún problema, extraiga los valores directamente de la interfaz de usuario siguiendo la guía en las capturas de pantalla a continuación.
Saludos,
Lydia