Expression.Error: No podemos convertir un valor de tipo List en tipo Text.

Un usuario Pregunto ✅

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!

Unbenannt.PNG

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 …

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.
2.JPG1.JPG

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

Unbenannt3.PNG

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.
1.JPG

2.JPG

3.JPG

Saludos,
Lydia

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *