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
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:
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»;
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