Seleccione el menú de tabla de navegación desplegable múltiple (para el conector de datos personalizado)

Un usuario Pregunto ✅

CameronW

Estoy construyendo mi tabla de navegación para mi conector de datos personalizado y estoy buscando tener una opción de selección múltiple en el menú como se ve en uno de los ejemplos aquí: https://github.com/microsoft/DataConnectors/tree/master/samples / OpenApiSample

image.png

Lo más cercano que he podido obtener es una lista desplegable seleccionable y, por lo que puedo encontrar, no hay nada en la documentación sobre cómo hacer esto, ya que hay muchas funciones para conectores de datos personalizados que no están documentadas …

CameronW

En respuesta a rsimcoe

De hecho, después de muchas horas de prueba y error, he descubierto cómo hacer esto.
Resultó, como la mayoría de las cosas, ser molestamente simple …

Cuando agregue los metadatos a la función para la tabla de navegación, en lugar de tenerlos como texto de tipo, simplemente colóquelos como lista de tipos y establezca los valores permitidos para que sean los que desee que aparezcan en el cuadro de lista.

¡Espero que esto ayude a la gente!

rsimcoe

También me interesaría saber cómo hacer esto si alguien tiene algún consejo útil.

Gracias,

CameronW

En respuesta a rsimcoe

De hecho, después de muchas horas de prueba y error, he descubierto cómo hacer esto.
Resultó, como la mayoría de las cosas, ser molestamente simple …

Cuando agregue los metadatos a la función para la tabla de navegación, en lugar de tenerlos como texto de tipo, simplemente colóquelos como lista de tipos y establezca los valores permitidos para que sean los que desee que aparezcan en el cuadro de lista.

¡Espero que esto ayude a la gente!

ppraveenk

En respuesta a CameronW

Hola @CameronW Estoy luchando durante unos días para comprender cómo agregar parámetros de entrada de usuario para una tabla de navegación. ¿Podría ayudarme a explicar cómo se las arregló para lograr esta funcionalidad? Cualquier referencia de código sería de gran ayuda. ¡Gracias!

Anónimo

En respuesta a ppraveenk

Hola @ppraveenk, puedes crear una tabla de navegación como esta y luego exponer tus funciones:

CAOP_0-1593159324871.png

Espero eso ayude.

ppraveenk

En respuesta a Anónimo

Hola @Anónimo

Muchas gracias por tu respuesta. Quiero capturar los parámetros de fecha de inicio y finalización del usuario antes de invocar la llamada RestAPI.

Después de implementar su sugerencia, no veo ningún campo de entrada en el navegador, pero aparece un mensaje «No se especificaron valores de parámetro».

Perdón por ser ignorante, pero estoy probando el conector bi de alimentación por primera vez.

Así es como lo estoy intentando. Le pido que me avise si estoy haciendo algo incorrectamente. ¡Gracias por adelantado!

dejar
source = #table ({«Nombre», «Datos», «ItemKind», «ItemName», «IsLeaf»}, {
{«UserSearch», (startDate como texto, endDate como texto) como tabla => GetUserSearchTable (startDate, endDate), «Table», «Table», true}
{«Users», GetUsersTable (), «Table», «Table», true}
}),
navTable = Table.ToNavigationTable (fuente, {«Nombre»}, «Nombre», «Datos», «ItemKind», «ItemName», «IsLeaf»)
en
navTable;

// No estoy seguro si estos parámetros son obligatorios
// startDate = DateTime.ToText (DateTime.From (Date.AddDays (Date.From (DateTime.LocalNow ()), – 30)), «aaaa-MM-dd») meta [IsParameterQuery=true, Type=»Text», IsParameterQueryRequired=true];
// endDate = DateTime.ToText (DateTime.From (Date.AddDays (Date.From (DateTime.LocalNow ()), – 1)), «aaaa-MM-dd») meta [IsParameterQuery=true, Type=»Text», IsParameterQueryRequired=true];

GetUserSearchTable = (startDate como texto, endDate como texto) como tabla =>
dejar
body = «{» «endDate» «:» «» & endDate & «» «,» «startDate» «:» «» & startDate & «» «}»,
source = Web.Contents («https: //rest.api/users», [ RelativePath = «search», Content = Text.ToBinary(body)]),
json = Json.Document (fuente),
# «Converted to Table» = Record.ToTable (json),
Valor = # «Convertido a tabla» {0}[Value],
# «Converted to Table1» = Table.FromList (Value, Splitter.SplitByNothing (), null, null, ExtraValues.Error),
# «Expanded Column1» = Table.ExpandRecordColumn (# «Converted to Table1», «Column1», {«userID»}, {«userID»}),
# «Columnas renombradas» = Table.RenameColumns (# «Columna expandida1», {{«ID de usuario», «Id»}}),
# «Función personalizada invocada» = Table.AddColumn (# «Columnas renombradas», «GetListTable», cada GetListTable ([Id])),
# «Usuarios expandidos» = Table.ExpandTableColumn (# «Función personalizada invocada», «GetListTable», {«nombre», «tipo»}, {«nombre», «tipo»})
en
# «Usuarios ampliados»;

Capture.PNG

Anónimo

En respuesta a ppraveenk

Lo que me llama la atención es el «as table» que tienes en tu función. Si recibe parámetros, creo que hay que definirlo como una función.
Así que elimínelo de su NavTable y GetUserSearchTable. Además, defina su tabla GetUserSearch como «función» en la tabla de navegación.

ppraveenk

En respuesta a Anónimo

Hola @Anónimo, gracias por tu respuesta.

¿Podría informarme si sabe cómo pasar el valor predeterminado como fecha de hoy para los parámetros de fecha de inicio y finalización en la tabla de navegación? ¡Muy apreciado!

CameronW

En respuesta a ppraveenk

Hola a todos, no he trabajado en esto en un tiempo, así que no puedo dar más información que en mi publicación anterior. Para ver el código donde lo usé (o una versión actualizada desde entonces) eche un vistazo al conector de datos de la tienda de aplicaciones industriales de la planta inteligente, para eso se usó esta funcionalidad.

Gracias

Anónimo

En respuesta a CameronW

Hola @CameronW, ¿puedes explicar un poco más cómo lo hiciste?
Actualmente estoy luchando para agregar un menú desplegable a los parámetros de mi función en el navegador.

Puedo replicarlo en el Editor avanzado y funciona bien, pero no en el conector …

Atentamente,
Carlos

Deja un comentario

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