La forma más sencilla de aprender sobre delegación, más para personas que tratamos de aprender por nuestra cuenta :) Vi la notificación de tu video y no podía esperar a verlo. ¡Muchas gracias maestro!
Excelente información, quisiera por favor consultar algo, como me recomienda evitar delegación con filtros de fechas de inicio y fin. Necesito filtrar una lista de sharepoint usando una fecha de de inicio y fecha de fin contra un campo de la lista Date. Como podría evitar el problema de delegación.
tienes razón en muchas cosas que dices, sin embargo, tengo una base de datos en Excel con 70 mil registros y cuando intento migrarla a List me dice que el máximo es de 20 mil, por lo que en mi caso tendría que tomar el Excel como origen de datos.
Hola, muchas gracias por el video y la muy clara explicación. Me preguntaba si tendrás una guía o una tabla de ¿cuales operadores o cuales operaciones si las hace Sharepoint y cuales no? (Por ejempo: In - PowerApps, = Sharepoint, etc.) En el ejemplo que mencionas, Sharepoint sí filtra por valores de columnas (o sea, la operación la hace Sharepoint), sin embargo, entiendo que no la haría cuando haces una búsqueda de texto (como por ejemplo, cuando pones un campo de búsqueda de tipo texto), ¿es correcto? En el caso de filtros por casillas de verificación o botones radiales como condiciones para que la galería muestre ciertos datos, ¿las hace Sharepoint o PowerApps'. Saludos desde Ciudad de México, gracias y felicitaciones por tu contenido!! Excelente día a todos!
Genial la explicación! Ya me estaba imaginando el workarround a medida que ibas explicando. Una idea, se podría poner un test al inicio de la app que busque el total de registros de los orígenes, y si sobrepasan los limites que se establecen en la configuración de la app lanzara un aviso, de manera que si con el tiempo se superan los limites nos avisara?
Muy buena pregunta :D Pues depende de la base de datos que estés utilizando. Para ver si se ajusta tu propuesta a lo que buscas, haz una función Countrows(TablaObjetivo) y a ver si te da advertencia de delegación. Si no te la da y el resultado que arroja es superior a 2.000 registros, perfecto, a partir de ahí puedes hacer las condiciones que quieras. Si no te funciona, entraríamos ya a explorar otras opciones, como un flujo programado diariamente que me cuente cuántos registros hay y me avise cuando se cruce el umbral de registros deseado. ¡Un saludo!
Hola: Mi pregunta: Esto puede suceder también cuando el origen de datos es SQL? Muchas gracias por todo este trabajo que realizas para que podamos comprender mejor Power Apps, Excelente trabajo y muy claras explicaciones. Saludos del Noreste de México
Hola , excelente tus videos . Como puedo hacer una busqueda entre dos listas de sharepoint en la cual debo obviar resultados de la otra lista Filter(TA_FLOTA,Empresa = BuscaEmpresa_7.SelectedText.Value ,Title in ( (Filter(TPM_ORDEN_SERVICIO, CATEGORIA.Value = "P1" Or CATEGORIA.Value = "P2").Title))) es decir esto pero que en vez de in sea los valores listados en la lista de ordenes no aparezcan en la búsqueda de listados de la flota esto porque son registros que no puedo usar ya que tiene una orden en proceso .
¡Hola Erika! Me temo que no termino de entender tu consulta. ¿Quieres buscar en una lista pero que no aparezca resultado si, ese mismo valor, ya tiene una orden en la segunda lista?
¡Hola David! No hay ninguna base de datos que te libre por completo. Depende del operador que estés utilizando, la función y la base, la operación será delegable o no lo será, pero Excel es peor que SharPoint y ésta peor que Dataverse o SQL (peor en el sentido de que admite menos delegación de operaciones). ¡Un saludo!
¡Hola Eladio, gracias por comentar! Desde Power Automate el principal problema a la hora de filtrar es utilizar el paso "Condición". Utiliza este paso sólo para registros individualizados, no para filtrar tablas. Para filtro de tablas utiliza el filtro oData, que es el filtro que se encuentra en el propio paso que te recoge los registros (por ejemplo, en SharePoint, el paso "Obtener elementos"), despliegas "Propiedades avanzadas" y ahí en filtro puedes poner tu expresión, que puede ser fija o dinámica y con un operador (eq = igual a, ge = mayor o igual, etc.). Otro problema que puedes tener en Power Automate es con la paginación, que sólo te recupera los 100 primeros registros, pero tanto el filtrado oData como la paginación da para otro vídeo :) ¡Gracias de nuevo!
Cada base de datos permite delegar más funciones o menos, depende también del operador por ejemplo pero ninguna te va a librar 100% de las advertencias de delegación! Todo es probar!
@@CepaCode Gracias por responder, tengo otra consulta para hacer una busqueda; por ejemplo tengo una lista de datos de personas con las columnas DNI, nombres, apellidos, estado civil; lo que queria es que me devuelva el valor ingresando por otro lado el DNI y por otro lado la columna donde se va a buscar; por ejemplo uso la función LookUp('Personas';DNI = txtDNI.Text;txtColumna.Text) De esa forma no funciona jeje solo funciona cuando escribo el nombre de la columna que es lo que no quiero LookUp('Personas';DNI = txtDNI.Text;'nombre); existe alguna forma de hacer esa busqueda a lo mejor usando otras funciones?
Gracias por la explicación. SI no lo he entendido mal, entonces si tu número de registros es menor de 2.000 y cambies el límite, entonces no hay problema, se puede obviar el aviso en azul, ¿correcto?
¡Hola! Si estás seguro de que no se va a sobrepasar ese número de registros cuando los usuarios busque en esa galería, adelante, pero si no, la app les va a proporcionar información parcial y puede que ni se den cuenta o, peor aún, se den cuenta! 😱
@@CepaCode Estoy seguro que no lo va a sobrepasar. Y además, de momento, sólo yo voy a utilizar la apps. Hasta que descubran su utilidad en los servicios centrales de mi empresa, en Alemania... y quizás quieran que se desarrole para toda la organización.
Ingeniero...Yo tengo este código "Filter(Filter('Data Maestra';'Cod Suc'="415");'Cod Suc'=seach.Text)", me trae solo que tiene ese 415, que codigo tendria que poner para que ("Cod Suc=" ") me traiga todos los campos y no solo ese 415? Muchas gracias ingeniero...
@@CepaCode Filter(Filter('Data Maestra';'Cod Suc'=seach.Text);'Cod Suc'=seach.Text) Mire como solucione, muchas gracias Ingeniero por su ayuda y disposición, fue de mucha ayuda para mi, Bendición y saludos desde Colombia.
Otro buenísimo video, como de costumbre. Muy bueno y necesario el tema. La verdad que tienes un don de explicar las cosas, que se haces más fácil entender temas muy técnicos. Me quedó claro también la importancia de la fuente de datos. He escuchado que SQL es la segunda mejor base de datos después de Dataverse, compartes esa opinión? Excel es la menor preferida, pero la uso porque no conozco de base de datos y no se cual me permite el dinamismo de Excel. Tengo tablas con vencimiento de eventos con fechas dinámicas que se calculan de manera automática en base a funciones anidadas. Estas tablas las convierto en queries para poder usarlas como fuente de datos para hacer las aplicaciones de Power Apps. De qué forma puedo o que otra base de datos mejor que Excel puedo usar con la misma dinámica de fechas que se actualicen solas? Esta necesidad debe aplicar a millones de usuarios donde requieren información actualizada diariamente o hasta de minuto a minuto. Cómo o con qué base de datos logran esta flexibilidad? Gracias por la orientación.
La forma más sencilla de aprender sobre delegación, más para personas que tratamos de aprender por nuestra cuenta :) Vi la notificación de tu video y no podía esperar a verlo.
¡Muchas gracias maestro!
Muchas gracias Victoria! Con comentarios así es muy fácil seguir con el canal!!!
Excelente explicación, muchas gracias por información tan valiosa para implementar en mis proyectos!
¡Muchas gracias Brenda, contento de que te sirva!
Muy bien explicado! Gracias!!
excelente video Ignacio muchas gracias por tan detallada explicación
¡Gracias Luis! ¡No dejes que la delegación te impida hacer tus apps!
Excelente información, quisiera por favor consultar algo, como me recomienda evitar delegación con filtros de fechas de inicio y fin. Necesito filtrar una lista de sharepoint usando una fecha de de inicio y fecha de fin contra un campo de la lista Date. Como podría evitar el problema de delegación.
tienes razón en muchas cosas que dices, sin embargo, tengo una base de datos en Excel con 70 mil registros y cuando intento migrarla a List me dice que el máximo es de 20 mil, por lo que en mi caso tendría que tomar el Excel como origen de datos.
Hola, muchas gracias por el video y la muy clara explicación. Me preguntaba si tendrás una guía o una tabla de ¿cuales operadores o cuales operaciones si las hace Sharepoint y cuales no? (Por ejempo: In - PowerApps, = Sharepoint, etc.)
En el ejemplo que mencionas, Sharepoint sí filtra por valores de columnas (o sea, la operación la hace Sharepoint), sin embargo, entiendo que no la haría cuando haces una búsqueda de texto (como por ejemplo, cuando pones un campo de búsqueda de tipo texto), ¿es correcto? En el caso de filtros por casillas de verificación o botones radiales como condiciones para que la galería muestre ciertos datos, ¿las hace Sharepoint o PowerApps'.
Saludos desde Ciudad de México, gracias y felicitaciones por tu contenido!! Excelente día a todos!
Genial la explicación!
Ya me estaba imaginando el workarround a medida que ibas explicando.
Una idea, se podría poner un test al inicio de la app que busque el total de registros de los orígenes, y si sobrepasan los limites que se establecen en la configuración de la app lanzara un aviso, de manera que si con el tiempo se superan los limites nos avisara?
Muy buena pregunta :D
Pues depende de la base de datos que estés utilizando. Para ver si se ajusta tu propuesta a lo que buscas, haz una función Countrows(TablaObjetivo) y a ver si te da advertencia de delegación. Si no te la da y el resultado que arroja es superior a 2.000 registros, perfecto, a partir de ahí puedes hacer las condiciones que quieras.
Si no te funciona, entraríamos ya a explorar otras opciones, como un flujo programado diariamente que me cuente cuántos registros hay y me avise cuando se cruce el umbral de registros deseado.
¡Un saludo!
@@CepaCode Lo del flujo también es buena idea, de cara a monitorizar las aplicaciones.
Hola: Mi pregunta: Esto puede suceder también cuando el origen de datos es SQL? Muchas gracias por todo este trabajo que realizas para que podamos comprender mejor Power Apps, Excelente trabajo y muy claras explicaciones. Saludos del Noreste de México
Sí, puede pasar con SQL!
@ Gracias
hola ere bueno explicando me ayudarías con un video para realizar un inventario de equipos
Hola , excelente tus videos . Como puedo hacer una busqueda entre dos listas de sharepoint en la cual debo obviar resultados de la otra lista
Filter(TA_FLOTA,Empresa = BuscaEmpresa_7.SelectedText.Value ,Title in ( (Filter(TPM_ORDEN_SERVICIO,
CATEGORIA.Value = "P1" Or CATEGORIA.Value = "P2").Title)))
es decir esto pero que en vez de in sea los valores listados en la lista de ordenes no aparezcan en la búsqueda de listados de la flota esto porque son registros que no puedo usar ya que tiene una orden en proceso .
¡Hola Erika!
Me temo que no termino de entender tu consulta. ¿Quieres buscar en una lista pero que no aparezca resultado si, ese mismo valor, ya tiene una orden en la segunda lista?
Y estas limitaciones de delegación existen con SQL en Azure?
¡Hola David!
No hay ninguna base de datos que te libre por completo. Depende del operador que estés utilizando, la función y la base, la operación será delegable o no lo será, pero Excel es peor que SharPoint y ésta peor que Dataverse o SQL (peor en el sentido de que admite menos delegación de operaciones).
¡Un saludo!
Probaste lo mismo filtrando desde Power Automate usando la mismos ejemplos excel - sp - dv, como se comporta.
¡Hola Eladio, gracias por comentar! Desde Power Automate el principal problema a la hora de filtrar es utilizar el paso "Condición". Utiliza este paso sólo para registros individualizados, no para filtrar tablas. Para filtro de tablas utiliza el filtro oData, que es el filtro que se encuentra en el propio paso que te recoge los registros (por ejemplo, en SharePoint, el paso "Obtener elementos"), despliegas "Propiedades avanzadas" y ahí en filtro puedes poner tu expresión, que puede ser fija o dinámica y con un operador (eq = igual a, ge = mayor o igual, etc.).
Otro problema que puedes tener en Power Automate es con la paginación, que sólo te recupera los 100 primeros registros, pero tanto el filtrado oData como la paginación da para otro vídeo :)
¡Gracias de nuevo!
sql server como origen de datos puede solucionar este problema?
Cada base de datos permite delegar más funciones o menos, depende también del operador por ejemplo pero ninguna te va a librar 100% de las advertencias de delegación! Todo es probar!
@@CepaCode Gracias por responder, tengo otra consulta para hacer una busqueda; por ejemplo tengo una lista de datos de personas con las columnas DNI, nombres, apellidos, estado civil; lo que queria es que me devuelva el valor ingresando por otro lado el DNI y por otro lado la columna donde se va a buscar; por ejemplo uso la función LookUp('Personas';DNI = txtDNI.Text;txtColumna.Text)
De esa forma no funciona jeje solo funciona cuando escribo el nombre de la columna que es lo que no quiero LookUp('Personas';DNI = txtDNI.Text;'nombre);
existe alguna forma de hacer esa busqueda a lo mejor usando otras funciones?
Gracias por la explicación. SI no lo he entendido mal, entonces si tu número de registros es menor de 2.000 y cambies el límite, entonces no hay problema, se puede obviar el aviso en azul, ¿correcto?
¡Hola!
Si estás seguro de que no se va a sobrepasar ese número de registros cuando los usuarios busque en esa galería, adelante, pero si no, la app les va a proporcionar información parcial y puede que ni se den cuenta o, peor aún, se den cuenta! 😱
@@CepaCode Estoy seguro que no lo va a sobrepasar. Y además, de momento, sólo yo voy a utilizar la apps. Hasta que descubran su utilidad en los servicios centrales de mi empresa, en Alemania... y quizás quieran que se desarrole para toda la organización.
Ah pues cuando llegue ese momento, me llamas que mis amigos y yo otra cosa no pero el alemán lo llevamos bien :)
Ingeniero...Yo tengo este código "Filter(Filter('Data Maestra';'Cod Suc'="415");'Cod Suc'=seach.Text)", me trae solo que tiene ese 415, que codigo tendria que poner para que ("Cod Suc=" ") me traiga todos los campos y no solo ese 415? Muchas gracias ingeniero...
¿Por qué no lo dejas con Filter(Data Maestra;Cod Suc = Search.Text) y en el Search.Text pones 415?
@@CepaCode Filter(Filter('Data Maestra';'Cod Suc'=seach.Text);'Cod Suc'=seach.Text) Mire como solucione, muchas gracias Ingeniero por su ayuda y disposición, fue de mucha ayuda para mi, Bendición y saludos desde Colombia.
Otro buenísimo video, como de costumbre. Muy bueno y necesario el tema. La verdad que tienes un don de explicar las cosas, que se haces más fácil entender temas muy técnicos. Me quedó claro también la importancia de la fuente de datos. He escuchado que SQL es la segunda mejor base de datos después de Dataverse, compartes esa opinión? Excel es la menor preferida, pero la uso porque no conozco de base de datos y no se cual me permite el dinamismo de Excel. Tengo tablas con vencimiento de eventos con fechas dinámicas que se calculan de manera automática en base a funciones anidadas. Estas tablas las convierto en queries para poder usarlas como fuente de datos para hacer las aplicaciones de Power Apps. De qué forma puedo o que otra base de datos mejor que Excel puedo usar con la misma dinámica de fechas que se actualicen solas? Esta necesidad debe aplicar a millones de usuarios donde requieren información actualizada diariamente o hasta de minuto a minuto. Cómo o con qué base de datos logran esta flexibilidad? Gracias por la orientación.
@@moisestatis5418 Buena pregunta, se la deberías hacer en un comentario del video y no dentro de esta respuesta.