Record.ToList no todos los valores del registro terminan en la lista

Un usuario Pregunto ✅

idiota

Hola,

Estoy tratando de usar la función record.tolist para completar una lista con valores que uso para calcular una desviación estándar

#"Stdev list" = Table.AddColumn(Select_Data_Columns, "Stdev_List", each Record.ToList(Record.SelectFields(_,Select_Data_Columns))),

El problema es que el código anterior solo da como resultado una lista con los primeros 20 valores del registro.

mientras que el siguiente código da como resultado un registro con 29 valores

#"Stdev record" = Table.AddColumn(Select_Data_Columns, "Stdev_Record",  each Record.SelectFields(_,Select_Data_Columns)),

Todavía soy un novato relativo de PQ, así que no puedo entender qué está mal aquí. ¿Existe algún tipo de límite para el número máximo de valores en una lista?

¡Espero que alguien pueda ayudar!

Saludos cordiales,

idiota

Marcel Beug

En respuesta a idiota

Creo que la respuesta de Bill Szysz a su publicación cruzada en Technet es plausible (básicamente, la vista previa de la lista solo muestra 20 elementos, mientras que las listas reales tienen más elementos).

Al menos vale la pena que reaccione en Technet y, si comienza a realizar publicaciones cruzadas, también debe cruzar la referencia.

Hola @Tjerk,

¿Puede compartir algunos datos de muestra para la prueba? Es difícil verificar/modificar su fórmula sin ningún dato.

Por cierto, si sus datos contienen datos de privacidad, enmascare datos confidenciales o cree algunos datos falsos con una estructura de datos similar.

Saludos,

Xiaoxin-sheng

idiota

En respuesta a v-shex-msft

Tengo una tabla con los datos del producto. El primer par de columnas son algunos identificadores, como el ID del producto y la categoría del producto. Además de esas, tengo 30 columnas que contienen un precio para un día específico. Quiero calcular la desviación estándar del precio para esos 30 días.

Mi código completo está abajo

let
    Source = Csv.Document(File.Contents("C:UsersxxxxDesktopquery_result (45).csv"),[Delimiter=",", Columns=35, Encoding=1252, QuoteStyle=QuoteStyle.None]),
    #"Promoted Headers" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),
    #"Filtered Rows" = Table.SelectRows(#"Promoted Headers", each ([globalid] = "xxxx")),
    #"Changed Type" = Table.TransformColumnTypes(#"Filtered Rows",{{"globalid", type text}, {"issuetype", type text}, {"unit", type text}, {"category", type text}, {"views", Int64.Type}, {"a20170910", type number}, {"a20170911", type number}, {"a20170912", type number}, {"a20170913", type number}, {"a20170914", type number}, {"a20170915", type number}, {"a20170916", type number}, {"a20170917", type number}, {"a20170918", type number}, {"a20170919", type number}, {"a20170920", type number}, {"a20170921", type number}, {"a20170922", type number}, {"a20170923", type number}, {"a20170924", type number}, {"a20170925", type number}, {"a20170926", type number}, {"a20170927", type number}, {"a20170928", type number}, {"a20170929", type number}, {"a20170930", type number}, {"a20171001", type number}, {"a20171002", type number}, {"a20171003", type number}, {"a20171004", type number}, {"a20171005", type number}, {"a20171006", type number}, {"a20171007", type number}, {"a20171008", type number}, {"a20171009", type number}}),

    Select_Exclude_Columns =    List.Buffer(List.Select(Table.ColumnNames(#"Changed Type"), each Text.Start(_,1) <> "a")),
    Select_Data_Columns =       List.Buffer(List.Select(Table.ColumnNames(#"Changed Type"), each Text.Start(_,1) = "a")),

    #"Stdev list" = Table.AddColumn(#"Changed Type", "Stdev_List", each Record.ToList( Record.SelectFields(_,Select_Data_Columns))),
    #"Stdev record" = Table.AddColumn(#"Stdev list", "Stdev_Record",  each Record.SelectFields(_,Select_Data_Columns))
   
in
  #"Stdev record"

El problema con el que me encuentro es que la salida de Stdev_Record es:

Registro

mientras que la salida del Desv_estándar_Lista es

Lista

Como puede ver, los últimos 9 números que están presentes en el registro faltan en la lista. Parece que no puedo entender por qué….

Marcel Beug

En respuesta a idiota

Creo que la respuesta de Bill Szysz a su publicación cruzada en Technet es plausible (básicamente, la vista previa de la lista solo muestra 20 elementos, mientras que las listas reales tienen más elementos).

Al menos vale la pena que reaccione en Technet y, si comienza a realizar publicaciones cruzadas, también debe cruzar la referencia.

idiota

Hola,

Estoy tratando de usar la función record.tolist para completar una lista con valores que uso para calcular una desviación estándar

#"Stdev list" = Table.AddColumn(Select_Data_Columns, "Stdev_List", each Record.ToList(Record.SelectFields(_,Select_Data_Columns))),

El problema es que el código anterior solo da como resultado una lista con los primeros 20 valores del registro.

mientras que el siguiente código da como resultado un registro con 29 valores

#"Stdev record" = Table.AddColumn(Select_Data_Columns, "Stdev_Record",  each Record.SelectFields(_,Select_Data_Columns)),

Todavía soy un novato relativo de PQ, así que no puedo entender qué está mal aquí. ¿Existe algún tipo de límite para el número máximo de valores en una lista?

¡Espero que alguien pueda ayudar!

Saludos cordiales,

idiota

Deja un comentario

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