Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Crear aplicaciones
Registrarse para obtener una versión de evaluación de 30 días
Registrarse en el Plan de la comunidad de PowerApps
Aplicaciones de lienzo
Inicios rápidos
Abrir una aplicación de ejemplo
Crear una aplicación a partir de una plantilla
Crear una aplicación desde SharePoint
Generar una aplicación
Tutoriales
Personalizar una aplicación generada
Crear una aplicación desde cero
Compartir una aplicación
Insertar una aplicación en Power BI
Ejemplos
Aplicación de informe de gastos
Aplicación de servicio de asistencia
Descripción
Introducción a las fórmulas
Tablas y registros
Formularios de datos
Diseño del formulario de datos
Tarjetas de datos
Variables
fórmulas
Fechas y horas
Orígenes de datos
Comprensión de la integración de formularios de SharePoint
Objeto visual personalizado de PowerApps
Transformación de Formularios de InfoPath a PowerApps
Desarrollo de aplicaciones de lienzo
Guías de procedimientos
Personalizar un formulario de lista de SharePoint
Compilar una aplicación de Excel desde cero
Personalizar una aplicación
Administrar la aplicación
Conectarse a datos
Integrar con otras tecnologías
Referencia
Referencia sobre fórmulas
Referencia sobre controles
Referencia de conectores
Requisitos del sistema, límites y configuración
Recursos
Trabajar con entornos
Novedades
Problemas y resoluciones habituales
Seminarios web próximos y recientes
Aplicaciones controladas por modelos
Información general de las aplicaciones de ejemplo
Compartir una aplicación controlada por modelos
Para desarrolladores
Información general
Uso de recursos web
Scripting de cliente
Personalizar comandos
Common Data Service for Apps
Inicios rápidos
Crear una entidad
Crear una entidad personalizada a partir de datos
Administrar campos
Crear un conjunto de opciones
Crear una relación
Crear una regla de negocio
Eliminar una entidad personalizada
Tutoriales
Crear una entidad personalizada que tiene componentes
Ejemplos y recursos
Para desarrolladores
Información general
Introducción a las soluciones
Entidades de datos de Common Data Service for Apps
Aplicación de lógica de negocios con código
Uso de servicios web de Common Data Service for Apps
Common Data Model
Información general sobre la creación de
aplicaciones en PowerApps
09/04/2018 • 4 min to read • Edit Online
PowerApps es una plataforma de desarrollo de gran productividad para aplicaciones de negocio y tiene tres
componentes principales:
Las aplicaciones de lienzo comienzan con la experiencia del usuario, diseñando una interfaz muy
personalizada con la potencia de un lienzo en blanco y conectándola a uno de los 200 orÃgenes de datos para
elegir. Se pueden compilar aplicaciones de lienzo para aplicaciones web, móviles y de tableta.
Las aplicaciones controladas por modelos empiezan con el modelo de datos y se compilan a partir de la forma
de los datos y procesos de negocio fundamentales en Common Data Service para crear formularios, vistas y
otros componentes. Las aplicaciones controladas por modelos generan automáticamente una interfaz de
usuario excelente con capacidad de respuesta en todos los dispositivos.
Common Data Service es la plataforma de datos que viene con PowerApps y que permite almacenar y modelar
los datos de negocio. Es la plataforma en la que se compilan las aplicaciones de Dynamics 365; si es un cliente
de Dynamics, los datos ya están en Common Data Service.
Intentar la creación de la primera aplicación es fácil. Tenemos un plan de evaluación de 30 dÃas y un plan de la
comunidad gratuito; obtenga más información sobre cuál es mejor para usted y empiece a trabajar.
Aplicaciones de lienzo
Las aplicaciones de lienzo proporcionan la flexibilidad de organizar la experiencia del usuario y la interfaz de la
forma que se quiera. Permita que el sentido creativo y empresarial le guÃe a obtener el aspecto que quiere para las
aplicaciones.
Se puede empezar a compilar la aplicación desde las herramientas de Microsoft donde se encuentren los datos,
por ejemplo:
Desde una lista de SharePoint
Desde un panel de Power BI
Crear una aplicación de lienzo es fácil; con PowerApps, se puede buscar o crear la aplicación de varias maneras:
Desde datos
Desde un ejemplo
Desde un origen de Common Data Service
Desde un lienzo en blanco
A través de AppSource
Configure la aplicación con fórmulas no solo para calcular valores y realizar otras tareas (como en Excel), sino
también para responder a la entrada del usuario (como una aplicación requiere).
En Excel, se crean fórmulas que, por ejemplo, rellenan celdas y crean tablas y gráficos.
En PowerApps, va a crear fórmulas parecidas al configurar controles en lugar de celdas. Además, va a crear
fórmulas que se aplican especÃficamente a aplicaciones en lugar de a hojas de cálculo.
Por ejemplo, puede crear una fórmula para determinar cómo responde la aplicación cuando los usuarios
seleccionan un botón, ajustan un control deslizante o proporcionan otra entrada. Estas fórmulas podrÃan
mostrar una pantalla diferente, actualizar un origen de datos externo a la aplicación o crear una tabla que
contiene un subconjunto de los datos de una tabla existente.
Puede usar fórmulas para una amplia variedad de escenarios. Por ejemplo, puede usar el GPS de su dispositivo,
un control de mapa y una fórmula que use Location.Latitude y Location.Longitude para mostrar su
ubicación actual. A medida que se desplaza, el mapa sigue automáticamente su ubicación.
En este tema se proporciona únicamente información general sobre cómo trabajar con fórmulas. Examine la
referencia sobre fórmulas para más información y la lista completa de funciones, operadores y otros bloques
de creación que puede usar.
Requisitos previos
SuscrÃbase a PowerApps, instálelo, ábralo e inicie sesión con las mismas credenciales que usó para
suscribirse.
Aprenda a configurar un control en PowerApps.
Puede cambiar el nombre del control seleccionado en la pestaña Contenido si hace clic en el
nombre.
3. Agregue un control Etiqueta a la pantalla.
Cuando se agrega una etiqueta, la lista de propiedades muestra automáticamente la propiedad Texto, que
determina lo que se muestra en el control. De forma predeterminada, el valor de esta propiedad es
"Texto".
4. Establezca el valor de la propiedad Text en "Hello World" escribiendo esa cadena, encerrada entre
comillas dobles, en la barra de fórmulas:
La etiqueta refleja este nuevo valor a medida que lo escribe. Es posible que aparezcan en pantalla iconos de
signos de exclamación amarillos mientras escriba. Estos iconos indican errores, pero desaparecerán
cuando termine de escribir un valor válido. Por ejemplo, una cadena no encerrada entre comillas dobles
no es válida.
En Excel, puede mostrar un número, como 42, escribiéndolo en una celda o escribiendo una fórmula
que se resuelve en ese número, como =SUMA(30,12). En PowerApps, puede lograr el mismo efecto si
establece la propiedad Texto de un control, como una etiqueta, en 42 o Sum(30,12). La celda y la etiqueta
mostrarán siempre dicho número, independientemente de los cambios que se produzcan en la hoja de
cálculo o en la aplicación.
NOTA
En PowerApps, no anteponga un signo igual o más a la fórmula como se hace en Excel. La barra de fórmulas trata
todo lo que escribe en ella como fórmula de forma predeterminada. Tampoco debe encerrar una fórmula entre
comillas dobles ("), como hizo antes para especificar una cadena de texto.
5. En la propiedad Texto de la etiqueta, reemplace "Hola mundo" por Sum(1,2,3).
Mientras escribe, la barra de fórmulas lo ayuda mostrando la descripción y los argumentos esperados
para esta función. Al igual que con la comilla doble final en "Hello World", la pantalla muestra los signos
de exclamación amarillos para indicar un error hasta que escriba el paréntesis final de esta fórmula:
Con independencia de los números que escriba en los controles de entrada de texto, la etiqueta siempre muestra
la suma de esos números porque su propiedad Texto está establecida en esta fórmula:
TextInput1 + TextInput2
En Excel, puede usar formato condicional para mostrar, por ejemplo, los valores negativos en rojo. En PowerApps,
use una fórmula que contenga la función If, que se comporta de forma similar a Excel.
1. Establezca la propiedad Color de la etiqueta en la siguiente fórmula:
If( Value(TextBox1.Text) < 0, Red, Black )
NOTA
En una fórmula, especifique la propiedad de un control proporcionando el nombre del control seguido de un punto
y del nombre de la propiedad. Por ejemplo, para especificar la propiedad Text de TextBox1, escriba TextBox1.Text.
2. En TextInput1 y TextInput2, especifique dos números cuyo resultado, cuando se sumen, sea un
número negativo.
El valor de la etiqueta aparece en rojo.
2. Organice los controles deslizantes de forma que no se superpongan, agregue tres etiquetas y configúrelas
para que muestren Rojo, Verde y Azul:
3. Establezca la propiedad Max de cada control deslizante en 255, que es el valor máximo de un
componente de color para la función RGBA.
Puede especificar la propiedad Max si la selecciona en la pestaña Contenido o en la lista de propiedades:
4. Haga clic fuera de cualquier control para seleccionar la pantalla y establezca la propiedad Fill de esta en
esta fórmula:
RGBA( Slider1.Value, Slider2.Value, Slider3.Value, 1 )
Como ya se ha descrito, para acceder a las propiedades de un control, use el operador "." . Slider1.Value
se refiere a la propiedad Value del control deslizante, que refleja el lugar donde el usuario ha colocado el
control deslizante entre los valores Min y Max. A medida que escribe esta fórmula, cada control que la
contenga se marca con un color entre la pantalla y la barra de fórmulas:
Al escribir el paréntesis de cierre, el fondo de la pantalla cambiará a gris oscuro basándose en el valor
predeterminado de cada control deslizante, que es 50. En cuanto termine de escribir la fórmula, se calcula
y se usa como valor del color de relleno de fondo. Puede interactuar con la aplicación en el área de
trabajo predeterminada sin necesidad de abrir Vista previa:
5. Ajuste los controles deslizantes y vea cómo los cambios afectan al color de fondo.
A medida que cambia cada control deslizante, la fórmula que contiene la función RGBA se vuelve a
calcular, lo que cambia inmediatamente la apariencia de la pantalla.
Administrar el comportamiento de la aplicación
Puede usar fórmulas no solo para realizar cálculos y cambiar la apariencia, sino también para llevar a cabo
acciones. Por ejemplo, puede establecer la propiedad OnSelect de un botón en una fórmula que incluya la
función Navigate. Cuando un usuario selecciona ese botón, aparece la pantalla que especifique en la fórmula.
Puede usar algunas funciones, como Navigate y Collect, solo en fórmulas de comportamiento. En la referencia
sobre fórmulas, se indica si una función se puede usar solo en este contexto.
Puede usar más de una acción en una fórmula de comportamiento si separa las funciones con un punto y
coma (;). Por ejemplo, podrÃa actualizar una variable de contexto, insertar datos en un origen de datos y
finalmente ir a otra pantalla.
Puede crear una aplicación que tenga acceso a información en Microsoft Excel, SharePoint, SQL Server y otros
orÃgenes diferentes que almacenan datos en registros y tablas. Para trabajar de forma más eficaz con este tipo
de datos, revise los conceptos que subyacen a estas estructuras.
Un registro contiene una o varias categorÃas de información sobre una persona, un lugar o una cosa. Por
ejemplo, un registro puede contener el nombre, la dirección de correo electrónico y el número de teléfono
de un solo cliente. Otras herramientas hacen referencia a un registro como una "fila" o un "elemento".
Una tabla contiene uno o varios registros que incluyen las mismas categorÃas de información. Por ejemplo,
una tabla puede contener los nombres, las direcciones de correo electrónico y los números de teléfono de
50 clientes.
En la aplicación, usará fórmulas para crear, actualizar y manipular registros y tablas. Probablemente podrá leer
y escribir datos en un origen de datos externo, que es una tabla extendida. Además, puede crear una o varias
tablas internas, que se denominan colecciones.
Puede crear una variedad de fórmulas que usan el nombre de una tabla como argumento, al igual que las
fórmulas de Excel consideran una o varias referencias de celda como argumentos. Algunas fórmulas de
PowerApps devuelven una tabla que refleja el resto de los argumentos que se especifiquen. Por ejemplo, podrÃa
crear una fórmula:
para actualizar un registro en una tabla mediante la especificación de esa tabla como uno de varios
argumentos para la función Revisión,
para agregar, quitar y cambiar el nombre de las columnas de una tabla mediante la especificación de esa tabla
como un argumento para la función AgregarColumnas, EliminarColumnas o CambiarNombreColumnas.
Ninguna de esas funciones modifica la tabla original. En su lugar, la función devuelve otra tabla basada en el
resto de los argumentos que se especifiquen.
Registros
Cada registro contiene al menos una categorÃa de información sobre una persona, un lugar o una cosa. El
ejemplo anterior muestra un registro para cada producto (Chocolate, Pan y Agua) y una columna para cada
categorÃa de información (Precio, Cantidad disponible y Cantidad en pedido).
En una fórmula, puede hacer referencia a un registro por sà mismo, fuera del contexto de una tabla, mediante el
uso de llaves. Por ejemplo, este registro { Nombre: "Fresas", Precio: 7,99 } no está asociado a una tabla.
Campos
Un campo es un elemento individual de información de un registro. Puede visualizar este tipo de campo como un
valor de una columna para un registro concreto.
Igual que con un control, puede hacer referencia a un campo de un registro mediante ., que es el operador en el
registro. Por ejemplo, Primero(Productos).Nombre devuelve el campo Nombre para el primer registro de la
tabla Productos.
Un campo puede contener otro registro o tabla, como muestra el ejemplo de la función AgruparPor. Puede
anidar tantos niveles de registros y tablas como desee.
Columnas
Una columna hace referencia al mismo campo de uno o varios registros de una tabla. En el ejemplo anterior, cada
producto tiene un campo de precio, y el precio está en la misma columna para todos los productos. La tabla
anterior tiene cuatro columnas, que se muestran horizontalmente en la parte superior:
Nombre
Precio
Cantidad disponible
Cantidad en pedido
El nombre de la columna refleja los campos de dicha columna.
Todos los valores de una columna son del mismo tipo de datos. En el ejemplo anterior, la columna "Cantidad
disponible" siempre contiene un número y no puede contener una cadena, como "12 unidades", para un registro.
El valor de cualquier campo también puede aparecer en blanco.
Es posible que en otras herramientas haya hecho referencia a las columnas con el término "campos".
NOTA
En los orÃgenes de datos de SharePoint y Excel que contengan nombres de columna con espacios, PowerApps los sustituirá
por "_x0020_". Por ejemplo, "Nombre de columna" en SharePoint o Excel aparecerá como
"Nombre_x0020_de_columna" en PowerApps cuando se muestre en el diseño de datos o se use en una fórmula.
Tabla
Una tabla consta de uno o varios registros, cada uno con varios campos que tienen nombres coherentes entre los
registros.
Cualquier tabla almacenada en un origen de datos o en un colección tiene un nombre, que se usa para hacer
referencia a la tabla y para pasarlo a funciones que consideran las tablas como argumentos. Las tablas también
pueden resultar de una función o de una fórmula.
Como en el ejemplo siguiente, puede expresar una tabla en una fórmula mediante la utilización de la función
Tabla con un conjunto de registros, que se expresa entre llaves:
Tabla( { Valor: "Fresa" }, { Valor: "Vainilla" } )
También puede definir una tabla de una sola columna entre corchetes. Una manera equivalente de escribir lo
anterior:
[ "Fresa", "Vainilla" ]
Fórmulas de tabla
En Excel y PowerApps, las fórmulas se usan para manipular números y cadenas de texto de formas similares:
En Excel, escriba un valor, como 42, en la celda A1 y después escriba una fórmula, como A1+2, en otra celda
para mostrar el valor de 44.
En PowerApps, establezca la propiedad Valor predeterminado de Slider1 en 42, y defina la propiedad Texto
de una etiqueta en Slider1.Value + 2 para mostrar el valor de 44.
En ambos casos, el valor calculado cambia automáticamente si modifica los valores de los argumentos (por
ejemplo, el número de la celda A1 o el valor de Slider1).
Del mismo modo, puede usar fórmulas para acceder a datos de tablas y registros y manipularlos. Puede usar
nombres de tablas como argumentos en algunas fórmulas, como Min(Catálogo, Precio), para mostrar el valor
mÃnimo en la columna Precio de la tabla Catálogo. Otras fórmulas proporcionan tablas completas como
valores devueltos, como CambiarNombreColumnas(Catálogo, "Precio", "Coste"), que devuelve todos los
registros de la tabla Catálogo, pero cambia el nombre de la columna Precio a Coste.
Al igual que con los números, las fórmulas relacionadas con tablas y registros se recalculan automáticamente a
medida que el registro o la tabla subyacentes cambian. Si el coste de un producto de la tabla Catálogo está muy
por debajo del mÃnimo anterior, el valor devuelto de la fórmula Min cambiará automáticamente para
establecer la coincidencia.
Se van a analizar algunos ejemplos sencillos.
1. Agregue un control GalerÃa de texto y establezca su propiedad Elementos con el nombre de una tabla.
De forma predeterminada, la galerÃa muestra texto de marcador de posición de una tabla denominada
EjemploGalerÃaTextual. La propiedad Elementos de la galerÃa se establece automáticamente en dicha
tabla.
NOTA
Algunos controles se han reorganizado y ampliado con fines meramente ilustrativos.
2. En lugar de establecer la propiedad Elementos con el nombre de la tabla, defina una fórmula que incluya
el nombre de la tabla como un argumento, como en este ejemplo:
Sort(TextualGallerySample, Heading, Descending)
Esta fórmula incorpora la función Ordenar, que considera el nombre de una tabla como su primer
argumento y el nombre de una columna de dicha tabla como su segundo argumento. La función
también admite un tercer argumento opcional, que estipula que desea ordenar los datos en orden
descendente.
3. Defina la propiedad Elementos con una fórmula que considere la fórmula del paso anterior como un
argumento y devuelve una tabla, como en este ejemplo:
FirstN(Sort(TextualGallerySample, Heading, Descending), 2)
En esta fórmula, use la función FirstN para mostrar un número concreto de registros de una tabla. Se
usa la función Ordenar como el primer argumento de FirstN y un número (en este caso, 2) como el
segundo argumento, que especifica la cantidad de registros que se van a mostrar.
Toda la fórmula devuelve una tabla que contiene los dos primeros registros de la tabla EjemploGalerÃ-
aTextual, ordenados en función de la columna Encabezado en orden descendente.
Funciones de tabla y propiedades de control
Muchas funciones de PowerApps consideran el nombre de una tabla como un argumento, crean una segunda
tabla que contiene los mismos datos, manipulan la tabla nueva en función de los otros argumentos y después
devuelven el resultado. Estas funciones no modifican la tabla original, ni siquiera si se trata de un origen de datos.
Ordenar, Filtrar: ordena y filtra registros.
FirstN, LastN: devuelve los primeros o últimos registros N de la tabla.
Abs, RaÃz, Redondear, Redondear.Mas, Redondear.Menos: operaciones aritméticas de cada registro de
una tabla con sola columna, que resulta en una tabla de resultados con una sola columna.
Izquierda, Medio, Derecha, Reemplazar, Sustituir, Espacios, Minusc, Mayusc, NomPropio:
manipulaciones de cadena en cada registro de una tabla con una sola columna, que resultan en una tabla de
cadenas de una sola columna.
Largo: para una columna de cadenas, devuelve una tabla de una sola columna que contiene la longitud de cada
cadena.
Concatenar: concatena varias columnas de cadenas, que resultan en una tabla de cadenas de una sola
columna.
AgregarColumnas, EliminarColumnas, CambiarNombreColumnas, MostrarColumnas: manipulación de
columnas de la tabla, que resulta en una tabla nueva con columnas distintas.
Distinto: elimina registros duplicados.
Aleatorio: ordena los registros de forma aleatoria.
HashTags: busca hashtags en una cadena.
Errores: proporciona información de errores cuando se trabaja con un origen de datos.
Puede ejecutar una función en una tabla que contiene varias columnas, incluso si la función requiere una sola
columna como un argumento. Para extraer una única columna de una tabla de varias columnas, use la función
MostrarColumnas como un argumento para la función que va a utilizar, como en este ejemplo:
Minusc( MostrarColumnas( Productos, "Nombre" ) )
Esta fórmula crea una tabla de una sola columna que contiene todos los datos de la columna Nombre de la tabla
Productos, pero convierte las letras mayúsculas a minúsculas. Si especifica una tabla como un argumento para
la función AgregarColumnas, CambiarNombreColumnas o EliminarColumnas, puede volver a dar forma
completamente a la tabla deseada.
Si especifica un origen de datos como un argumento para una de estas funciones, modificará los registros de ese
origen de datos y, por lo general, devolverá el nuevo valor del origen de datos como una tabla.
Recopilar, Borrar, BorrarColección: crea, borra y agrega en una colección.
Actualizar, ActualizarSi: actualiza registros que reúnen uno o varios criterios especificados.
Eliminar, EliminarSi: elimina registros que reúnen uno o varios criterios especificados.
Los siguientes controles tienen propiedades que son tablas:
Elementos: se aplica a galerÃas y cuadros de lista. Tabla que se va a mostrar en la galerÃa.
ElementosSeleccionados: se aplica a cuadros de lista. Tabla de elementos que el usuario ha seleccionado.
Fórmulas de registro
También puede generar una fórmula que calcula los datos de un registro individual, considera un registro
individual como un argumento y proporciona un registro individual como un valor devuelto. Al volver al ejemplo
anterior de la galerÃa, se usa la propiedad GalerÃa1.Seleccionada para mostrar información de cualquier
registro que el usuario selecciona en la galerÃa.
1. Agregue un botón y establezca su propiedad OnSelect en esta fórmula:
Recopilar( RegistroSeleccionado, GalerÃa1.Seleccionada )
2. Si el botón no está seleccionado, haga clic en él para seleccionarlo y después vuelva a hacer clic en
él para ejecutar la fórmula.
3. En el menú Archivo, seleccione Colecciones.
Esta fórmula devuelve un registro que incluye no solo los datos del registro que está seleccionado actualmente
en la galerÃa, sino también cada control de dicha galerÃa. Por ejemplo, el registro contiene una columna
Cuerpo que coincide con la columna Cuerpo de la tabla original, y una columna Cuerpo1, que representa la
etiqueta que muestra los datos de esa columna. Seleccione el icono de tabla en la columna Cuerpo1 para
profundizar en dichos datos.
Ahora que tiene el registro seleccionado, puede extraer campos individuales de él con el operador . .
1. Presione Esc para volver al área de trabajo predeterminada y después agregue una etiqueta debajo de la
galerÃa.
2. Defina la propiedad Texto de la etiqueta con esta fórmula:
GalerÃa.Seleccionada.Encabezado
Ha usado la propiedad Seleccionada, que es un registro, y ha extraÃdo la propiedad Encabezado de ahÃ.
También puede usar un registro como un contenedor de uso general para los valores con nombre relacionados.
Si crea una fórmula a partir de las funciones ActualizarContexto y Navegar, use un registro para recopilar
las variables de contexto que desea actualizar.
Use la propiedad Actualizaciones en un control Editar formulario para recopilar los cambios que el usuario
ha realizado en un formulario.
Use la función Revisión para actualizar un origen de datos, pero también para combinar registros.
En estos casos, el registro nunca formaba parte de una tabla.
Funciones de registro y propiedades de control
Funciones que devuelven registros:
FirstN, LastN: devuelve el o los primeros o últimos registros de la tabla.
Búsqueda: devuelve el primer registro de una tabla que coincide con uno o varios criterios.
Revisión: actualiza un origen de datos o combina registros.
Predeterminado: devuelve los valores predeterminados para un origen de datos.
Propiedades que devuelven registros:
Seleccionado: se aplica a galerÃas y cuadros de lista. Devuelve el registro seleccionado actualmente.
Actualizaciones: se aplica a las galerÃas. Reúne todos los cambios que realiza un usuario en un formulario
de entrada de datos.
Actualizar: se aplica a los controles de entrada, como controles deslizantes y controles de entrada de texto.
Configura las propiedades individuales para que se recopilen en la galerÃa.
Para determinar si se habÃa solicitado más cantidad de alguno de estos productos de la que se encuentra
disponible:
Filtrar( Productos, 'Cantidad en pedido' > 'Cantidad disponible' )
El primer argumento para Filtrar es la tabla de registros en los que operar, y el segundo argumento es una
fórmula. Filtrar crea un ámbito de registro para evaluar esta fórmula en la que están disponibles los campos
de cada registro; en este caso, Producto, Cantidad en pedido y Cantidad disponible. El resultado de la
comparación determina si cada registro debe incluirse en el resultado de la función:
Según este ejemplo, podemos calcular qué cantidad de cada producto solicitar:
AgregarColumnas( Filtrar( Productos, 'Cantidad en pedido' > 'Cantidad disponible' ), "Cantidad para
solicitar", 'Cantidad en pedido' - 'Cantidad disponible' )
A continuación, se va a agregar una columna calculada al resultado. AgregarColumnas tiene su propio ámbito
de registro que se utiliza para calcular la diferencia entre lo que se ha solicitado y lo que está disponible.
Por último, se puede reducir la tabla de resultados a solo las columnas deseadas:
MostrarColumnas( AgregarColumnas( Filtrar( Productos, 'Cantidad en pedido' > 'Cantidad disponible' ),
"Cantidad para solicitar", 'Cantidad en pedido' - 'Cantidad disponible' ), "Producto", "Cantidad para
solicitar" )
Tenga en cuenta que en la fórmula anterior, se han usado comillas dobles (") en algunos casos y comillas simples
(') en otros. Las comillas simples son necesarias cuando se hace referencia al valor de un objeto, como un campo o
una tabla, donde el nombre del objeto contiene un espacio. Las comillas dobles se usan cuando no se hace
referencia al valor de un objeto, sino que se habla de él, sobre todo en situaciones en que el objeto todavÃa no
existe, como en el caso de AgregarColumnas.
Anulación de ambigüedades
Los nombres de campo agregados con el ámbito de registro anulan los mismos nombres de los restantes lugares
de la aplicación. Cuando esto sucede, para acceder a los valores desde fuera del ámbito de registro hay que
utilizar el operador @ de anulación de ambigüedades:
Para acceder a los valores desde ámbitos de registro anidados, utilice el operador @ con el nombre de la tabla
en la que opera y use el patrón Tabla[@FieldName].
Para acceder a los valores globales, como orÃgenes de datos, colecciones y variables de contexto, use el
patrón [@ObjectName] (sin designar ninguna tabla).
Si la tabla en la que se opera es una expresión, como Filtrar( tabla, ... ), entonces no se puede utilizar el operador
de anulación de ambigüedades. Solo el ámbito de registro más interno puede acceder a los campos de esta
expresión de tabla, pero sin usar el operador de anulación de ambigüedades.
Por ejemplo, imagine que tiene una colección X:
¿Qué sucede aqu� La función ParaTodo más externa define un ámbito de registro para X, que permite
acceder al campo Valor de cada registro a medida que se procesa. Puede acceder a él con tan solo usar la
palabra Valor o X[@Value].
La función ParaTodo más interna define otro ámbito de registro para Y. Puesto que esta tabla también tiene
un campo Valor definido, el uso de Valor aquà hace referencia al campo del registro de Y y ya no hace referencia
al de X. AquÃ, para acceder al campo Valor de X, es necesario usar la versión más larga con el operador de
anulación de ambigüedades.
Puesto que Y es el ámbito de registro más interno, el acceso a los campos de esta tabla no precisa de la
anulación de desambigüedades, lo que permite usar esta fórmula con el mismo resultado:
Desagrupar( ParaTodo( X, ParaTodo( Y, Valor & Texto( X[@Value] ) & [@Value] ) ), "Valor" )
Todos los ámbitos de registro ParaTodo invalidan el ámbito global. La variable de contexto Valor definida no
está disponible por su nombre sin el operador de anulación de ambigüedades. Para acceder a este valor, es
necesario usar [@Value].
Desagrupar acopla el resultado, ya que las funciones ParaTodo anidadas darán como resultado una tabla de
resultados anidados.
Sintaxis en lÃnea
Registros
Exprese registros con el uso de llaves que contienen valores de campo con nombre. Por ejemplo, puede expresar
el primer registro en la tabla al inicio de este tema mediante la utilización de la fórmula:
{ Nombre: "Chocolate", Precio: 3,95, 'Cantidad disponible': 12, 'Cantidad en pedido': 10 }
También puede insertar fórmulas dentro de otras, como se muestra en este ejemplo:
{ Nombre: Primero(Productos).Nombre, Precio: Primero(Productos).Precio * 1095 }
Puede anidar registros mediante llaves de anidación, como se muestra en este ejemplo:
{ 'Cantidad': { 'Disponible': EsteElemento.CantidadDisponible, 'EnPedido': EsteElemento.CantEnPedido
}}
Encierre cada nombre de columna que contiene un carácter especial, como un espacio o dos puntos, entre
comillas simples. Para usar una comilla simple dentro de un nombre de columna, duplÃquela.
Tenga en cuenta que el valor de la columna Precio no incluye ningún sÃmbolo de moneda, como un signo de
dólar. Dicho formato se aplicará cuando se muestre el valor.
Tablas
Puede crear una tabla mediante la utilización de la función Tabla y un conjunto de registros. Puede expresar la
tabla al inicio de este tema mediante la utilización de la fórmula:
Tabla( { Nombre: "Chocolate", Precio: 3,95, 'Cantidad disponible': 12, 'Cantidad en pedido': 10 },
{ Nombre: "Pan", Precio: 4,95, 'Cantidad disponible': 34, 'Cantidad en pedido': 0 },
{ Nombre: "Agua", Precio: 4,95, 'Cantidad disponible': 10, 'Cantidad en pedido': 0 } )
También puede anidar tablas:
Tabla( { Nombre: "Chocolate",
'Historial de cantidad': Tabla( { Trimestre: "T1", Disponible: 10, EnPedido: 10 },
{ Trimestre: "T2", Disponible: 18, EnPedido: 0 } ) } )
Tablas de valores
Puede crear tablas de una sola columna mediante la definición de valores entre corchetes. La tabla resultante
tiene una sola columna, denominada Valor.
Por ejemplo, [ 1, 2, 3, 4 ] equivale a Tabla( { Valor: 1 }, { Valor: 2 }, { Valor: 3 }, { Valor: 4 } ) y devuelve esta
tabla:
Descripción de los formularios de datos en
Microsoft PowerApps
23/03/2018 • 41 min to read • Edit Online
Agregue tres tipos de controles para que el usuario pueda buscar un registro, mostrar los detalles sobre ese
registro y editar o crear un registro:
Mostrar los detalles de un registro Control Mostrar formulario Muestra varios o todos los campos de
un solo registro.
Editar o crear un registro Control Editar formulario Actualiza uno o varios campos de un
solo registro (o cree un registro a partir
de los valores predeterminados) y
guarde esos cambios en el origen de
datos subyacente.
Ubique cada control en una pantalla distinta para que sea más fácil distinguirlos:
Tal como se describe en este tema, combine estos controles con fórmulas para crear la experiencia global del
usuario.
Requisitos previos
SuscrÃbase a PowerApps, instálelo, ábralo e inicie sesión con las mismas credenciales que usó para
suscribirse.
Aprenda a configurar un control en PowerApps.
BrowseGallery1 Muestra los registros del origen de La propiedad Items de la galerÃa está
datos Assets. establecida en una fórmula basada en
el origen de datos Assets.
NextArrow1 (en la galerÃa) Muestra la pantalla Detalles para ver La propiedad OnSelect de la flecha
varios o todos los campos del registro está establecida en esta fórmula:
actualmente seleccionado. Navigate( DetailScreen1, None )
El control principal de esta pantalla, BrowseGallery1, abarca la mayor parte de la pantalla. El usuario puede
desplazarse en la galerÃa para encontrar un registro especÃfico a fin de mostrar más campos o hacer una
actualización.
Establezca la propiedad Items de una galerÃa para que muestre los registros provenientes de un origen de
datos. Por ejemplo, establezca la propiedad en Assets para mostrar los registros de un origen de datos con ese
nombre.
NOTA
En una aplicación generada, la propiedad Elementos se establece, de manera predeterminada, en una fórmula mucho
más complicada para que el usuario pueda ordenar y buscar registros. Más adelante en este tema obtendrá
información sobre cómo crear esta fórmula; por ahora basta con la versión más sencilla.
En lugar de buscar un registro para mostrarlo o editarlo, el usuario puede crear un registro si selecciona el sÃ-
mbolo "+" que se encuentra arriba de la galerÃa. Para crear este efecto, agregue un control Image, colóquele un
sÃmbolo "+" y establezca su propiedad OnSelect en esta fórmula:
NewForm( EditForm1 ); Navigate( EditScreen1, None )
Esta fórmula abre la pantalla Editar y crear, que incluye un control Editar formulario llamado EditForm1. La
fórmula también convierte ese formulario al modo New, en el cual el formulario muestra los valores
predeterminados del origen de datos para que el usuario pueda crear fácilmente un registro desde cero.
Para examinar cualquier control que aparezca en BrowseGallery1, selecciónelo en la primera sección de la
galerÃa, lo que sirve como plantilla para todas las demás secciones. Por ejemplo, seleccione el control Etiqueta
central que se encuentra en el borde de la izquierda:
En este ejemplo, la propiedad Text del control está establecida en ThisItem.AssignedTo, que es un campo que
se encuentra en el origen de datos Assets. La propiedad Texto de los otros tres controles Etiqueta en la galerÃa
está establecida en fórmulas similares y cada control muestra un campo distinto en el origen de datos.
Seleccione el control Forma (la flecha) y confirme que la propiedad OnSelect está establecida en esta fórmula:
Navigate( DetailScreen1, None )
Si el usuario encuentra un registro en BrowseGallery1, puede seleccionar la flecha correspondiente a ese
registro para mostrar más información sobre él en DetailScreen1. Cuando selecciona una flecha, el usuario
cambia el valor de la propiedad Selected de BrowseGallery1. En esta aplicación, esa propiedad determina el
registro que aparece no solo en la pantalla DetailScreen1, sino que también en Edit and Create, si el usuario
decide actualizar el registro.
Pantalla de detalle
En la parte superior de la pantalla, aparecen tres imágenes fuera de DetailForm1 que actúan como botones y
se organizan entre las tres pantallas de la aplicación.
DetailForm1 domina esta pantalla y muestra el registro que el usuario seleccionó en la galerÃa (porque la
propiedad Item del formulario está establecida en BrowseGallery1.Selected). La propiedad DataSource del
formulario también proporciona metadatos sobre el origen de datos, como un nombre descriptivo para
mostrar para cada campo.
DetailForm1 contiene varios controles Tarjeta. Puede seleccionar el control Tarjeta mismo o el control que
contiene para encontrar información adicional.
La propiedad DataField de un control Tarjeta determina el campo que se muestra. En este caso, esa propiedad
está establecida en AssetID. La tarjeta contiene un control Etiqueta para el que la propiedad Texto está
establecida en Parent.Default. Este control muestra el valor Default de la tarjeta, que se establece a través de
la propiedad DataField.
En una aplicación generada, los controles Tarjeta están bloqueados de manera predeterminada. Cuando una
tarjeta está bloqueada, no se pueden modificar algunas propiedades, como DataField, y la barra de fórmulas
no está disponible para esas propiedades. Esta restricción permite garantizar que las personalizaciones no
interrumpan la funcionalidad básica de la aplicación generada. Sin embargo, puede modificar algunas de las
propiedades de una tarjeta y sus controles en el panel de la derecha:
En el panel de la derecha, puede seleccionar los campos que se van a mostrar y el tipo de control que mostrará
cada uno.
Pantalla de edición o creación
Esta pantalla incluye las siguientes fórmulas clave:
Tal como ocurre en la pantalla Detalles, un control de formulario, llamado EditForm1, domina la pantalla Editar
y crear. Además, la propiedad Item de EditForm1 está establecida en BrowseGallery1.Selected, por lo que
el formulario muestra el registro que el usuario seleccionó en BrowseScreen1. Si bien la pantalla Detalles
muestra cada campo como un campo de solo lectura, el usuario puede actualizar el valor de uno o más campos
con los controles en EditForm1. También usa la propiedad DataSource para tener acceso a metadatos sobre
este origen de datos, como el nombre descriptivo para mostrar de cada campo y la ubicación en la que se deben
guardar los cambios.
Si el usuario selecciona el icono "X" para cancelar una actualización, la función ResetForm descarta los
cambios que no se hayan guardado y la función Back abre la pantalla Detalles. Tanto la pantalla Detalles
como la pantalla Editar y crear muestran el mismo registro hasta que el usuario selecciona otro en
BrowseScreen1. Los campos de ese registro siguen establecidos en los valores que se guardaron más
recientemente, no en ningún cambio que el usuario haya hecho para luego abandonar.
Si el usuario cambia uno o más valores del formulario y luego selecciona el icono "marca de verificación", la
función SubmitForm envÃa los cambios del usuario al origen de datos.
Si los cambios se guardaron correctamente, se ejecuta la fórmula OnSuccess del formulario y la función
Back() abre la pantalla de detalle para mostrar el registro actualizado.
Si los cambios no se guardaron correctamente, se ejecuta la fórmula OnFailure del formulario, pero no
cambia nada porque está en blanco. La pantalla Editar y crear sigue abierta, por lo que el usuario puede
cancelar los cambios o corregir el error. LblFormError1 muestra un mensaje de error descriptivo en el que
está establecida la propiedad Error del formulario.
Al igual que con un controlMostrar formulario, un control Editar formulario contiene controles Tarjeta los
que, a su vez, contienen otros controles que muestran otros campos de un registro:
En la imagen anterior, la tarjeta seleccionada muestra el campo AssetID y contiene un control Entrada de texto
para que el usuario pueda editar el valor de ese campo. (En cambio, la pantalla de detalle muestra el mismo
campo en un control Etiqueta, que es de solo lectura). El control Entrada de texto tiene una propiedad Default,
establecida en Parent.Default. Si el usuario estuviera creando un registro en lugar de editándolo, ese control
mostrarÃa un valor inicial que el usuario podrÃa cambiar para el registro nuevo.
En el panel de la derecha, puede mostrar u ocultar cada una de las tarjetas, reorganizarlas o configurarlas para
mostrar campos en los distintos tipos de controles.
Crear una aplicación desde cero
Si comprende cómo PowerApps genera una aplicación, puede compilar una que use los mismos bloques de
creación y fórmulas que ya se analizaron en este tema.
NOTA
Si usa una lista de SharePoint o una tabla de Excel que contenga nombres de columna con espacios como origen de datos,
PowerApps reemplazará los espacios por "_x0020_". Por ejemplo, "Nombre de columna" en SharePoint o Excel
aparecerá como "Nombre_x0020_de_columna" en PowerApps cuando se muestre en el diseño de datos o se use en
una fórmula.
Para seguir el resto de este tema al pie de la letra, cree una lista de SharePoint llamada "Helado" con los
siguientes datos:
Cree una aplicación desde cero, para teléfonos, y conéctela al origen de datos.
NOTA
Las aplicaciones de tableta son muy similares, pero es posible que desee un diseño de pantalla distinto para
aprovechar al máximo el espacio adicional de la pantalla.
Los ejemplos que aparecen en el resto del tema se basan en un origen de datos llamado Helado.
Búsqueda de registros
Obtenga un fragmento de información de un registro; para ello, búsquelo en una galerÃa en una pantalla de
exploración.
1. Agregue una galerÃa Vertical y cambie el diseño a solo TÃtulo.
2. Establezca la propiedad Elementos de la galerÃa en Helado.
3. Establezca la propiedad Texto de la primera etiqueta en la galerÃa en ThisItem.Title si está establecida
en algo diferente.
Ahora la etiqueta muestra el valor del campo TÃtulo para cada registro.
4. Cambie el tamaño de la galerÃa para que llene la pantalla y establezca su propiedad
TamañoDePlantilla en 60.
La pantalla es similar a este ejemplo, el que muestra todos los registros del origen de datos:
Ver detalles
Si la galerÃa no muestra la información que desea, seleccione la flecha de un registro para abrir la pantalla de
detalles. Un control Mostrar formulario de esa pantalla muestra más campos, posiblemente todos, del registro
que seleccionó.
El control Mostrar formulario usa dos propiedades para mostrar el registro:
Propiedad DataSource. El nombre del origen de datos que contiene el registro. Esta propiedad rellena el
panel de la derecha con campos y determina el nombre para mostrar y el tipo de datos (cadena, número,
fecha, etc.) de cada campo.
Propiedad Item. El registro que se mostrará. A menudo, esta propiedad está conectada con la propiedad
Selected del control GalerÃa, por lo que el usuario puede seleccionar un registro en el control GalerÃa y
luego profundizar en ese registro.
Cuando se establece la propiedad DataSource, puede agregar y quitar campos en el panel de la derecha y
cambiar la forma en que se muestran.
En esta pantalla, los usuarios no pueden cambiar ningunos de los valores del registro, ya sea intencional o
accidentalmente. El control Mostrar formulario es un control de solo lectura, por lo que no modificará el
registro.
Para agregar un control Mostrar formulario:
1. Agregue una pantalla y, luego, agréguele un control Mostrar formulario.
2. Establezca la propiedad DataSource del control de formulario en "Helado".
En el panel de la derecha, puede seleccionar los campos que se van a mostrar en la pantalla y el tipo de tarjeta
que se mostrará para cada campo. Cuando hace cambios en el panel de la derecha, la propiedad DataField de
cada control Tarjeta se establece en el campo con el que interactuará el usuario. La pantalla debe ser similar al
ejemplo:
Por último, es necesario conectar el control Mostrar formulario con el control GalerÃa para poder ver los
detalles de un registro especÃfico. Tan pronto como se termine de establecer la propiedad Item, el primer
registro de la galerÃa aparecerá en el formulario.
Establezca la propiedad Item del control Mostrar formulario en Gallery1.Selected.
Los detalles del elemento seleccionado aparecen en el formulario.
Excelente. Ahora analizaremos la navegación: cómo un usuario abre la pantalla de detalles desde la pantalla de
galerÃa y viceversa.
Agregue un control Botón a la pantalla, establezca su propiedad Text para mostrar Back, y establezca su
propiedad OnSelect en Back().
Esta fórmula devuelve al usuario a la galerÃa cuando termina de ver los detalles.
3. Presione F5 y seleccione una flecha en la galerÃa para mostrar los detalles de un elemento.
4. Seleccione el botón Atrás para volver a la galerÃa de productos y, luego, presione Esc.
Edición de detalles
Finalmente, la última actividad central es cambiar el contenido de un registro, algo que los usuarios pueden
hacer en un control Editar formulario.
El control Editar formulario usa dos propiedades para mostrar y editar el registro:
Propiedad DataSource. El nombre del origen de datos que contiene el registro. Del mismo modo que con el
control Mostrar formulario, esta propiedad rellena el panel de la derecha con campos y determina el
nombre para mostrar y el tipo de datos (cadena, número, fecha, etc.) de cada campo. Esta propiedad
también determina si el valor de cada campo es válido antes de enviarlo al origen de datos subyacente.
Propiedad Item. El registro que se editará, que a menudo está conectado a la propiedad Selected del
control GalerÃa. AsÃ, puede seleccionar un registro en el control GalerÃa, mostrarlo en la pantalla de
detalles y editarlo en la pantalla Editar y crear.
Para agregar un control Editar formulario:
1. Agregue una pantalla y un control Editar formulario y, luego, establezca la propiedad DataSource del
formulario en "Helado".
2. Establezca la propiedad Item en Gallery1.Selected.
Ahora puede seleccionar los campos que se mostrarán en la pantalla. También puede seleccionar el tipo de
tarjeta que se mostrará para cada campo. Cuando hace cambios en el panel de la derecha, la propiedad
DataField de cada control Tarjeta se establece en el campo con el que interactuará el usuario. La pantalla debe
ser similar al ejemplo:
Estas dos propiedades son las mismas propiedades del control Mostrar formulario. Con ellas se pueden
mostrar los detalles de un registro.
El control Editar formulario va más allá y ofrece la función SubmitForm para reescribir los cambios en el
origen de datos. Puede usarla con un control de botón o imagen para guardar los cambios de un usuario.
Agregue un control Botón, establezca la propiedad Text para mostrar Guardar y establezca la propiedad
OnSelect en esta fórmula:
SubmitForm( Form1 )
Para agregar navegación desde esta pantalla y hacia ella:
1. Agregue otro control Botón, establezca la propiedad Text para mostrar Cancelar y establezca la
propiedad OnSelect en esta fórmula:
ResetForm( Form1 ); Back()
Esta fórmula descarta las ediciones no guardadas y abre la pantalla anterior.
2. Establezca la propiedad OnSuccess del formulario en Back().
Si las actualizaciones se guardan correctamente, la pantalla anterior (en este caso, la pantalla de detalles)
se abre automáticamente.
3. En la pantalla Mostrar, agregue un botón, establezca su propiedad Text para mostrar Editar y establezca
la propiedad OnSelect en esta fórmula:
Navigate( Screen3, None )
Ha compilado una aplicación básica con tres pantallas para ver y escribir datos. Para probarla, muestre la
pantalla de galerÃa y, luego, presione F5 (o seleccione el botón "Vista previa" de la flecha hacia adelante junto a
la esquina superior izquierda de la pantalla). El punto rosa indica donde el usuario toca o hace clic en la pantalla
en cada paso.
Creación de un registro
El usuario interactúa con el mismo formulario Editar para actualizar y crear registros. Cuando el usuario desea
crear un registro, la función NewForm cambia el formulario al modo New.
Si el formulario está en modo New, el valor de cada campo se establece en los valores predeterminados del
origen de datos. Se omite el registro que se proporcionó en la propiedad Item del formulario.
Cuando el usuario está listo para guardar el registro nuevo, se ejecuta SubmitForm. Una vez que el formulario
se envÃa correctamente, vuelve al modo EditMode.
En la primera pantalla, agregará un botón Nuevo:
1. En la pantalla con la galerÃa, agregue un control Botón.
2. Establezca la propiedad Text en New y su propiedad OnSelect en esta fórmula:
NewForm( Form1 ); Navigate( Screen3, None )
Esta fórmula cambia el control Editar formulario en Screen3 al modo New y se abre esa pantalla para
que el usuario pueda rellenarla.
Cuando se abre la pantalla Editar y crear, el formulario está vacÃo y listo para que el usuario agregue un
elemento. Cuando el usuario selecciona el botón Guardar, la función SubmitForm garantiza que se cree un
registro, en lugar de actualizarlo. Si el usuario selecciona el botón Cancelar, la función ResetForm vuelve a
cambiar el formulario al modo Edit y la función Back abre la pantalla para explorar la galerÃa.
Eliminación de un registro
1. En la pantalla Mostrar, agregue un botón y establezca su propiedad Text para que muestre Eliminar.
2. Establezca la propiedad OnSelect del botón en esta fórmula:
Remove( 'Ice Cream', Gallery1.Selected ); Back()
Control de errores
En esta aplicación, se produce un error si el valor de un campo no es válido, si un campo obligatorio está en
blanco, si se le desconecta de la red o si emerge cualquier otro número de problemas.
Si SubmitForm presenta un error por cualquier motivo, la propiedad Error del control Editar formulario
contiene un mensaje de error que se le mostrará al usuario. Con esta información, el usuario debe poder
corregir el problema y reenviar el cambio, o bien puede cancelar la actualización.
1. En la pantalla Editar y crear, agregue un control Etiqueta y póngalo justo debajo del botón Guardar.
Será sencillo detectar cualquier error una vez que el usuario seleccione este control para guardar los
cambios.
2. Establezca la propiedad Texto del control Etiqueta para mostrar Form1.Error.
En una aplicación que PowerApps genera a partir de los datos, la propiedad AutoHeight de este control está
establecida en true para que no se consuma espacio si no se produce ningún error. Las propiedades Height e Y
del control Editar formulario también se ajustan de forma dinámica para contemplar el crecimiento de este
control cuando se produce un error. Para más detalles, genere una aplicación a partir de los datos existentes y
revise estas propiedades. El control de cuadro de texto para los errores es muy breve cuando no se ha producido
ningún error; es posible que tenga que abrir la vista Avanzada (disponible en la pestaña Ver) para seleccionar
este control.
Actualización de datos
El origen de datos se actualiza cada vez que el usuario abre la aplicación, pero es posible que el usuario quiera
actualizar los registros en la galerÃa sin cerrar la aplicación. Agregue un botón Actualizar, de modo que el
usuario pueda seleccionarlo para actualizar manualmente los datos:
1. En la pantalla con el control GalerÃa, agregue un control Botón y establezca su propiedad Text para que
muestre Actualizar.
2. Establezca la propiedad OnSelect de este control en esta fórmula:
Refresh( 'Ice Cream' )
Búsqueda y ordenación de la galerÃa
En la aplicación que PowerApps generó a partir de los datos, no analizamos dos controles que se encuentran
en la parte superior de la pantalla de exploración. Con estos controles, el usuario puede buscar uno o varios
registros, ordenar la lista de registros en orden ascendente o descendente, o ambas acciones.
Cuando el usuario selecciona el botón de ordenación, se invierte el criterio de ordenación de la galerÃa. Para
crear este comportamiento, usamos una variable de contexto para hacer seguimiento de la dirección en que se
ordena la galerÃa. Cuando el usuario selecciona el botón, se actualiza la variable y se invierte la dirección. La
propiedad OnSelect del botón de ordenación se establece en esta fórmula: UpdateContext(
{SortDescending1: !SortDescending1} )
La función UpdateContext crea la variable de contexto SortDescending1 si todavÃa no existe. La función
leerá el valor de la variable y lo establecerá en la lógica opuesta con el operador ! . Si el valor es true, se
convierte en false. Si el valor es false, se convierte en true.
La fórmula de la propiedad Items del control GalerÃa usa esta variable de contexto junto con el texto del
control TextSearchBox1:
Desglosemos esto:
Por fuera, tenemos la función Sort, que toma tres argumentos: una tabla, un campo según el cual
ordenar y la dirección de ordenación.
La dirección de ordenación se toma de la variable de contexto que alterna cuando el usuario
selecciona el control ImageSortUpDown1. El valor true/false se traduce a las constantes Descending
y Ascending.
El campo de ordenación se fija en ApproverEmail. Si cambia los campos que aparecen en la galerÃa,
también deberá cambiar este argumento.
Por dentro, tenemos la función Filter, que toma una tabla como argumento y una expresión para
evaluar para cada registro.
La tabla es el origen de datos Assets sin procesar, que es el punto de partida antes de filtrar u ordenar.
La expresión busca una instancia de la cadena en TextSearchBox1 dentro del campo
ApproverEmail. Le recordamos que si cambia los campos que aparecen en la galerÃa, también
deberá actualizar este argumento.
Si el valor TextSearchBox1 está vacÃo, el usuario desea mostrar todos los registros y se omite la
función Filter.
Este es solo un ejemplo, porque puede crear su propia fórmula para la propiedad Items, en función de las
necesidades de la aplicación, si junta las funciones Filter, Sort y otras.
Diseño de pantalla
Hasta ahora, no hemos analizado otras formas para distribuir los controles entre las pantallas. Esto se debe a que
tiene muchas opciones y la mejor selección depende de las necesidades especÃficas de la aplicación.
Como el espacio real en las pantallas de los teléfonos es tan limitado, es probable que desee buscar, mostrar y
editar o crear formularios en distintas pantallas. En este tema, las funciones Navigate y Back abren cada
pantalla.
En una tableta, puede buscar, mostrar y editar o crear formularios en dos pantallas, o incluso en una. En el
último caso, no se requerirá la función Navigate ni la función Back.
Si el usuario trabaja en la misma pantalla, se debe tener cuidado de que el usuario no pueda cambiar la
selección de la GalerÃa porque podrÃa perder las modificaciones hechas en el control Editar formulario. Para
evitar que el usuario seleccione un registro distinto cuando todavÃa no se guardan los cambios en otro registro,
establezca la propiedad Disabled de la galerÃa en esta fórmula:
EditForm.Unsaved
Información sobre el diseño de formularios de
datos en Microsoft PowerApps
23/03/2018 • 29 min to read • Edit Online
En PowerApps, puede crear fácilmente formularios que sean a la vez atractivos y eficientes. Por ejemplo, considere
este formulario básico para grabar pedidos de ventas:
En este tutorial, se le guiará por los pasos necesarios para crear un formulario. También se examinarán
algunos temas avanzados como el cambio de tamaño dinámico de campos para llenar el espacio disponible.
Antes de comenzar
Si es la primera vez que usa PowerApps (o solo ha generado aplicaciones automáticamente), lo más
recomendable es compilar una aplicación desde cero antes de profundizar en este tema. Mediante la compilación
de una aplicación desde cero, se familiarizará con los conceptos necesarios, como agregar orÃgenes de datos y
controles, que se mencionan, pero no se explican, en este tema.
Este registro aparecerá en el formulario que se crea siguiendo los pasos que encontrará más adelante en
este mismo tema.
Agregar un formulario
1. Agregue un control Editar formulario y muévalo y cámbielo de tamaño para rellenar la pantalla bajo
la etiqueta.
En el paso siguiente, conectará el control de formulario al origen de datos Sales order mediante el panel
derecho, no la barra de fórmulas. Si usa la barra de fórmulas, el formulario no mostrará cambios de
manera predeterminada. Siempre puede mostrar todos los campos que desee activando una o varias
casillas en el panel derecho.
2. En el panel derecho, pulse o haga clic en la flecha abajo junto a No se ha seleccionado un origen de
datos y después en Sales order.
Un conjunto de campos predeterminado del origen de datos Sales order aparecerá en un diseño sencillo
de tres columnas. Sin embargo, muchos están en blanco y es posible que tarden un tiempo en quedarse en
sus posiciones finales.
3. En la propiedad Item del formulario, seleccione Gallery1.Selected.
El formulario muestra el registro que seleccionó en la galerÃa, pero es posible que el conjunto de campos
predeterminado no coincida con el que desea en el producto final.
4. En el panel derecho, oculte todos estos campos, para lo que debe desactivando su casilla:
Sales order ID
Account
Sales person
Account contact
5. Mueva el campo Order status, para lo que debe arrastrarlo a la izquierda y soltarlo en el otro lado del
campo Customer purchase order reference.
La pantalla debe ser similar al ejemplo:
NOTA
Para eliminar una tarjeta (no solo ocultarla), selecciónela y presione Supr.
El formulario no cambia visiblemente, pero tendrá más puntos de acoplamiento al arrastrar el controlador
de agarre derecho o izquierdo.
2. Para aumentar el ancho de la tarjeta Order date, arrastre hacia la derecha el controlador de agarre del
punto de acoplamiento derecho.
La tarjeta abarca cuatro de 12 columnas del formulario (o 1/3 del formulario), en lugar de solo tres de las 12
columnas del formulario (o 1/4 del formulario). Cada vez que aumenta el ancho de la tarjeta en un punto de
acoplamiento, la tarjeta abarca un 1/12 adicional del formulario.
3. Repita el paso anterior con las tarjetas Order status y Customer purchase order reference.
4. Cambie el tamaño de las tarjetas Name y Description para que ocupen seis columnas (o 1/2) del
formulario.
5. Estire las dos primeras lÃneas de la dirección de envÃo para que ocupen todo el formulario:
¡Listo! El formulario deseado, en el que se mezclan filas con distintos números de columnas, está listo:
Manipulación de los controles de una tarjeta
La dirección de entrega consta de varios datos que se desean mostrar de forma visualmente agrupada al usuario.
Cada campo permanecerá en su propia tarjeta de datos, pero se pueden manipular los controles de la tarjeta para
que se ajusten mejor juntos.
1. Seleccione la tarjeta First line of Delivery address, seleccione la etiqueta de dicha tarjeta y elimine las tres
primeras palabras del texto.
2. Seleccione la tarjeta Second line of Delivery address, seleccione la etiqueta de dicha tarjeta y elimine todo
el texto.
Puede ser tentador quitar simplemente el control de etiqueta, y en muchos casos será suficiente. Sin puede
que haya fórmulas que dependan de que dicho control esté presente. El enfoque más seguro es quitar
el texto o establecer la propiedad Visible del control en false.
3. En la misma tarjeta, mueva el cuadro de entrada de texto sobre la etiqueta para reducir el espacio entre la
primera y la segunda lÃnea de la dirección.
El alto de la tarjeta se reduce cuando su contenido ocupa menos espacio.
Ahora se va a prestar atención a la tercera lÃnea de dirección. De forma similar al paso anterior, se va a reducir el
texto de cada etiqueta para estas tarjetas y a mover el cuadro de entrada de texto a la derecha de cada etiqueta.
Estos son los pasos para la tarjeta State:
Tenga en cuenta que muchas de las tarjetas empiezan con fórmulas dinámicas para las propiedades. Por
ejemplo, el control Entrada de texto cuyo tamaño hemos cambiado y encima del que nos hemos movido tenÃa
una propiedad Ancho basada en el ancho de su control principal. Cuando se mueve o se cambia el tamaño de un
control, estas fórmulas dinámicas se reemplazan por valores estáticos. Si lo desea, puede restaurar las
fórmulas dinámicas mediante la barra de fórmulas.
Desactivar Ajustar en columnas
A veces es conveniente proporcionar un control más preciso que el pueden hacerlo las 12 columnas estándar.
Para estos casos, puede desactivar Ajustar en columnas y colocar las tarjetas manualmente. El formulario
seguirá ajustándose a 12 columnas, pero también es posible mantener presionada la tecla Alt para colocar una
tarjeta y cambiarla de tamaño manualmente como desee.
En este ejemplo, los cuatro componentes que constituyen la tercera lÃnea de la dirección tienen exactamente la
misma anchura. Pero es posible que éste no sea el diseño óptimo, ya que los nombres de ciudad son más
largos que los nombres de estado y el cuadro de entrada de texto para paÃses o regiones es corto debido a la
longitud de la etiqueta.
Para optimizar este espacio, desactive Ajustar en columnas en el panel derecho y, después, mantenga
presionada la tecla Alt mientras ajusta el tamaño y coloca estas tarjetas. Cada vez que mantenga presionada la
tecla Alt, todos los controles mostrarán subtÃtulos negros. Este comportamiento es por diseño para mostrar los
nombres de los controles.
Después de colocarlas con cuidado, se logran tamaños adecuados para cada campo y un espaciado horizontal
uniforme entre los campos:
En resumen, ¿cuáles son las diferencias cuando la opción Ajustar en columnas está activada y desactivada?
Filas desbordantes
¿Qué ocurre si las tarjetas de una fila son demasiado anchas para caber en ella? Por lo general, no es necesario
que se preocupe por esta posibilidad. Con la opción Ajustar en columnas activada, estas tres propiedades se
ajustarán automáticamente para que todo quepa en las filas sin desbordarse.
Sin embargo, con la opción Ajustar en columnas desactivada o con una propiedadAncho basada en fórmula
en una o varias de las tarjetas, puede que se desborde una fila. En este caso, las tarjetas se ajustarán
automáticamente para que se cree otra fila. Por ejemplo, se cambia manualmente la propiedad Ancho de la
tarjeta Referencia de pedido de compra de cliente (primera fila, tercer elemento) a 500:
Las tres tarjetas de la fila superior ya no caben horizontalmente y que se ha creado una fila para ajustar lo que
desborda. La coordenada Y de todas estas tarjetas sigue siendo la misma, 0, mientras que las tarjetas Nombre y
Descripción siguen teniendo 1 como valor de Y. Las tarjetas que tienen diferentes valores de Y no se combinan
en filas.
Este comportamiento se puede usar para crear un diseño totalmente dinámico en el que las tarjetas se colocan
en función de un orden Z, rellenando el mayor espacio posible antes de pasar a la siguiente fila. Para lograr este
efecto, asigne a todas las tarjetas el mismo valor de Y y use X para el orden de las tarjetas.
Rellenar espacios: WidthFit (AjusteDeAncho )
El desbordamiento del último ejemplo creaba un espacio después de Estado de pedido, que era la segunda
tarjeta de la primera fila. Se podrÃan ajustar manualmente los valores de la propiedad Ancho de las dos tarjetas
restantes para llenar este espacio, pero este método es tedioso.
Como alternativa, use la propiedad WidthFit (AjusteDeAncho). Si esta propiedad establecida en True en una o
varias tarjetas de una fila, el espacio restante de la fila se dividirá uniformemente entre ellas. A este
comportamiento es a lo que se debe que antes se indicara que la propiedad Ancho de una tarjeta es un mÃnimo y
que lo que se ve en realidad puede ser más ancho. Esta propiedad nunca hará que una tarjeta encoja, solo que se
expanda.
Si en WidthFit (AjusteDeAncho) se selecciona true en la tarjeta Order status, rellena el espacio disponible,
mientras que la primera tarjeta permanece sin cambios:
Si WidthFit (AjusteDeAncho) también se establece en true en la tarjeta Fecha de pedido, ambas tarjetas se
dividirán uniformemente el espacio disponible:
Observe que los controles de agarre en estas tarjetas tienen en cuenta el ancho adicional proporcionado por
WidthFit (AjusteDeAncho), no el ancho mÃnimo proporcionado por la propiedad Ancho. Puede resultar confuso
manipular la propiedad Ancho con la propiedad WidthFit (AjusteDeAncho) activada; puede desactivarla, realizar
cambios en Ancho y volver a activarla.
¿Cuando podrÃa ser útil WidthFit (AjusteDeAncho)? Si tiene un campo que se usa solo en determinadas
situaciones, puede establecer su propiedad Visible en false y las restantes tarjetas de la fila rellenarán
automáticamente el espacio alrededor de ella. Puede usar una fórmula que muestre un campo solo cuando otro
campo tenga un valor determinado.
En este caso, se establecerá la propiedad Visible del campo Estado de pedido en un valor false estático:
Con la segunda tarjeta eliminada en la práctica, la tercera tarjeta ahora puede volver a la misma fila que la
primera. La primera tarjeta aún tiene la propiedad WidthFit (AjusteDeAncho) establecida en true, por lo que es la
única que se expande para rellenar el espacio disponible.
Dado que Order status no se ve, no se puede seleccionar fácilmente en el lienzo. Sin embargo, puede seleccionar
cualquier control, visible o no, de la lista jerárquica de controles en el lado izquierdo de la pantalla.
Alto
La propiedad Alto rige la altura de cada tarjeta. Las tarjetas tienen el equivalente de WidthFit (AjusteDeAncho)
para Alto, y siempre se establece en true. Imagine que un existe una propiedad HeightFit (AjusteDeAlto), pero no
lo busca en el producto porque dicha propiedad aún no está expuesta.
No se puede desactivar este comportamiento, por lo que cambiar la altura de las tarjetas puede ser complicado.
Todas las tarjetas de una fila parecen tener la misma altura que la tarjeta más alta. La fila podrÃa ser similar a la
siguiente:
¿Qué tarjeta determina la altura de la fila? En el gráfico anterior, la tarjeta Importe total está seleccionada y
parece alta, pero su propiedad Alto está establecida en 80 (la misma altura que la primera fila). Para reducir el
alto de una fila, debe reducir la propiedad Alto de la tarjeta más alta de dicha fila, pero dicha tarjeta no se puede
identificar sin examinar la propiedad Alto de cada tarjeta.
AutoHeight (AlturaAutomà ¡tica)
U na tarjeta también puede ser más alta de lo esperable si contiene un control cuya propiedad AutoHeight
(AlturaAutomática) está establecida en true. Por ejemplo, muchas tarjetas contienen una etiqueta que muestra
un mensaje de error si el valor del campo provoca un problema de validación.
Si no hay texto para mostrar (no hay error), la etiqueta se contrae a una altura de valor cero. Si no lo supiera, no se
darÃa cuenta de que está ahÃ, que es como deberÃa ser:
La propiedad Texto de este control está establecida en Parent.Error, que se usa para obtener información de
error dinámica basada en reglas de validación. Con fines meramente ilustrativos, vamos a establecer de manera
estática la propiedad Texto de este control, lo que aumentará su altura (y, por extensión, la de la tarjeta) para
acomodarse a la longitud del texto:
Si el mensaje de error es un poco más largo, de nuevo el control y la tarjeta crecen para darle cabida. Tenga en
cuenta que la fila en general crece a lo alto, conservando la alineación vertical entre las tarjetas:
Tarjetas de datos
23/03/2018 • 16 min to read • Edit Online
Los controles Card son los componentes fundamentales de los controles Edit form y Display form. El formulario
representa todo el registro y cada tarjeta representa un único campo de ese registro.
Puede interactuar con las tarjetas más fácilmente en el panel derecho después de seleccionar un control de
formulario en el área de trabajo de diseño. En este panel, puede elegir los campos que desea mostrar, cómo
mostrarlos y en qué orden. En este ejemplo se muestra un control Formulario de edición en una aplicación
que se crea a partir de una lista de SharePoint denominada Assets.
Para empezar a trabajar con las tarjetas, consulte cómo agregar un formulario y cómo entender los formularios
de datos. En el resto de este tema se explica con más detalle cómo funcionan las tarjetas y cómo puede
personalizar o incluso crear las suyas propias.
Tarjetas predefinidas
PowerApps ofrece un conjunto predefinido de tarjetas para cadenas, números y otros tipos de datos. En el panel
derecho, puede ver las variaciones disponibles y cambiar la tarjeta usada para un campo:
En este ejemplo, se ha seleccionado una tarjeta con una sola lÃnea de texto, pero el texto de la dirección URL
ocupa más de lo que se puede mostrar en una única lÃnea. Vamos a cambiarla a una tarjeta con múltiples lÃ-
neas de texto para ofrecer a nuestros usuarios más espacio para editar:
Algunos de los campos de este origen de datos no se muestran, pero puede mostrar u ocultar un campo
seleccionando su casilla. En este ejemplo se explica cómo mostrar el campo SecurityCode.
2. Seleccione el control Text Input situado dentro de la tarjeta pulsando o haciendo clic en el propio control
de entrada.
3. Mueva este control dentro de la tarjeta arrastrando el cuadro de selección y cambie su tamaño
arrastrando los controladores a lo largo del borde del cuadro de selección:
Puede cambiar el tamaño de los controles de una tarjeta, moverlos y realizar otras modificaciones, pero no puede
eliminarla sin desbloquearla primero.
Pulse o haga clic en la pancarta que aparece en la parte superior para desbloquear la tarjeta y poder modificar
estas propiedades:
Vamos a modificar DisplayName para agregar un espacio entre Asset e ID. Al realizar este cambio, estamos
alterando lo que se ha generado automáticamente. En el panel derecho, esta tarjeta tiene una etiqueta distinta:
Ahora hemos tomado el control de esta tarjeta y podemos modificarla para que se ajuste a nuestras necesidades.
Pero hemos perdido la capacidad que tenÃamos antes de cambiar la tarjeta de una representación a otra (por
ejemplo, de texto de una sola lÃnea a texto de múltiples lÃneas). Hemos transformado la tarjeta predefinida en
una "tarjeta personalizada" sobre la que tenemos control.
IMPORTANTE
Si ha desbloqueado una tarjeta, no podrá volver a bloquearla. Para volver al estado de bloqueo, quite la tarjeta y vuelva a
insertarla en el panel derecho.
Puede cambiar la apariencia y el comportamiento de una tarjeta desbloqueada de varias formas como, por
ejemplo, con la adición y eliminación de los controles dentro de ella. Por ejemplo, puede agregar una forma de
estrella desde el menú Iconos de la pestaña Insertar.
Ahora, la estrella forma parte de la tarjeta y se moverá con ella si, por ejemplo, reordena las tarjetas en el
formulario.
Como otro ejemplo, desbloquee la tarjeta ImageURL y, a continuación, agregue un control Image en ella
mediante la pestaña Insertar:
En la barra de fórmulas, establezca la propiedad Image de este control en TextBox.Text, en la que TextBox es el
nombre del control Entrada de texto que contiene la URL:
SUGERENCIA
Presione la tecla Alt para mostrar el nombre de cada control.
Ahora ya podemos ver las imágenes y editar sus direcciones URL. Observe que podrÃamos haber usado
Parent.Default como la propiedad Image, pero no se habrÃa actualizado si el usuario hubiera cambiado la
dirección URL.
Podemos hacer lo mismo en la segunda pantalla de esta aplicación, en la que usamos un control Formulario de
presentación para mostrar los detalles de un registro. En este caso, es posible que queramos ocultar la etiqueta
(establezca la propiedad Visible de la etiqueta, no la tarjeta, en false) porque el usuario no editará la dirección
URL en esa pantalla:
Interactuar con un formulario
Después de desbloquear una tarjeta, puede cambiar la forma en que interactúa con el formulario que la
contiene.
Más adelante se muestran algunas directrices sobre cómo deben funcionar los controles con su tarjeta y cómo
deben funcionar las tarjetas con el formulario. Se trata únicamente de directrices. Como ocurre con todos los
controles de PowerApps, puede crear fórmulas que hagan referencia a cualquier otro control de PowerApps, y lo
mismo ocurre para las tarjetas y los controles dentro de estas. Sea creativo: puede crear una aplicación de muchas
maneras.
Propiedad DataField
La propiedad más importante de la tarjeta es DataField. Esta propiedad controla la validación, qué campo se
actualiza y otros aspectos de la tarjeta.
Información que entra
Como contenedor, el formulario pone ThisItem a disposición de todas las tarjetas que incluye. Este registro
contiene todos los campos del registro actual de interés.
La propiedad Default de todas las tarjetas debe establecerse como ThisItem.FieldName. En determinadas
circunstancias, es posible que le interese transformar este valor cuando lo especifique. Por ejemplo, es posible que
desee dar formato a una cadena o traducir el valor de un idioma a otro.
Todos los controles de la tarjeta deben hacer referencia a Parent.Default para tener acceso al valor del campo.
Esta estrategia proporciona un nivel de encapsulación para la tarjeta, de forma que la propiedad Default de esta
pueda cambiar sin que lo hagan sus fórmulas internas.
De forma predeterminada, las propiedades DefaultValue y Required se toman de los metadatos del origen de
datos basándose en la propiedad DataField. Puede reemplazar estas fórmulas con su propia lógica, integrando
los metadatos del origen de datos mediante el uso de la función DataSourceInfo.
Información que sale
Después de que el usuario modifique un registro usando los controles de las tarjetas, la función SubmitForm
guarda esos cambios en el origen de datos. Cuando se ejecuta esa función, el control de formulario lee los valores
de la propiedad DataField de cada tarjeta para saber qué campo debe cambiar.
El control de formulario también lee el valor de la propiedad Update de cada tarjeta. Este valor se almacenará
en el origen de datos para este campo. Este es el lugar para aplicar otra transformación, quizás para revertir la
transformación que se ha aplicado en la fórmula Default de la tarjeta.
La propiedad Valid se toma de los metadatos del origen de datos, basándose en la propiedad DataField.
También depende de la propiedad Required y de si la propiedad Update contiene un valor. Si el valor de la
propiedad Update no es válido, la propiedad Error proporciona un mensaje de error descriptivo.
Si la propiedad DataField de una tarjeta está en blanco, la tarjeta sencillamente es un contenedor de controles.
Sus propiedades Valid y Update no participan cuando se envÃa el formulario.
Examinar un ejemplo
Echemos un vistazo a los controles que componen una tarjeta de entrada de datos básica. Se ha aumentado el
espacio entre controles para mostrar cada uno de ellos de forma más clara:
Mantenga presionada la tecla Alt para mostrar los nombres de los controles que componen esta tarjeta:
Para rellenar estos controles con datos, se pueden tomar sus propiedades de las propiedades de la tarjeta a
través de estas fórmulas claves. Tenga en cuenta que ninguna de estas fórmulas hace referencia a un campo
especÃfico. En su lugar, toda la información procede de la tarjeta.
Para extraer información de estos controles y volver a insertarla en el origen de datos, tenemos las siguientes
fórmulas clave:
Si ha usado otra herramienta de programación como Visual Basic o JavaScript, probablemente se pregunte:
¿dónde están las variables? PowerApps es ligeramente diferente y requiere otro enfoque. En lugar de buscar
una variable, pregúntese lo siguiente: ¿qué harÃa en Excel?
En otras herramientas, lo más probable es que haya realizado explÃcitamente un cálculo y haya almacenado el
resultado en una variable. Pero PowerApps y Excel recalculan automáticamente las fórmulas cuando los datos de
entrada cambian, por lo que normalmente no tendrá que crear ni actualizar las variables. Si adopta este enfoque
siempre que sea posible, podrá crear, comprender y mantener la aplicación más fácilmente.
En algunos casos deberá usar variables en PowerApps, que amplÃa el modelo de Excel mediante la adición de
fórmulas de comportamiento. Estas fórmulas se ejecutan cuando, por ejemplo, un usuario selecciona un botón.
Dentro de una fórmula de comportamiento, a menudo resulta útil establecer una variable para su uso en otras
fórmulas.
En general debe evitar el uso de variables, pero a veces solo una variable puede habilitar la experiencia que busca.
Excel no tiene variables. El valor de una celda que contiene una fórmula cambia en función de su entrada, pero
no es posible recordar el resultado de una fórmula y almacenarlo en una celda o en otro lugar. Si cambia el valor
de una celda, toda la hoja de cálculo podrÃa cambiar y los valores calculados previamente se perderÃan. Un
usuario de Excel puede copiar y pegar las celdas, pero esto depende del control manual del usuario y no es posible
hacerlo con las fórmulas.
PowerApps
Las aplicaciones que se crean en PowerApps se comportan de una manera muy parecida a Excel. En lugar de
actualizar las celdas, puede agregar controles donde quiera en una pantalla y asignarles un nombre para usarlos
en fórmulas.
Por ejemplo, puede replicar el comportamiento de Excel en una aplicación mediante la adición de un control
Etiqueta, denominado TextBox1 (CuadroDeTexto1), y dos controles Entrada de texto, denominados
TextInput1 (EntradaDeTexto1) y TextInput2 (EntradaDeTexto2). Si después establece la propiedad Text de
TextBox1 en TextInput1 + TextInput2, siempre mostrará automáticamente la suma de los números que se
encuentren en TextInput1 y TextInput2.
Tenga en cuenta que el control TextBox1 está seleccionado y muestra su fórmula Text en la barra de fórmulas
en la parte superior de la pantalla. Aquà se encuentra la fórmula TextInput1 + TextInput2. Esta fórmula crea
una dependencia entre estos controles, del mismo modo que se crean las dependencias entre las celdas de un
libro de Excel. Vamos a cambiar el valor de TextInput1:
Ahora, si el resultado del cálculo en TextBox1.Text es negativo, el número se mostrará en color rojo:
4. Para establecer el total acumulado en 0 cada vez que el usuario seleccione el botón Borrar, establezca su
propiedad OnSelect en esta fórmula:
Set( RunningTotal, 0 )
7. Para ver el valor de la variable global, seleccione el menú Archivo y seleccione Variables en el panel
izquierdo.
8. Para ver todos los lugares donde se define y se usa la variable, selecciónela.
Tipos de variables
Hay tres tipos de variables en PowerApps:
Todas las variables se crean implÃcitamente cuando se utilizan en las funciones Set, UpdateContext, Navegar o
Collect. No hay ninguna declaración explÃcita de variables como se hace en otras herramientas de
programación. Los tipos de las variables también se derivan implÃcitamente de los valores que se colocan en
ellas.
Todas las variables se mantienen en la memoria mientras se ejecuta la aplicación. Una vez que se cierra la
aplicación, se pierden los valores almacenados en las variables. Puede almacenar el contenido de una variable en
un origen de datos mediante las funciones Revisión o Collect, o en el caso de las colecciones, puede
almacenarlo en el dispositivo local con la función SaveData. Cuando se carga la aplicación por primera vez,
todas las variables tienen el valor en blanco.
Utilice el nombre de las variables para leer su valor. Por ejemplo, una vez definido con Set( MyColor, Red ) solo
tiene que usar MyVar en cualquier lugar en el que un valor de color se use y se reemplazará por el color rojo. Es
posible tener una variable global o una colección con el mismo nombre que una variable de contexto. En este
caso, la variable de contexto tiene prioridad. TodavÃa puede hacer referencia a la variable global o a la colección
mediante el operador de desambiguación @[MyColor].
6. Obtenga una vista previa de la aplicación y ya tiene la máquina de sumar, tal como se describió
anteriormente. Escriba un número en el cuadro de texto y presione el botón de suma varias veces.
Cuando esté listo, vuelva a la experiencia de creación mediante la tecla Esc.
7. Puede establecer el valor de una variable de contexto mientras se desplaza a una pantalla. Esto resulta útil
a la hora de pasar "contexto" o "parámetros" de una pantalla a otra. Para verlo, inserte una nueva pantalla
e inserte un botón con la propiedad AlSeleccionar establecida en:
Navegar( Screen1, None, { RunningTotal: -1000 } )
Si selecciona este botón en Screen2 (lo que puede hacer durante la creación si selecciona el botón
situado en los extremos) aparecerá Screen1 y se establecerá también la variable de contexto
RunningTotal en -1000.
8. Para ver el valor de la variable de contexto, seleccione el menú Archivo y seleccione Variables en el panel
izquierdo.
9. Para ver dónde se define y se usa la variable de contexto, selecciónela.
5. Para mostrar el total acumulado, agregue una etiqueta y establezca su propiedad Texto en esta fórmula:
Sum( PaperTape, Value )
6. Para ejecutar la máquina de sumar, presione F5 para abrir la vista previa, escriba números en el control
de entrada de texto y seleccione botones.
10. Para almacenar y recuperar la colección, agregue dos controles de botón adicionales y establezca su texto
en Cargar y Guardar. Para Cargar, establezca la propiedad AlSeleccionar en:
Clear( PaperTape ); LoadData( PaperTape, "StoredPaperTape", true )
Es necesario borrar la colección primero ya que LoadData anexará los valores almacenados al final de la
colección.
NOTA
SaveData y LoadData no funcionan cuando la ejecución tiene lugar en un explorador web. Debe usar la versión
Studio instalada en Windows o en uno de los reproductores para dispositivos móviles.
Información sobre las fórmulas de comportamiento
en PowerApps
23/03/2018 • 2 min to read • Edit Online
La mayorÃa de las fórmulas calcula un valor. Al igual que una hoja de cálculo de Excel, el cálculo nuevo se
realiza automáticamente cuando cambian los valores. Por ejemplo, es posible que desee mostrar el valor de un
control Etiqueta en rojo si el valor es menor que cero o en blanco, si no es el caso. De este modo, puede
establecer la propiedad Color de ese control en esta fórmula:
If( Value(TextBox1.Text) >= 0, Color.Black, Color.Red )
En este contexto, ¿qué significa que el usuario seleccione un control Botón? No ha cambiado ningún valor,
por lo que no es necesario hacer un cálculo nuevo. Excel no tiene un equivalente a un control Botón.
Al seleccionar un control Botón, el usuario inicia una secuencia de acciones, o comportamientos, que cambiará
el estado de la aplicación:
Cambiar la pantalla que se muestra: funciones Back y Navigate.
Controlar una señal: funciones Enable y Disable.
Actualizar o quitar elementos de un origen de datos: funciones Refresh, Update, UpdateIf, Patch, Remove,
RemoveIf.
Actualizar una variable de contexto: función UpdateContext.
Crear, actualizar o quitar elementos de una colección: funciones Collect, Clear, ClearCollect.
Como estas funciones cambian el estado de la aplicación, no se pueden volver a calcular automáticamente.
Puede usarlas en las fórmulas para las propiedades OnSelect, OnVisible, OnHidden, además de otras
propiedades del tipo On..., que se llaman fórmulas de comportamiento.
Mà ¡s de una acción
Use puntos y comas para crear una lista de acciones a realizar. Por ejemplo, es posible que desee actualizar una
variable de contexto y, luego, volver a la pantalla anterior:
UpdateContext( { x: 1 } ); Back()
Las acciones se realizan en el orden en que aparecen en la fórmula. La función siguiente no se iniciará hasta
que se complete la función actual. Si se produce un error, no se iniciarán las funciones subsiguientes.
Mostrar texto y dar formato a fechas y horas en
PowerApps
23/03/2018 • 17 min to read • Edit Online
Agregue fechas y horas y deles formato para mostrar el nivel de detalle adecuado o para reflejar la configuración
regional. Calcule el tiempo entre dos fechas o calcule una fecha que esté cierto tiempo antes o después de una
fecha que especifique. Convierta fechas en y desde valores independientes para dÃas, meses y años, y convierta
horas en y desde valores independientes para horas, minutos y segundos.
Por ejemplo, agregue datos de usuarios sobre operaciones con acciones o reuniones con clientes, de un origen
externo o de otra aplicación creada en PowerApps. Si esos datos incluyen horas detalladas hasta el milisegundo,
redondéelas al minuto más cercano para simplificarlas. Calcule cuántos dÃas quedan hasta un hito importante.
Si desea programar reuniones con los clientes cada cinco dÃas, calcule esas fechas automáticamente. Si el 10 de
mayo de 1985 está almacenado en campos independientes para el dÃa, el mes y el año, consolide esos campos
en un solo valor. También puede dividir cada fecha en valores independientes si su aplicación los administra
por separado.
Requisitos previos
SuscrÃbase a PowerApps, instálelo, ábralo e inicie sesión con las mismas credenciales que usó para
suscribirse.
Cree una aplicación o abra una existente en PowerApps.
Aprenda a configurar un control en PowerApps.
ShowText muestra el número de dÃas entre hoy y la fecha que haya escrito en BirthDate. Si la fecha de
su cumpleaños ya ha pasado este año, ShowText muestra un valor negativo.
NOTA
Las funciones DateTimeValue y DateValue pueden convertir en valores fechas que estén en cualquiera de estos
formatos:
MM/DD/AAAA
DD/MM/AAAA
DD Mes AAAA
Mes DD, AAAA
1. Agregue un control Text input denominado ArrivalDateTime y escriba una fecha y una hora en este formato:
5/10/85 6:15 AM
2. Agregue un control Etiqueta denominado ShowDate y establezca su propiedad Texto en esta fórmula:
DateTimeValue(ArrivalDateTime.Text)
ShowDate muestra la misma información que ha escrito, pero se ha convertido de texto a un valor y se le
ha aplicado un formato distinto. Por ejemplo, el año aparece como cuatro dÃgitos en lugar de
simplemente dos.
3. Cambie la propiedad Text de ShowDate a esta fórmula:
DateTimeValue(ArrivalDateTime.Text, "fr")
ShowDate muestra el dÃa antes del mes, tal y como esperarÃa un usuario francés.
SUGERENCIA
Para mostrar una lista de otras configuraciones regionales en Intellisense, quite las comillas de cierre y fr de la
fórmula, pero conserve las comillas de apertura:
4. Para utilizar uno de los varios formatos integrados, cambie la propiedad Text de ShowDate a esta
fórmula:
Text(DateTimeValue(ArrivalDateTime.Text), DateTimeFormat.LongDateTime)
5. Para usar un formato personalizado, cambie la propiedad Text de ShowDate a esta fórmula:
Text(DateTimeValue(ArrivalDateTime.Text), "mm/dd/yyyy hh:mm:ss.fff AM/PM")
ShowDate muestra el valor de fecha y hora en el formato que ha especificado, incluidos los milisegundos.
SUGERENCIA
Para redondear la hora a la décima o centésima de segundo más cercana, especifique hh:mm:ss.f o
hh:mm:ss.ff en la fórmula.
SUGERENCIA
Para redondear la hora a la décima o centésima de segundo más cercana, escriba hh:mm:ss.f o hh:mm:ss.ff en
la fórmula.
DateDiff muestra 275, que es el número de dÃas entre el 1 de abril de 2015 y el 1 de enero de 2016.
4. Establezca la propiedad Text de DateDiff en esta fórmula:
DateDiff(DateValue(Start.Text), DateValue(End.Text), Months)
DateDiff muestra 9, que es el número de meses entre el 1 de abril de 2015 y el 1 de enero de 2016.
Reemplace Months con Quarters o Years para mostrar el tiempo en trimestres o años.
DateAdd muestra 5/7/1985, que es tres dÃas antes de la fecha establecida en Start.
4. Cambie la propiedad Text de DateAdd a esta fórmula:
DateAdd(DateValue(Start.Text), 3, Months)
La etiqueta muestra 8/10/1985, que es tres meses después de la fecha establecida en Start. Reemplace
Months con Quarters o Years para identificar una fecha que tenga lugar el número especificado de
trimestres o años antes o después de la fecha establecida en Start.
La mayorÃa de las aplicaciones de PowerApps utilizan información externa almacenada en servicios en la nube
denominados OrÃgenes de datos. Uno de los ejemplos más frecuentes son tablas que pertenecen a archivos
de Excel guardados en OneDrive para la Empresa. Las aplicaciones acceder a estos orÃgenes de datos a través
de las conexiones.
En este artÃculo se describen los diferentes tipos de orÃgenes de datos y cómo trabajar con orÃgenes de datos
de tabla.
Es fácil crear una aplicación que realice las operaciones básicas de lectura y escritura a un origen de datos.
Pero a veces desea más control sobre cómo fluyen los datos dentro y fuera de la aplicación. Este artÃculo se
describe cómo proporcionan más control las funciones Patch, DataSourceInfo, Validate y Errores.
NOTA
En los orÃgenes de datos de SharePoint y Excel que contengan nombres de columna con espacios, PowerApps los
sustituirá por "_x0020_". Por ejemplo, "Nombre de columna" en SharePoint o Excel aparecerá como
"Nombre_x0020_de_columna" en PowerApps cuando se muestre en el diseño de datos o se use en una
fórmula.
El origen de datos se carga desde el servicio automáticamente cuando se carga la aplicación. Con la función
Actualizar se puede forzar la actualización de los datos.
Cuando los usuarios ejecutan una aplicación, pueden crear, modificar y eliminar registros, y aplicar esos
cambios posteriormente a la tabla subyacente del servicio.
Los registros se pueden crear con las funciones Patch y Recopilar.
Los registros se pueden modificar con las funciones Patch, Actualizar y UpdateIf.
Los registros se pueden quitar con las funciones Quitar y RemoveIf.
Los errores que se producen al trabajar con un origen de datos están disponibles a través de la
función Errores.
Las funciones DataSourceInfo, Defaults y Validate proporcionan información acerca del origen de datos
que se puede usar para optimizar la experiencia del usuario.
Creación de orÃgenes de datos
PowerApps no se puede usar para crear un origen de datos conectado ni para modificar su estructura; el origen
de datos ya debe existir en algún servicio. Por ejemplo, para crear una tabla en un libro de Excel almacenado en
OneDrive, primero es preciso usar Excel Online en OneDrive para crear un libro. Después, se crea una
conexión a él desde la aplicación.
Sin embargo, los orÃgenes de datos de la colección se pueden crear y modificar dentro de una aplicación, pero
son temporales.
Visualización de uno o varios registros
El diagrama anterior muestra el flujo de información cuando una aplicación la lee de un origen de datos:
La información se almacena y comparte a través de un servicio de almacenamiento (en este caso, una lista
de SharePoint de un sitio de Office 365).
Una conexión hace que esta información esté disponible para la aplicación. La conexión se encarga de
autenticación del usuario que va a acceder a la información.
Cuando se inicia la aplicación, o cuando se pulsa la función A, la información se extrae de la conexión y
llega a un origen de datos de la aplicación para su uso local.
Las fórmulas se usan para leer la información y exponerla en controles que el usuario pueda ver. Para
mostrar los registros de un origen de datos, use una galerÃa en una pantalla y conecte la propiedad
Elementos al origen de datos: Gallery.Items = DataSource. Para conectar los controles dentro de la galerÃa
a la galerÃa, use la propiedad Default de los controles.
El origen de datos también es una tabla. Por consiguiente, puede usar Filter, Sort, AddColumns y otras
funciones para refinar y aumentar el origen de datos antes de usar su totalidad. También puede usar
Buscar, First, Last y otras funciones para trabajar con los registros individuales.
Modificación de un registro
En la sección anterior se ha explicado cómo leer un origen de datos. Tenga en cuenta que las flechas del
diagrama anterior son unidireccionales. Los cambios en un origen de datos no se recuperan a través de la
mismas fórmulas con las que se recuperaron los datos. En su lugar, se utilizan fórmulas nuevas. A menudo no
se utiliza la misma pantalla para editar un registro que para explorar los registros, sobre todo en los dispositivos
móviles.
Tenga en cuenta que, para modificar un registro existente de un origen de datos, debe provenir originalmente del
origen de datos. El registro puede haber viajado a través de una galerÃa, una variable de contexto y cualquier
número de fórmulas, pero su origen debe de poder rastrearse hasta el origen de datos. Esto es importante
porque hay información adicional que acompaña al registro que lo identifica de forma única, lo que garantiza
que el registro que se modifica es el correcto.
Colecciones
Las colecciones son un tipo especial de origen de datos. Se encuentran en la propia aplicación y no tienen el
respaldo de una conexión a un servicio en la nube, por lo que la información no se puede compartir entre los
distintos dispositivos de un mismo usuario ni entre usuarios. Funcionan como cualquier otro origen de datos, con
algunas excepciones:
Las colecciones se pueden crear dinámicamente con la función Recopilar. No es preciso establecerse con
antelación, como debe hacerse con orÃgenes de datos basados en conexión.
Las columnas de una colección pueden modificarse en cualquier momento mediante la función Recopilar.
Las recopilaciones permiten duplicar registros. En una colección puede haber más de una copia del mismo
registro. Las funciones como Quitar operarán en la primera coincidencia que encuentran, salvo que se haya
usado el argumento Todos.
Puede usar las funciones SaveData y LoadData para guardar y volver a cargar una copia de la colección. La
información se almacena en una ubicación privada a la que no pueden acceder otros usuarios, aplicaciones
o dispositivos.
Puede usar los controles Export e Import para guardar y volver a cargar una copia de la colección en un
archivo con el que el usuario puede interactuar.
Para más información acerca de cómo trabajar con una colección como origen de datos, consulte Create and
update a collection in your app (Creación y actualización de una colección en una aplicación).
Las colecciones se usan normalmente para almacenar el estado global de la aplicación. Para conocer las
opciones disponibles para administrar el estado, consulte Trabajar con variables.
Comprensión de la integración de formularios de
SharePoint
23/03/2018 • 7 min to read • Edit Online
Ahora puede personalizar cualquier formulario de lista de SharePoint de manera fácil en PowerApps. En este artÃ-
culo, le guiaremos por los detalles de cómo funcionan estos formularios y cómo puede personalizarlos aún
más.
Si ha personalizado un formulario de una lista de SharePoint, es probable que haya observado que el formulario
generado predeterminado funciona con todas las operaciones, como crear, mostrar o editar un elemento. Esta
funcionamiento se logra con la ayuda de las fórmulas generadas y del control SharePointIntegration.
NOTA
Las propiedades del control SharePointIntegration solo están disponibles cuando el formulario se ejecuta en SharePoint, y
no es posible acceder a ellas al personalizar el formulario en PowerApps Studio.
SUGERENCIA
Establezca diferentes valores para una variable en las fórmulas OnNew, OnView y OnEdit. Puede usar esta variable
en la fórmula OnSave para determinar el formulario que usa.
Los desarrolladores tienen la posibilidad de ampliar PowerApps y crear soluciones aún más potentes para las
organizaciones y clientes.
Puede compilar aplicaciones y flujos de trabajo, sin tener que escribir nada de código, con Azure Logic Apps,
Microsoft Flow y PowerApps. Con el objetivo de ayudarle a integrar sus procesos empresariales y de datos, dichos
servicios ofrecen más de 180 conectores para productos y servicios de Microsoft, así como para otros servicios,
como GitHub, Salesforce, Twitter y más.
Sin embargo, a veces es posible que quiera llamar a API, servicios y sistemas que no están disponibles como
conectores compilados previamente. Para admitir escenarios más específicos, puede compilar conectores
personalizados con acciones y desencadenadores propios. En el sitio de la documentación sobre los conectores
encontrará un conjunto muy completo de tutoriales básicos y avanzados sobre los conectores personalizados.
Recomendamos empezar por la información general sobre los conectores personalizados, pero, si quiere, puede ir
directamente a los siguientes temas para obtener más información sobre un aspecto en concreto:
Creación de un conector personalizado a partir de una definición de OpenAPI
Creación de un conector personalizado a partir de una colección Postman
Creación de un conector personalizado desde cero
Uso de un conector personalizado a partir de una aplicación de PowerApps
Uso compartido de los conectores personalizados en la organización
Envío de conectores para obtener la certificación de Microsoft
Preguntas más frecuentes sobre los conectores personalizados
Integración de PowerApps tanto en sitios web como
en otros servicios
23/03/2018 • 6 min to read • Edit Online
Las aplicaciones que crea suelen ser más útiles cuando están disponibles allà donde las personas realizan su
trabajo. PowerApps permite insertar aplicaciones en un iframe para poder integrarlas tanto en sitios web como en
otros servicios, como Power BI o SharePoint.
En este tema se muestra cómo establecer los parámetros para la inserción de aplicaciones y, después, se
instará la aplicación Asset Ordering en un sitio web.
https://web.powerapps.com/webplayer/iframeapp?source=iframe
&appId=/providers/Microsoft.PowerApps/apps/[AppID]
NOTA
Hemos agregado un salto de lÃnea para que el identificador URI se muestre mejor en la página.
Lo único que tiene que hacer es sustituir el identificador de la aplicación por [AppID] en el identificador URI
(incluido "[' & ']"). Le mostraremos cómo obtener ese valor en breve, pero primero aquà están todos los
parámetros disponibles en el identificador URI:
[appID]: tiene el formato /providers/Microsoft.PowerApps/apps/[AppID] . Proporciona el identificador de la
aplicación que se va a ejecutar.
screenColor: se usa para proporcionar a los usuarios una mejor experiencia de carga. Este parámetro tiene el
formato RGBA (rojo, verde, azul, alfa) y controla el color de la pantalla mientras se carga la aplicación. Es mejor
establecerlo en el mismo color que el icono de la aplicación.
source: no afecta a la aplicación, pero se recomienda agregar un nombre descriptivo para hacer referencia al
origen de la aplicación insertada.
Por último, puede agregar los parámetros personalizados que desee con la función Param() y esos valores
pueden ser utilizados por la aplicación. Se agregan al final del identificador URI, como
[AppID]&param1=value1 . Estos parámetros son de solo lectura durante el inicio de la aplicación; si necesita
cambiarlos, debe volver a iniciar la aplicación.
Obtener el identificador de aplicación
El identificador de la aplicación está disponible en powerapps.com. Para la aplicación que desea insertar:
1. En powerapps.com, en la pestaña Aplicaciones, pulse o haga clic en los puntos suspensivos (... ) y, a
continuación, seleccione Detalles.
https://web.powerapps.com/webplayer/iframeapp?
source=iframe&appId=/providers/Microsoft.PowerApps/apps/76897698-91a8-b2de-756e-fe2774f114f2
Especifique los valores de ancho y alto del iframe y sustituya el identificador de la aplicación por [AppID] .
NOTA
Incluya allow="geolocation; microphone; camera" en el código HTML de iframe para permitir que las aplicaciones usen
estas funcionalidades en Google Chrome.
La siguiente imagen muestra la aplicación "Pedido de activos" insertada en un sitio web de ejemplo de Contoso.
Tenga en cuenta los puntos siguientes para autenticar a los usuarios de la aplicación:
Si el sitio web usa autenticación basada en Azure Active Directory (AAD), no será necesario ningún inicio de
sesión adicional.
Si el sitio web utiliza cualquier otro mecanismo de inicio de sesión o no está autenticado, los usuarios verán
un mensaje de inicio de sesión en el iframe. Después de iniciar sesión, podrán ejecutar la aplicación
siempre y cuando el autor de la aplicación la haya compartido con ellos.
Como ve, insertar aplicaciones es fácil y eficaz. La inserción le permite llevar las aplicaciones a los lugares en los
que usted y sus clientes trabajan (sitios web, paneles de Power BI y páginas de SharePoint, entre otros).
Desarrollar aplicaciones que puedan ejecutarse sin
conexión con PowerApps
23/03/2018 • 11 min to read • Edit Online
Uno de los escenarios más comunes a los que se enfrenta como desarrollador de aplicaciones móviles es
posibilitar que sus usuarios puedan ser productivos cuando hay conectividad limitada o no hay ninguna
conectividad. PowerApps tiene un conjunto de caracterÃsticas y comportamientos que le ayudarán a desarrollar
aplicaciones que puedan ejecutarse sin conexión. Podrá:
Iniciar la aplicación móvil de PowerApps cuando esté sin conexión.
Ejecutar las aplicaciones que desarrolle cuando esté sin conexión.
Determinar si una aplicación está sin conexión, en lÃnea o en una conexión de uso medido mediante el
objeto de señal conexión.
Usar colecciones y aprovechar funciones como LoadData y SaveData para el almacenamiento de datos básico
cuando esté sin conexión.
If(Connection.Connected,
);
SaveData(LocalTweets, "Tweets")
Esta fórmula comprueba si el dispositivo está en lÃnea. Si lo está, el texto de la etiqueta es "Conectado", en caso
contrario es "Sin conexión".
Paso 6: Agregar una entrada de texto para redactar nuevos tweets
1. Inserte un nuevo control Entrada de texto denominado "NewTweetTextInput".
2. Establezca la propiedad Reset de la entrada de texto a resetNewTweet.
Paso 7: Agregar un botón para enviar el tweet
1. Agregue un control Botón y establezca la propiedad Texto en "Tweet".
2. Establezca la propiedad AlSeleccionar en la fórmula siguiente:
If (Connection.Connected,
SaveData(LocalTweetsToPost, "LocalTweetsToPost")
);
UpdateContext({resetNewTweet: true});
UpdateContext({resetNewTweet: false})
If(Connection.Connected,
Clear(LocalTweetsToPost);
SaveData(LocalTweetsToPost, "LocalTweetsToPost");
Esta fórmula comprueba si el dispositivo está en lÃnea. Si es asÃ, la aplicación envÃa los tweets de todos los
elementos de la colección LocalTweetsToPost. A continuación, borra la colección.
Ahora que la aplicación está terminada, comprobemos su aspecto antes de comenzar con las pruebas. A la
izquierda, la aplicación está conectada; y a la derecha, está sin conexión, con un tweet listo para su envÃo
cuando esté en lÃnea nuevo.
Probar la aplicación
Para probar la aplicación, siga estos pasos:
1. Ejecute PowerApps en un dispositivo móvil que esté en lÃnea. Debe ejecutar la aplicación estando en lÃnea
al menos una vez para que la aplicación pueda descargarse en el dispositivo.
2. Inicie la aplicación de Twitter.
3. Observe que se cargan los tweets y que muestra el estado Conectado.
4. Cierre PowerApps completamente.
5. Establezca el dispositivo en modo de avión para asegurarse de que está sin conexión.
6. Ejecute PowerApps. Ahora puede ejecutar la aplicación de Twitter sin conexión y tener acceso a cualquier otra
aplicación que ya haya ejecutado en este dispositivo mientras estaba en lÃnea (es decir, PowerApps oculta las
aplicaciones que aún no se ha descargado en el dispositivo).
7. Vuelva a ejecutar la aplicación.
8. Observe que refleja correctamente el estado de conexión, con un estado de Sin conexión.
9. Escriba un nuevo tweet. Se almacenará localmente en la colección LocalTweetsToPost.
10. Salga del modo avión. Después de que se active el temporizador, la aplicación envÃa el tweet.
Esperamos que este artÃculo le haya proporcionado una idea de las funcionalidades que tiene PowerApps para la
creación de aplicaciones sin conexión. Como siempre, proporcione sus comentarios en nuestro foro y comparta
sus ejemplos de aplicaciones sin conexión en el Blog de la Comunidad de PowerApps.
Proporcionar a los clientes una versión de prueba de
las aplicaciones en AppSource
23/03/2018 • 8 min to read • Edit Online
¿Es un apasionado de la creación de aplicaciones en PowerApps? ¿Tiene una aplicación que le gustarÃa
compartir con los clientes? Ahora se admiten soluciones de versiones de prueba de PowerApps en AppSource.com
como una manera de compartir aplicaciones con los clientes y generar clientes potenciales para su empresa.
Importe estas dos tablas en PowerApps mediante la opción Agregar datos estáticos a la aplicación.
Ahora dispone de las tablas como orÃgenes de datos en la aplicación.
ClearCollect(SiteInspectorCollect,SiteInspector); ClearCollect(SitePhotosCollect,SitePhotos)
La fórmula borra ambas colecciones y, a continuación, recopila los datos de cada tabla en la colección adecuada:
Llame a esta fórmula en alguna parte de la aplicación para cargar los datos.
Para ver todas las colecciones de la aplicación, vaya a Archivo > Colecciones.
Para más información, consulte Crear y actualizar una colección en la aplicación.
Ahora, si desea tener acceso al campo Title, use SiteInspectorCollect.Title en la fórmula.
Paso 3: Agregar, actualizar y eliminar datos de la aplicación
Ha visto cómo leer datos directamente y desde una colección; ahora, vamos a mostrarle cómo agregar,
actualizar y eliminar datos de una colección:
Para agregar una fila a una colección, use Collect( DataSource, Item, ... ):
Collect(SiteInspectorCollect,{ID:Value(Max(SiteInspectorCollect, ID)+1),
Title:TitleText.Text,SubTitle:SubTitleText.Text,Description:DescriptionText.Text)
Para actualizar una fila de una colección, use UpdateIf( DataSource, Condition1, ChangeRecord1 [, Condition2,
ChangeRecord2, ...] ):
UpdateIf(SiteInspectorCollect,ID=record.ID,
{Title:TitleEditText.Text,SubTitle:SubTitleEditText.Text,Description:DescriptionEditText.Text)
Para eliminar una fila de una colección, use RemoveIf( DataSource, Condition [, ...] ):
RemoveIf(SiteInspectorCollect,ID=record.ID)
NOTA
Las colecciones contienen datos solo mientras se ejecuta la aplicación; los cambios se descartan cuando se cierra la
aplicación.
En resumen, puede crear una versión de la aplicación con datos insertados, que simula la experiencia de la
aplicación con conexión a datos externos. Después de insertar los datos, estará listo para publicar la
aplicación como una solución de versión de prueba en AppSource.com.
Ahora puede personalizar fácilmente cualquier formulario de lista de SharePoint en PowerApps. Gran parte de lo
que hacÃa con InfoPath para personalizar formularios de lista de SharePoint puede hacerlo ahora en lÃnea en un
explorador con PowerApps. Pero, PowerApps ofrece además muchas otras posibilidades.
PowerApps está directamente integrado en SharePoint: no es necesario descargar otra aplicación en el equipo. Y
con PowerApps, puede crear formularios enormemente personalizados sin necesidad de escribir código. Una vez
publicados, los formularios se insertan en la lista de SharePoint y están disponibles para todos los usuarios de la
lista.
Y como PowerApps se integra perfectamente en SharePoint, no es necesario administrar los formularios desde
dos lugares: los permisos se heredan y se administran en SharePoint. Lo mejor de todo es que al tener PowerApps
integrado con SharePoint, dispone de acceso a muchas caracterÃsticas eficaces, como informes de análisis, reglas
sencillas de apuntar y hacer clic para el formato condicional y conexiones a otros orÃgenes de datos.
¿Está preparado para empezar a personalizar? ¡Pues vamos a ello!
En la lista de SharePoint, pulse o haga clic en PowerApps en la barra de comandos y, a continuación, pulse o
haga clic en Customize forms (Personalizar formularios). Esta acción le lleva a PowerApps Studio para web en
un explorador, donde PowerApps genera una aplicación de formulario de una única pantalla, como se muestra
en el ejemplo siguiente.
Para volver a la lista de SharePoint en cualquier momento, pulse o haga clic en Volver a SharePoint en la
esquina superior izquierda de PowerApps Studio para web.
Ocultar el campo es muy sencillo en PowerApps en las opciones de personalización del formulario, solo tiene que
desactivar la casilla AccountID.
Para obtener instrucciones paso a paso sobre cómo ocultar campos y realizar otros cambios en el formulario,
consulte Customize forms in PowerApps (Personalización de los formularios en PowerApps). Para ver una lista
completa de los recursos, consulte Microsoft PowerApps docs (Documentos de Microsoft PowerApps).
2. Si desea personalizar aún más el formulario, pulse o haga clic en Personalizar y, a continuación, realice
los cambios. Cuando haya terminado, asegúrese de guardar los cambios.
Puede personalizar el formulario y guardar los cambios tantas veces como desee, pero dichos cambios no
serán visibles en SharePoint hasta que pulse o haga clic en Publicar en SharePoint.
NOTA
Si no ve el botón Ver todas las versiones, pulse o haga clic en Guardar. DeberÃa aparecer el botón.
3. Sin cerrar la página Versiones o la pestaña del explorador, vuelva a la página Guardar en la otra
pestaña del explorador, pulse o haga clic en la flecha en la parte superior del panel de navegación
izquierdo y, a continuación, pulse o haga clic en Volver a SharePoint para desbloquear el formulario y
salir de PowerApps Studio para web.
4. Vuelva a la página Versiones de la otra pestaña del explorador, busque la versión que quiere restaurar
y, luego, haga clic en Restaurar.
NOTA
Si recibe un mensaje de error que indica que la restauración no se pudo realizar porque otro usuario ha bloqueado
el formulario, espere a que el usuario lo desbloquee y, a continuación, vuelva a intentarlo.
Cree su propia aplicación desde cero mediante cualquiera de los orÃgenes de datos existentes. Posteriormente,
podrá agregar más orÃgenes si lo desea. Especifique la apariencia y el comportamiento de cada elemento de
la interfaz de usuario para que pueda obtener el mejor resultado de acuerdo con sus objetivos y el flujo de
trabajo especificados. Este enfoque es mucho más lento que crear una aplicación automáticamente, pero los
creadores de aplicaciones con experiencia pueden crear aplicaciones mejor adaptadas a sus necesidades.
NOTA
Este tema se ha escrito para PowerApps Studio para Windows, pero los pasos serán similares si abre PowerApps en un
explorador.
Si sigue este tutorial, creará una aplicación que contiene dos pantallas. En una pantalla, los usuarios pueden
navegar a través de un conjunto de registros:
En la otra pantalla, los usuarios pueden crear un registro, actualizar uno o varios campos de un registro o
eliminar uno:
Requisitos previos
Puede consultar este tutorial para ver los conceptos generales o puede seguirlo exactamente y completar estos
pasos.
1. Copie estos datos y péguelos en un archivo de Excel.
2. Dé a los datos un formato de tabla, llamada Programa, para que PowerApps pueda analizar la
información.
Para más información, consulte Crear o eliminar una tabla de Excel.
3. Guarde el archivo con el nombre eventsignup.xlsy, a continuación, cárguelo en una cuenta de
almacenamiento en la nube, como OneDrive.
4. Si no está familiarizado con PowerApps:
Aprenda cómo agregar un control y establecer sus propiedades. Esto determinará el aspecto y el
comportamiento del control.
Aprenda cómo agregar y cambiar el nombre de una pantalla.
Crear una aplicación vacÃa y conexión a los datos
1. En PowerApps Studio, pulse o haga clic en Nuevo en el menú Archivo (cerca del borde izquierdo de la
pantalla).
2. En el icono Blank app (Aplicación vacÃa), pulse o haga clic en Phone layout (Diseño de teléfono).
3. Si se le solicita, realice el paseo introductorio para comprender las principales áreas de PowerApps (o
haga clic o pulse en Omitir).
Siempre puede realizar el paseo más tarde haciendo clic o pulsando en el icono del signo de
interrogación situado cerca de la esquina superior izquierda de la pantalla y, a continuación, haciendo
clic o pulsando en Take the intro tour (Realizar paseo introductorio).
4. En la barra de navegación izquierda, haga clic o pulse en uno de los iconos de la esquina superior
derecha para cambiar a la vista en miniatura.
8. En Choose a table (Elegir una tabla), seleccione la casilla Programación y, a continuación, haga clic o
pulse en Conectar.
La pestaña OrÃgenes de datos del panel derecho muestra qué orÃgenes de datos ha agregado a la
aplicación.
Este tutorial requiere un único origen de datos, pero puede agregar más orÃgenes de datos
posteriormente.
3. En el panel derecho, abra la lista Diseños y haga clic o pulse en la opción que muestra un tÃtulo, un
subtÃtulo y el cuerpo.
4. En la lista de propiedades, haga clic o pulse en Items, copie esta fórmula y péguela en la barra de
fórmulas:
SortByColumns(Search(Schedule, TextSearchBox1.Text, "Volunteer_x0020_1"),
"Volunteer_x0020_1", If(SortDescending1, SortOrder.Descending, SortOrder.Ascending))
Si no está seguro de dónde está la lista de propiedades, consulte cómo agregar y configurar
controles.
NOTA
En los orÃgenes de datos de SharePoint y Excel que contienen nombres de columna con espacios, PowerApps los
muestra como "_x0020_". En este ejemplo, la columna "Volunteer 1" aparece en una fórmula tal que
"Volunteer_x0020_1".
3. En la pestaña Insertar, haga clic o pulse en Texto y luego haga clic o pulse en Etiqueta.
4. Configure el control Etiqueta que acaba de agregar:
Establezca la propiedad Text en esta fórmula:
"Cambiar registro"
Establezca la propiedad Fill en esta fórmula:
RGBA(62, 96, 170, 1).
Establezca su propiedad Color en esta fórmula:
RGBA(255, 255, 255, 1)
Establezca su propiedad Align en Center.
Establezca su propiedad X en 0.
Establezca su propiedad Width en 640. El control Etiqueta refleja los cambios.
Agregar y configurar un formulario
1. En la pestaña Insertar, pulse o haga clic en Formularios y, a continuación, en Editar.
2. Mueva y cambie el tamaño del formulario para que cubra la mayor parte de la pantalla.
El formulario se denominará Form1 de forma predeterminada a menos que ya haya agregado y quitado
algún formulario. En ese caso, cambie el nombre del formulario a Form1.
3. Establezca la propiedad DataSource de Form1 en Schedule.
4. Establezca la propiedad Item de Form1 en esta expresión:
BrowseGallery1.Selected
5. En el panel derecho, haga clic o pulse en la casilla de cada campo para mostrarlo.
6. En la parte inferior de la pantalla, pulse o haga clic en Agregar una tarjeta personalizada.
7. Agregue un control Etiqueta en la nueva tarjeta.
8. Establezca la propiedad AutoHeight del nuevo control en true y su propiedad Text en esta fórmula:
Form1.Error
La etiqueta mostrará cualquier error del formulario.
9. En la barra de navegación izquierda, pulse o haga clic en la miniatura de ChangeScreen para
seleccionarla.
10. En la pestaña Insertar, pulse o haga clic en Iconos, pulse o haga clic en la opción para agregar una
flecha Anterior y, a continuación, mueva la flecha a la esquina inferior izquierda de la pantalla.
11. Establezca la propiedad AlSeleccionar de la flecha en esta fórmula:
ResetForm(Form1);Navigate(ViewScreen,ScreenTransition.None)
Cuando el usuario pulse o haga clic en la flecha, la función Navigate abre la pantalla ViewScreen.
12. Agregue un control Botón en el formulario y establezca la propiedad Text del botón en "Save".
Ejecutar la aplicación
A medida que personaliza la aplicación, pruebe los cambios mediante la ejecución de la aplicación en el modo
de vista previa como se describe en los pasos de esta sección.
1. En la barra de navegación izquierda, pulse o haga clic en la miniatura superior para seleccionar
ViewScreen.
2. Abra el modo de vista previa presionando F5 (o haga clic o pulse en el icono de vista previa situado
cerca de la esquina superior derecha).
3. Haga clic o pulse en la flecha siguiente para que un registro muestre los detalles sobre él.
4. En la pantalla ChangeScreen, cambie la información de uno o varios campos y, a continuación, pulse o
haga clic en Guardar para guardar los cambios, pulse o haga clic en Quitar para eliminar el registro.
5. Cierre el modo de vista previa presionando Esc (o haciendo clic o pulsando en el icono Cerrar en la barra
de tÃtulo).
Pasos siguientes
Presione Ctrl-S para guardar la aplicación en la nube para que se pueda ejecutar desde otros dispositivos.
Comparta la aplicación para que otras personas puedan ejecutarla.
Obtenga más información sobre galerÃas, formularios y fórmulas.
Adición y configuración de un control en
PowerApps
23/03/2018 • 16 min to read • Edit Online
Requisitos previos
1. SuscrÃbase a PowerApps, instálelo, ábralo e inicie sesión con las mismas credenciales que usó
para suscribirse.
2. En PowerApps Studio, pulse o haga clic en Nuevo en el menú Archivo (cerca del borde izquierdo).
3. En el icono Blank app (Aplicación vacÃa), pulse o haga clic en Phone layout (Diseño de
teléfono).
4. Si se le pide que realice un paseo introductorio, haga clic o pulse en Siguiente para familiarizarse con
las áreas principales de la interfaz de PowerApps (o haga clic o pulse en Omitir).
Siempre puede realizar el paseo más tarde haciendo clic o pulsando en el icono del signo de
interrogación situado cerca de la esquina superior derecha de la pantalla y, a continuación, haciendo
clic o pulsando en Take the intro tour (Realizar paseo introductorio).
Adición de un control
Puede agregar cualquier control en diversas categorÃas, para lo que debe hacer clic o pulsar en la pestaña
Insertar de la barra de herramientas, a continuación, en una categorÃa y, finalmente, en el control que
desea. En esta sección, revise los controles de cada categorÃa para familiarizarse con los tipos de controles
que se pueden añadir y dónde puede encontrarse cada tipo.
En la pestaña Insertar, pulse o haga clic en cualquiera de estas categorÃas y luego pulse o haga clic en el
control que desea agregar:
Texto: Etiqueta, Entrada de texto, Texto HTML, Entrada manuscrita
Controles: Botón, Lista desplegable, Selector de fecha, Cuadro de lista, Casilla, Radio, Alternar, Control
deslizante, Clasificación, Temporizador
GalerÃa: Vertical, Horizontal, Flexible height (Alto flexible), Blank vertical (Blanco vertical), Blank horizontal
(Blanco horizontal), Blank flexible height (Blanco alto flexible)
Tabla de datos
Formularios: Editar, Mostrar, Entity form (Formulario de la entidad)
Elementos multimedia: Imagen, Cámara, Código de barras, VÃdeo, Audio, Micrófono, Agregar imagen
Gráficos: Gráfico de columnas, Gráfico de lÃneas, Gráfico circular
Iconos
SUGERENCIA
Si necesita más espacio para controles, agregue otra pantalla.
2. Reduzca la anchura del control Etiqueta arrastrando un controlador del borde derecho del cuadro de
selección hacia la izquierda. El controlador central solo aparece al acercar la imagen.
También es posible cambiar el tamaño de un control si modifica sus propiedades Altura, Ancho o
ambas, como se describe más adelante en este tema.
3. Mueva el control Etiqueta arrastrando el propio cuadro de selección (o modificando las propiedades
X, Y o ambas, como se describe más adelante en este tema).
4. Haga clic tres veces en el texto que aparece en el control Etiqueta y escriba Hola, mundo.
También puede definir la propiedad Texto de este control para modificar este texto, como se
describe más adelante en este tema.
2. Pulse o haga clic en Rellenar y, a continuación, pulse o haga clic en un color como aguamarina.
3. Cambie la familia de fuentes y el tamaño del texto (por ejemplo, a 18 ptos. Georgia).
El control Etiqueta reflejará la selección.
4. Haga clic o pulse en el icono de relleno del panel Propiedades y, a continuación, haga clic o pulse en
un color.
El control Etiqueta reflejará la selección.
6. Para eliminar el segundo control Etiqueta, pulse o haga clic en él y presione Suprimir.
SUGERENCIA
Hay varias formas de dar formato a las fechas y horas, además de realizar cálculos en ellas.
3. Mueva el control Casilla de forma que aparezca debajo del control Etiqueta y establezca la propiedad
Texto del control Casilla para que aparezca Mostrar texto.
4. Con el control Casilla aún seleccionado, haga clic o pulse en su nombre justo encima de la pestaña
Propiedades y, a continuación, escriba MyCheckbox
8. Pulse o haga clic en el control Casilla para agregar el cuadro de selección y, a continuación, haga clic
en él o púlselo de nuevo para agregar una marca de verificación.
El control Etiqueta vuelve a aparecer:
Para buscar un control, escriba uno o varios caracteres para resaltar los nombres de los controles
que contienen el texto que escribe.
Si pulsa o hace clic en un resultado de búsqueda, selecciona ese control en la aplicación.
Para mover una pantalla arriba o abajo, duplicarla, eliminarla o cambiar su nombre, haga clic
en ella con el botón derecho (o pulse y haga clic en el botón de puntos suspensivos situado al lado) y
luego pulse o haga clic en la opción que desea.
Para copiar y pegar un control, eliminarlo o cambiar su nombre, haga clic en él con el botón
secundario (o pulse y haga clic en el botón de puntos suspensivos situado al lado) y, a continuación,
pulse o haga clic en la opción que desea.
Agregar una pantalla y desplazarse por diferentes
pantallas
23/03/2018 • 2 min to read • Edit Online
Cree una aplicación con varias pantallas e incorpore mecanismos que permitan a los usuarios desplazarse por
ellas.
Requisitos previos
Tiene que saber configurar un control.
Tiene que crear o abrir una aplicación.
2. En el panel derecho, haga clic o pulse en el nombre de la pantalla (justo encima de la pestaña
Propiedades) y, a continuación, escriba el nuevo nombre Source.
Cuando un usuario pulsa o hace clic en la flecha, comienza a aparecer la pantalla Target.
4. En la pantalla Target, agregue el icono Flecha atrás y establezca la propiedad AlSeleccionar en esta
fórmula:
Navigate(Origen, ScreenTransition.Fade)
5. Abra el modo de vista previa ( o presione F5) y pase de una pantalla a otra pulsando o haciendo clic en
las flechas que agregó.
6. Presione Esc para volver al área de trabajo predeterminada.
Adición de una conexión de datos en PowerApps
22/03/2018 • 6 min to read • Edit Online
En PowerApps, añada una conexión de datos a una aplicación existente o a una que se cree desde cero. En
este tema se utiliza PowerApps Studio, pero también puede usar powerapps.com, como se describe en el
tema Administración de conexiones.
La conexión de datos de la aplicación puede conectarse a SharePoint, Salesforce, OneDrive o a cualquiera de
muchos otros orÃgenes de datos.
Tras este artÃculo, el próximo paso será mostrar y administrar la información del origen de datos de la
aplicación, como en estos ejemplos:
Conéctese a OneDrive y administre datos en un libro de Excel en su aplicación.
Conéctese a Twilio y envÃe un mensaje SMS desde la aplicación.
Conéctese a SQL Server y actualice una tabla desde la aplicación.
Requisitos previos
SuscrÃbase a PowerApps, instálelo, ábralo e inicie sesión con las mismas credenciales que usó para
suscribirse.
5. Pulse o haga clic en Nueva conexión para mostrar una lista de conectores.
6. Desplácese por la lista de conectores hasta el tipo de conexión que desea crear (por ejemplo, Office
365 Outlook) y, a continuación, haga clic en él o púlselo.
7. Pulse o haga clic en Crear para crear la conexión y agregarla a la aplicación.
Algunos conectores, como Microsoft Translator, no requieren ningún paso adicional y puede mostrar
datos procedentes de ellos inmediatamente. Otros conectores le pedirán que proporcione las
credenciales, especifique un conjunto determinado de datos o que realice otros pasos. Por ejemplo,
SharePoint y SQL Server requieren información adicional antes de poder utilizarlas.
2. Para mostrar más información acerca del origen de datos o para cambiarlo, pulse o haga clic en Data
(Datos) en el panel derecho.
3. Para cambiar el origen de datos, pulse o haga clic en la flecha abajo que hay junto al origen de datos y, a
continuación, elija o cree otro origen.
Pasos siguientes
Para mostrar y actualizar datos en un origen como Excel, SharePoint o SQL Server, agregue una galerÃa y un
formulario.
Para datos de otros orÃgenes, utilice funciones especÃficas de conectores como los de Office 365 Outlook,
Twitter y Microsoft Translator.
Mostrar una lista de elementos en PowerApps
23/03/2018 • 8 min to read • Edit Online
Muestre una lista de elementos de cualquier origen de datos mediante la adición de un control GalerÃa a la
aplicación. En este tema se utiliza Excel como origen de datos. Filtre la lista mediante la configuración del control
GalerÃa para mostrar únicamente aquellos elementos que coinciden con el criterio de filtro en un control
Entrada de texto.
Requisitos previos
Aprenda a agregar y configurar un control en PowerApps.
Configure los datos de ejemplo:
1. Descargue este archivo de Excel, que contiene datos de ejemplo para este tutorial.
2. Cargue el archivo de Excel en una cuenta de almacenamiento en la nube, como OneDrive para la
Empresa.
NOTA
Si agrega un control GalerÃa a una pantalla nueva o a una existente, puede hacer clic o pulsar cerca de la parte
inferior del control GalerÃa para seleccionarlo, pulsar o hacer clic en Flooring Estimates en el panel derecho y,
después, pulsar o hacer clic en otro diseño del panel Datos. Para este tutorial, deje el diseño predeterminado.
2. Con la plantilla aún seleccionada, agregue un control Etiqueta y, después, muévalo y ajuste su
tamaño para que no se superponga con otros controles de la plantilla.
3. Abra el panel Data (Datos), para lo que debe seleccionar la plantilla y, después, pulsar o hacer clic en
Flooring Estimates en el panel derecho.
4. Seleccione la etiqueta que ha agregado en este procedimiento y abra la lista resaltada en el panel Data
(Datos).
1. Seleccione el control GalerÃa, para lo que debe hacer clic o pulsar cerca de la parte inferior del control
GalerÃa.
2. En la pestaña Opciones avanzadas, establezca la pestañaElementos del control GalerÃa en esta
fórmula:
If(IsBlank(TextSearchBox1.Text), FlooringEstimates, Filter(FlooringEstimates,
TextSearchBox1.Text in Text(Name)))
Para más información acerca de las funciones de esta fórmula, consulte la referencia de las fórmulas.
3. Escriba una parte o la totalidad de un nombre de producto en el cuadro de búsqueda.
El control GalerÃa muestra solo los elementos que cumplen el criterio de filtro.
Orden del control GalerÃa
La propiedad Elementos de un control GalerÃa determina el orden en que muestra los elementos. En este
procedimiento, configurará esa propiedad para que el control GalerÃa muestra el orden de los elementos
según lo establecido por ImageSortUpDown1.
Pasos siguientes
Aprenda a trabajar con formularios y fórmulas.
Mostrar elementos de alturas diferentes en una
galerÃa de PowerApps
23/03/2018 • 5 min to read • Edit Online
Si diferentes elementos del conjunto de datos contienen diferentes cantidades de datos en el mismo campo, puede
mostrar por completo los elementos que contienen más datos sin tener que agregar espacio vacÃo después de
los elementos que contienen menos datos. Agregue y configure un control de galerÃa Altura flexible para que
pueda:
Configure controles Etiqueta para que se expandan o se reduzcan según su contenido.
Coloque cada control para que aparezca automáticamente bajo el control de encima.
En este tutorial, va a mostrar datos sobre productos para el suelo en un control de galerÃa Altura flexible. La
imagen de cada producto aparece 5 pÃxeles por debajo de la información general, tanto si esta contiene cinco lÃ-
neas de texto como solo dos.
Lectura recomendada
Si nunca ha agregado los controles a una galerÃa, siga los pasos descritos en Mostrar una lista de elementos antes
de continuar en este tema.
Aplique el mismo concepto se aplica si desea agregar más controles: establezca la propiedad Y de cada control en
función de las propiedades Y y Altura del control situado por encima de él.
Pasos siguientes
Aprenda a trabajar con un control GalerÃa y fórmulas.
Mostrar, editar o agregar un registro de una tabla en
PowerApps
23/03/2018 • 4 min to read • Edit Online
Para mostrar todos los campos de un registro, agregue y configure un control Formulario de presentación.
Para editar cualquier campo de un registro (o para agregar un registro) y guardar los cambios en un origen de
datos, agregue y configure un control Edit form.
Requisitos previos
Aprenda a agregar y configurar un control en PowerApps.
Descargue este archivo de Excel, que contiene datos de ejemplo para este tutorial.
Cargue el archivo de Excel en una cuenta de almacenamiento en la nube, como OneDrive para la Empresa.
En una aplicación nueva o existente, agregue una conexión a la tabla FlooringEstimates del archivo de
Excel.
Si usa una aplicación existente, agregue una pantalla.
NOTA
Si no está seguro de cómo agregar un control, cambiar su nombre o establecer una propiedad, consulte Adición y
configuración de un control en PowerApps.
NOTA
Si el panel Data (Datos) está cerrado, para abrirlo es preciso seleccionar el formulario del panel izquierdo y,
después, pulsar o hacer clic en Data (Datos) en el panel derecho.
5. En el panel Data (Datos), arrastre la entrada Name al principio de la lista.
2. Desplácese hacia abajo y, a continuación, pulse o haga clic en la opción Ver texto para hacer que el
campo sea de solo lectura.
El formulario reflejará el cambio.
2. Pulse o haga clic en Cambiar nombre y, después, cambie el nombre del formulario EditForm.
3. Agregue un control Botón y establezca su propiedad Texto en Save.
6. Cambie el nombre de un producto y, a continuación, pulse o haga clic en el botón Save que ha creado.
La función SubmitForm guarda los cambios en el origen de datos con el que ha configurado el
formulario.
7. (opcional) Seleccione el icono Cerrar para cerrar la vista previa (o presione Esc).
Pasos siguientes
Más información sobre formularios y galerÃas.
Mostrar información sobre un usuario de PowerApps
23/03/2018 • 2 min to read • Edit Online
La función User puede mostrar el nombre completo, la dirección de correo electrónico y la imagen asociada con
el usuario que ha iniciado sesión. Puede utilizar esta información para rellenar automáticamente un formulario.
Por ejemplo, puede utilizar esta caracterÃstica para:
Crear una "hoja" de inicio de sesión para que los usuarios asistan al curso, ir como voluntario a eventos,
inscribirse en un quiosco, etc.
Mostrar el nombre completo en una aplicación de recursos humanos.
Especificar automáticamente una dirección de correo electrónico automáticamente al ponerse en contacto
con el departamento de soporte técnico.
Básicamente, puede usar la caracterÃstica en cualquier lugar en el que los usuarios se beneficien de un formulario
o etiquetas que se rellenen automáticamente
Requisitos previos
RegÃstrese en PowerApps e instálelo. Cuando abra PowerApps, inicie sesión con las mismas credenciales que
usó para registrarse.
Cree una aplicación a partir de una plantilla, de datos o desde cero.
Aprenda a agregar y configurar controles.
3. En la pestaña Insertar, haga clic o pulse en Texto y, a continuación, haga clic o pulse en Etiqueta:
4. Establezca la propiedad Text en esta fórmula:
User().FullName
Al hacerlo, la etiqueta se rellena automáticamente con su nombre completo. Mueva la etiqueta para que
esté bajo el control de imagen, de forma similar a la siguiente:
PowerApps incluye opciones de selección múltiple y de selección única, como un cuadro de lista, una lista
desplegable y botones de selección. En este tema, añadiremos estos controles y usaremos una fórmula de
Tabla para crear las listas. Cuando se selecciona un elemento de la lista, se actualizan otros controles.
Requisitos previos
RegÃstrese en PowerApps e instálelo. Cuando abra PowerApps, inicie sesión con las mismas credenciales que
usó para registrarse.
Cree una aplicación a partir de una plantilla, de datos o desde cero.
Aprenda a agregar y configurar controles.
5. Añada un triángulo y un rectángulo y, a continuación, disponga las formas en una fila bajo el control
Cuadro de lista:
6. Defina la propiedad Visible de las formas siguientes con las funciones indicadas a continuación:
7. Obtenga una vista previa de lo que ha creado: . Seleccione las diferentes formas en el control Cuadro de
lista. Solo se mostrarán aquellas formas que seleccione. Presione Esc o seleccione X para volver a la
pantalla.
En estos pasos, ha utilizado una expresión para crear una lista de elementos en un control Cuadro de lista. En
función de lo que se seleccione en el control Cuadro de lista, se muestran distintas formas. Esto es aplicable a
otros elementos de su negocio. Por ejemplo, puede usar un control Cuadro de lista para mostrar imágenes de
productos, descripciones de productos, etc.
3. Cambie el nombre del control Botón de selección por Choices y establezca la siguiente fórmula para la
propiedad Elementos:
["red","green","blue"]
Si es necesario, cambie el tamaño del control para mostrar todas las opciones.
4. En la pestaña Insertar, seleccione Iconos y, a continuación, seleccione el cÃrculo.
5. Defina la siguiente función para la propiedad Fill del cÃrculo:
If(Choices.Selected.Value = "red", RGBA(192, 0, 0, 1), Choices.Selected.Value = "green", RGBA(0, 176, 80,
1), Choices.Selected.Value = "blue", RGBA(0, 32, 96, 1))
En esta fórmula, el cÃrculo cambia de color dependiendo de qué botón de selección elija.
6. Sitúe el cÃrculo bajo el control Botón de selección, como en este ejemplo:
7. Obtenga una vista previa de lo que ha creado: . Elija un botón de selección diferente para cambiar el
color del cÃrculo. Presione Esc o seleccione X para volver a la pantalla.
4. Obtenga una vista previa de lo que ha creado: . Seleccione las diferentes opciones para cambiar el color
del cÃrculo.
Cómo vincular listas de SharePoint mediante
campos de búsqueda
23/03/2018 • 9 min to read • Edit Online
En este tutorial se muestra cómo se pueden conectar dos listas de SharePoint con campos de búsqueda.
Información general
SharePoint proporciona dos tipos de campos de búsqueda:
Búsqueda: vincula a otra lista: por ejemplo, una lista Orders puede tener un campo de búsqueda que vincule
a los clientes de una lista Customer;
Elección: al hacer clic o pulsar en el campo, se muestra un pequeño menú de elementos entre los que
elegir.
En este tutorial, compilará una aplicación que usa estos tipos de campos de búsqueda.
 ¿Para qué se usan los campos de búsqueda?
Los datos de una empresa son numerosos y complejos. Los datos de una lista de SharePoint a menudo están
relacionados con los de otra lista. Los campos de búsqueda son la principal forma de unir dichos datos
empresariales.
Por ejemplo, podrÃa tener una lista Orders que tenga un campo de búsqueda que vincule a una lista Customers
para mostrar el cliente que realizó el pedido. El campo de búsqueda de la lista Orders también permite obtener
otros datos de la lista Customers. También podrÃa usar un campo de búsqueda para conectar la lista Orders a
una lista Product y obtener la información necesaria sobre el producto pedido, como imágenes del producto,
especificaciones, detalles del fabricante, etc.
 ¿Para qué se usan los campos Elección?
Los campos Elección se usan para listas muy cortas, pero en lugar de crear realmente una lista independiente, se
incluyen los valores de la lista en un pequeño menú, que aparece al pulsar o hacer clic en el campo Elección,
en el que debe seleccionar uno de los valores.
Algunos ejemplos son datos como el código de estado de cliente, la disponibilidad de los productos, los códigos
de los estados y básicamente cualquier lista fija que sea relativamente corta. De hecho, estos datos se podrÃan
implementar como listas independientes y, luego, utilizar un campo Búsqueda para vincularlos, pero
normalmente resulta más fácil y rápido implementarlos como campos Elección.
3. Agregue un campo AssetType del tipo Elección y, en el cuadro de texto Escriba cada opción en una lÃ-
nea distinta, escriba los valores que desee que aparezcan en el menú para elegir. Luego pulse o haga clic
en Aceptar.
4. Empiece a agregar otro campo. Al igual que en el paso 2, pulse o haga clic en el signo más y elija Más.
5. Agregue un campo RepairShop del tipo Búsqueda, elija RepairShop en el cuadro de texto Obtener
información de y elija ContactEmail en el cuadro de texto En esta columna. Luego pulse o haga clic en
Aceptar.
6. Agregue los campos adicionales que desee.
3. Elija su sitio de SharePoint en la lista Sitios recientes o escriba la URL de su sitio directamente en el cuadro
de texto. Pulse o haga clic en Ir.
4. Elija la lista principal desde el sitio de SharePoint; en este ejemplo, Assets. Pulse o haga clic en el botón
Conectar, situado en la esquina inferior derecha.
5. Pulse o haga clic en la flecha desplegable de RepairShop. Elija una de las entradas.
6. En la esquina superior derecha, pulse o haga clic en la marca de verificación para guardar la nueva entrada.
7. (Opcional) Repita este procedimiento para agregar tantos elementos a la lista como desee.
8. Presione Esc para volver al área de trabajo predeterminada.
Más información
Introducing support for lookups and a new sample app (Presentación del soporte técnico para búsquedas y
una nueva aplicación de ejemplo)
Performance, Refresh button, ForAll, and multiple field lookups (Rendimiento, botón Actualizar, ForAll y
búsquedas en varios campos)
Generate an app by using a Common Data Service database (Generar una aplicación mediante una base de
datos de Common Data Service)
Create an app from scratch using a Common Data Service database (Crear una aplicación desde cero mediante
una base de datos de Common Data Service)
Visualización de datos en un gráfico de lÃneas,
circular o de barras en PowerApps
23/03/2018 • 4 min to read • Edit Online
Use gráficos de lÃneas, gráficos circulares y gráficos de barras para mostrar los datos. Al trabajar con gráficos,
los datos que importe deben estar estructurados de la manera siguiente:
Todas las series deben estar en la primera fila.
Las etiquetas deben estar en la columna izquierda.
Por ejemplo, los datos deben tener un aspecto similar al siguiente:
Requisitos previos
RegÃstrese en PowerApps e instálelo. Cuando abra PowerApps, inicie sesión con las mismas credenciales que
usó para registrarse.
Cree una aplicación a partir de una plantilla, de datos o desde cero.
Aprenda a configurar un control en PowerApps.
Descargue ChartData.zip, que contiene datos de ejemplo como un archivo XML. Siga los pasos descritos en este
tema para importarlo directamente desde su aplicación. Como alternativa, descomprima el archivo .zip, abra el
archivo XML en Excel y guárdelo en una cuenta de almacenamiento en la nube.
3. Presione F5 para abrir el modo de vista previa y seleccione el botón Importar datos.
4. En el cuadro de diálogo Abrir, elija ChartData.zip, seleccione Abrir y, después, presione Esc.
5. En el menú Archivo, seleccione Colecciones.
Aparece la colección ProductRevenue con los datos de gráfico que ha importado:
NOTA
El control de importación se usa para importar datos en forma de Excel y crear la colección. El control de
importación importa los datos cuando se crea la aplicación y se obtiene una vista previa de esta. Actualmente, el
control de importación no importa datos cuando se publica la aplicación.
En este tema, aprenderá a insertar archivos multimedia en la aplicación, a cargar dibujos en un origen de datos y
a mostrar imágenes procedentes de un origen de datos en la aplicación. El origen de datos que vamos a usar en
este tema es un archivo de Excel guardado en OneDrive para la Empresa.
Requisitos previos
RegÃstrese en PowerApps e instálelo. Cuando abra PowerApps, inicie sesión con las mismas credenciales que
usó para registrarse.
7. Si agrega un control de vÃdeo o audio, establezca la propiedad Media (Multimedia) en el archivo que
agregó:
NOTA
Para reproducir un vÃdeo de YouTube, la propiedad Media (Multimedia) del control de vÃdeo tiene que establecerse
en la dirección URL correspondiente, que debe escribirse entre comillas dobles.
Ahora, el archivo de Excel tiene formato de tabla. Para más información sobre el formato de tabla
de Excel, consulte Aplicar formato a una tabla de Excel.
d. Asigne a la tabla el nombre Drawings:
Más información
No olvide probar la aplicación en diferentes plataformas, como en una ventana del explorador y en un teléfono.
Para más información sobre escenarios más avanzados en los que el contenido multimedia se carga
directamente en un origen de datos distinto, consulte algunas sugerencias de profesionales para capturar
imágenes y descubra cómo usar conectores personalizados para cargar imágenes.
Otra forma de cargar archivos en un origen de datos consiste en usar la función Patch.
Examinar un código de barras en Microsoft
PowerApps
23/03/2018 • 7 min to read • Edit Online
Escanee varios tipos de códigos de barras creando una aplicación y ejecutándola en un dispositivo, como un
teléfono con cámara. El equivalente numérico del código de barras aparece en un control Etiqueta, y puede
cargar esos datos en diversos orÃgenes de datos.
Si no está familiarizado con PowerApps, consulte Introducción.
Limitaciones conocidas
Los códigos de barras deben ser al menos de 1" (2,5 cm) de alto y 1,5" (4 cm) de ancho.
Para examinar los códigos de barras con un teléfono, manténgalo en orientación vertical y muévalo
lentamente de 7"(18 cm) hasta 10" (25 cm) de distancia del código de barras.
Los tipos de código de barras largos (por ejemplo, I2of5, que puede tener 15 o más caracteres) pueden dar
resultados truncados o incorrectos, especialmente si el código de barras no se imprime con claridad.
Para iPhone y dispositivos Android, puede especificar la propiedad Height del control Barcode, pero una
relación de aspecto fija determina su ancho.
Tendrá que establecer la propiedad Scanrate del control Barcode en 35 o menos.
Para retrasar la situación de quedarse sin memoria en los dispositivos con iOS, establezca la propiedad Height
del control Barcode en 700 (o inferior) y la propiedad Scanrate en 30.
Si el dispositivo se queda sin memoria y la aplicación se bloquea, reinicie la aplicación.
3. Si no ha usado PowerApps antes, familiarÃcese con las áreas clave de la aplicación haciendo un paseo
introductorio (o haga clic o pulse en Omitir).
NOTA
Siempre puede realizar el paseo más tarde haciendo clic o pulsando en el icono del signo de interrogación situado
cerca de la esquina superior derecha de la pantalla y, a continuación, haciendo clic o pulsando en Take the intro
tour (Realizar paseo introductorio).
2. Asegúrese de que el control Barcode esté seleccionado. Para ello, confirme que se encuentra rodeado
por un cuadro de selección (con controladores para cambiar el tamaño del control).
3. En la pestaña Inicio, haga clic o pulse en Barcode1 y, a continuación, escriba o pegue MyScanner en
Cambiar nombre.
SUGERENCIA
El primer control Barcode que agregue tendrá el nombre Barcode1 de forma predeterminada. Si elimina ese
control y agrega otro control Barcode, se denominará Barcode2 de forma predeterminada. Al cambiar
manualmente el nombre de un control, se asegura de que las fórmulas harán referencia al control por su nombre
correcto.
Agregar un control Text input
1. En la pestaña Insertar, haga clic o pulse en Text, y, a continuación, en Text input.
Si la pestaña Insertar no aparece, maximice la ventana de PowerApps.
2. Arrastre el cuadro de selección (no los controladores de cambio de tamaño) alrededor del control Text
input hacia abajo hasta que aparezca debajo de MyScanner.
3. Con el control Text input aún seleccionado, asegúrese de que aparece Default en la lista de propiedades
y, a continuación, escriba o pegue MyScanner.Text en la barra de fórmulas.
3. Con el control Drop down aún seleccionado, asegúrese de que la lista de propiedades muestra Items y, a
continuación, escriba o pegue esta cadena de texto en la barra de fórmulas:
[Codabar, Code128, Code39, Ean, I2of5, Upc]
5. Haga clic o pulse en MyScanner para seleccionarlo, asegúrese de que la lista de propiedades muestra
BarcodeType y, a continuación, escriba o pegue esta cadena en la barra de fórmula:
ElegirTipo.Valor.Seleccionado
Probar la aplicación
1. Para abrir el modo de vista previa, presione F5 (o haga clic o pulse en el icono de reproducción situado
cerca de la esquina superior derecha).
2. Mantenga el código de barras en la cámara del dispositivo hasta que aparezca el componente numérico
de la barra de código en el control Etiqueta.
Si no aparece el componente numérico, pruebe una opción distinta en la lista BarcodeType. Si siguen
sin aparecer los datos correctos, escriba el número correcto en el control Input text.
Pasos siguientes
Conecte la aplicación a un origen de datos y configure la función Patch de forma que los usuarios puedan
guardar los resultados.
Agregue un control Drop down y configúrelo para que los usuarios puedan elegir el tipo de código de barras
que deseen examinar.
Agregue un control Slider y configúrelo para que los usuarios puedan ajustar la frecuencia de exploración o
el alto del control Barcode.
Inicio de un flujo en una aplicación
23/03/2018 • 5 min to read • Edit Online
Microsoft Flow se puede usar para crear lógica que realice una o varias tareas cuando se produce un evento en
una aplicación. Por ejemplo, configure un botón para que cuando un usuario lo seleccione, se cree un elemento
en una lista de SharePoint, se envÃe un correo electrónico o una convocatoria de reunión, se agregue un archivo
a la nube o se realicen todas estas acciones. Puede configurar que el flujo pueda iniciarlo cualquier control de la
aplicación, que continúa ejecutándose aunque cierre PowerApps.
Requisitos previos
SuscrÃbase a PowerApps y, después, siga estos pasos:
En la Tienda Windows, instale PowerApps Studio para Windows, ábralo e inicie sesión con las mismas
credenciales que usó para suscribirse.
En powerapps.com, abra PowerApps Studio para web haciendo clic o pulsando en Nueva aplicación en
la esquina inferior izquierda.
Tiene que saber configurar un control.
Creación de un flujo
1. Inicie sesión en powerapps.com y seleccione Flujos en la barra de navegación izquierda.
2. En la página Mis flujos, seleccione Crear desde cero.
4. En el cuadro que dice Buscar todos los servicios y acciones, especifique una acción para el flujo, como en
el ejemplo:
a. Escriba SharePoint en el cuadro y seleccione SharePoint - Create item (SharePoint: crear elemento)
en la lista Acciones.
NOTA
Especifique la dirección URL del sitio, sin incluir la lista.
NOTA
Si el flujo que ha creado no está disponible, compruebe si PowerApps está establecido en el entorno en el que lo
creó.
7. En la barra de fórmulas, escriba o pegue RecordTitle.Text) al final de la fórmula que se han agregado
automáticamente.
Probar la aplicación
1. Abra Versión preliminar, para lo que debe presionar F5 (o seleccione la flecha que hay cerca de la esquina
superior derecha).
Cree una pantalla por la que puedan desplazarse los usuarios para ver diferentes elementos. Por ejemplo, es
posible que quiera crear una aplicación en la que los datos aparezcan en un gráfico de columnas y en un gráfico
de lÃneas. Si agrega una pantalla de desplazamiento, podrá incorporar diferentes controles que los usuarios
podrán ver al desplazarse.
Cuando se agregan varios controles en una sección, estos mantienen su posición relativa en dicha sección tanto
si se trata de una aplicación para el teléfono como de una aplicación para la tableta. Tenga en cuenta que el
tamaño y la orientación de la pantalla pueden determinar la organización de las secciones.
Requisitos previos
RegÃstrese en PowerApps e instálelo. Cuando abra PowerApps, inicie sesión con las mismas credenciales que
usó para registrarse.
Cree una aplicación a partir de una plantilla, de datos o desde cero.
Aprenda a agregar y configurar controles.
2. En la pestaña Inicio, pulse o haga clic en Diseños y en la opción que permite agregar un lienzo de
desplazamiento infinito:
Se agrega el lienzo:
Agregar elementos
Ahora, vamos a agregar algunos controles al lienzo para ver cómo funciona la pantalla de desplazamiento.
1. En el lienzo que acaba de agregar, pulse o haga clic en Agregar un elemento desde la pestaña Insertar.
4. Mueva el control de entrada manuscrita hasta situarlo bajo el gráfico y cambie su tamaño para que ocupe
la parte inferior de la tarjeta:
Agregar una sección
Ahora, vamos a agregar una nueva tarjeta con otro control.
1. En la parte inferior de la pantalla, pulse o haga clic en Agregar sección:
2. Con la tarjeta seleccionada, vaya a la pestaña Insertar y pulse o haga clic en Gráficos y en Gráfico de
lÃneas.
El nuevo gráfico es demasiado grande y no puede aparecer en la pantalla con los demás controles:
3. Para abrir el modo de vista previa, presione F5 (o haga clic o pulse en el icono de reproducción situado
cerca de la esquina superior derecha).
4. Desplácese hacia abajo para ver el nuevo gráfico de lÃneas.
Compatibilidad global
23/03/2018 • 14 min to read • Edit Online
PowerApps es un producto global. Puede crear y usar aplicaciones en muchas regiones e idiomas diferentes.
Tanto al compilar como al ejecutar aplicaciones, el texto que PowerApps muestra se ha traducido a diversos
idiomas. Verá los elementos de menú, cuadros de diálogo, pestañas de la cinta y otros textos en su idioma
nativo. La escritura y presentación de fechas y números también se ha adaptado a su idioma y región
concretos. Por ejemplo, algunas regiones del mundo usan "."como un separador decimal mientras que otros
usan",".
Las aplicaciones que cree también pueden ser globales. Use Idioma, Texto, Valor, FechaNumero y otras
funciones para adaptar lo que se muestra y se utiliza como entrada en diferentes idiomas.
Configuración de idioma
Cuando se usa el paquete Studio nativo o un reproductor nativo, el sistema operativo host especifica el idioma. En
el caso de Windows, esto puede controlarse en "Todas las configuraciones", "Hora e idioma". Windows también
permite especificar los caracteres que se va a usar como separador decimal, invalidando la configuración de
idioma.
Cuando se trabaja con la Web, es el explorador el que proporciona el idioma. La mayorÃa de los exploradores
utilizan la configuración del sistema operativo de host de forma predeterminada, y algunos permiten establecer el
idioma manualmente.
Entorno de creación
El entorno de creación se adapta a la configuración de idioma del autor. La aplicación se guarda de forma
independiente del idioma, para que los autores con distintos idiomas puedan editar la misma aplicación.
Nombres en las fórmulas
La mayorÃa de los elementos de una fórmula están siempre en inglés:
Nombres de función: If, Navigate, Collect, ...
Nombres de propiedad de los controles: Screen.Fill, Button.OnSelect, Textbox.Font, ...
Nombres de enumeración: Color.Aqua, DataSourceInfo.MaxValue, FontWeight.Bold...
Registros de señal: Compass.Heading, Location. Latitude, App.ActiveScreen, ...
Operadores: Parent, in, exactIn, ...
A medida que se localiza la experiencia de creación, los controles y otros nombres de objetos se mostrarán en el
idioma nativo del autor. En español, algunos de los nombres de los controles aparecen como:
Al insertar uno de estos elementos en la aplicación, su nombre se usará en inglés de forma predeterminada.
Esto sirve para mantener la coherencia con los nombres de propiedad de los controles y el resto de la fórmula. Por
ejemplo, Casilla se inserta como Checkbox1.
Después de insertar un control, puede cambiar el nombre por el que prefiera. Mientras está seleccionado, el
extremo izquierdo de la cinta de opciones "Contenido" muestra el nombre del control. Al seleccionar este nombre,
se despliega un cuadro de texto donde puede editarlo:
Si lo desea, aquà se puede cambiar el nombre del control por Casilla1. La lÃnea roja ondulada, que en este caso
muestra el explorador, se debe a que el nombre no es una palabra en español y no supone ningún problema.
Puede usar los nombres que desee como:
Nombres del control
Nombres de colección
Nombres de variable de contexto
Separadores de fórmulas y operador de encadenamiento
Algunos separadores y operadores cambiarán según el separador decimal del idioma del autor:
OPERADOR DE
SEPARADOR DECIMAL DEL SEPARADOR DECIMAL DE SEPARADOR DE LISTA DE ENCADENAMIENTO DE
IDIOMA DEL AUTOR POWERAPPS POWERAPPS POWERAPPS
El cambio en el separador de lista de PowerApps es coherente con el separador de lista de Excel. Esto afectará a lo
siguiente:
Argumentos en llamadas a funciones.
Campos de un registro.
Registros de una tabla de valores.
Por ejemplo, considere la siguiente fórmula en "en-US":
If( Slider1.Value > 12.59, UpdateContext( { Validation: true, MovingOn: 1 } ); Navigate( "NextScreen", ""
), UpdateContext( { Validation: false } ) )
En un idioma que usa "," como separador decimal, esta descripción aparecerá en la experiencia de creación
como:
If( Slider1.Value > 12,59; UpdateContext( { Validation: true; MovingOn: 1 } );; Navigate( "NextScreen", ""
); UpdateContext( { Validation: false } ) )
Tenga en cuenta que el operador de selección de propiedad . en Slider1.Value siempre es el mismo,
independientemente de cuál sea el separador decimal.
La fórmula no cambia internamente; lo que cambia es cómo se muestra y cómo la edita el autor. Dos autores
diferentes que usen dos idiomas distintos pueden ver y editar la misma fórmula, y cada uno verá los separadores
y operadores correspondientes a su idioma.
Y, a continuación, utilizar una fórmula como la siguiente para extraer las cadenas traducidas de la tabla:
LookUp( Table1, TextID = "Hello" && (LanguageTag = Left( Language(), 2 ) || IsBlank( LanguageTag
))).LocalizedText
Tenga en cuenta que las cadenas traducidas a otros idiomas podrÃan ocupar más espacio que las que están en su
idioma. En muchos casos, las etiquetas y otros elementos que muestran las cadenas en la interfaz de usuario
necesitarán ser más anchos para dar cabida a esas cadenas.
Para más información, consulte la documentación de la función Language.
Formato de números, fechas y horas
Los números, las fechas y las horas se escriben con diferentes formatos en las distintas partes del mundo. El
significado de las comas, los decimales y el orden del dÃa, mes y año varÃan de una ubicación a otra.
La función Text da formato a números y fechas utilizando la configuración de idioma del usuario.
Text requiere una cadena de formato para saber cómo desea dar formato al número o fecha. Esta cadena de
formato puede ser de dos formas:
Una enumeración independiente de la configuración regional. Por ejemplo, Text( Now(),
DateTimeFormat.LongDate ). Esta fórmula dará formato a la fecha actual con el formato correspondiente al
idioma. Esta es la mejor manera de especificar la cadena de formato.
Una cadena de formato personalizado. Por ejemplo, Text( Now(), "[$-en-US]dddd, mmmm dd, yyyy" )
muestra el mismo texto que la enumeración cuando se utiliza en el idioma "en-US". La ventaja de la cadena de
formato personalizado es que puede especificar exactamente lo que desea.
"[$-en-US]" al principio de la cadena de formato personalizado indica a Text en qué idioma debe interpretar la
cadena de formato personalizado. Esto se inserta automáticamente y su valor predeterminado es el idioma de
creación. Normalmente no necesitará cambiarlo. Resulta útil cuando los autores de distintos idiomas están
modificando la misma aplicación.
El tercer argumento de Text especifica el idioma que se usará para el resultado de la función. El valor
predeterminado es el idioma configurado para el usuario actual.
Para más información, consulte la documentación de la función Text.
Lectura de números, fechas y horas
Hay cuatro funciones para leer los números, las fechas y las horas proporcionados por el usuario:
Valor: convierte un número incluido en una cadena de texto en un valor numérico.
FechaNumero: convierte un valor de fecha incluido en una cadena de texto en un valor de fecha y hora. Se
omiten las horas especificadas en la cadena de texto.
HoraNumero: convierte un valor de hora incluido en una cadena de texto en un valor de fecha y hora. Se
omiten las fechas especificadas en la cadena de texto.
FechaHoraNumero: convierte un valor de fecha y hora incluido en una cadena de texto en un valor de fecha y
hora.
Si usó Excel, todas estas funciones se combinan en la función única Value. Se desglosan aquà porque
PowerApps tiene tipos distintos de valores de fecha, hora y números.
Todas estas funciones tienen los mismos argumentos:
String, requerido: cadena del usuario. Por ejemplo, una cadena escribe en un control de entrada de texto y lee
el control con la propiedad Text.
Language, opcional: idioma en el que se va a interpretar la cadena. De forma predeterminada, es el idioma
configurado para el usuario.
Por ejemplo:
Value( "12,345.678", "en-US" ) o Value( "12,345.678" ) cuando "en-US" es el idioma del usuario, devuelve el
número 12345.678, listo para usarlo en cálculos.
FechaNumero( "1/2/01", "es-ES" ) o FechaNumero( "1/2/01" ) cuando "es-ES" es el idioma del usuario,
devuelve el valor de fecha y hora February 1, 2001 at midnight.
HoraNumero( "11:43:02", "fr-FR" ) o FechaNumero( "11:43:02" ) cuando "fr-FR" es el idioma del usuario,
devuelve el valor de fecha y hora January 1, 1970 at 11:43:02.
FechaHoraNumero( "11:43:02 1/2/01", "de-DE" ) o FechaNumero( "11:43:02" ) cuando "de-DE" es el
idioma del usuario, devuelve el valor de fecha y hora February 1, 2001 at 11:43:02.
Para más información, consulte la documentación de las funciones Value y FechaNumero, HoraNumero y
FechaHoraNumero, y cómo trabajar con fechas y horas.
Información sobre Calendar y Clock
Las funciones Calendar y Clock proporcionan información sobre el calendario y el reloj en el idioma del usuario
actual.
Entre otras cosas, use estas funciones para proporcionar un control Dropdown con una lista de opciones.
Para más información, consulte la documentación de las funciones Calendar y Clock.
Creación de aplicaciones accesibles
09/04/2018 • 5 min to read • Edit Online
Una aplicación accesible permitirá a los usuarios con discapacidades visuales, auditivas y de otra Ãndole utilizar
correctamente dicha aplicación. Además de ser un requisito para muchos gobiernos y organizaciones, si sigue las
pautas que se indican a continuación aumentará la facilidad de uso para todos los usuarios, independientemente
de sus capacidades.
Diseño y color
Un diseño con sentido común y poco complicado ayuda a que las aplicaciones sean más accesibles para todos
los usuarios. Cuando realice una personalización intensa de las aplicaciones, tenga en cuenta las siguientes
sugerencias. Los temas de PowerApps son accesibles de forma predeterminada.
Asegúrese de que todos los elementos son claramente visibles y el texto tiene un tamaño suficiente. Todo el
contenido se debe poder leer y comprender fácilmente a simple vista.
Evite el uso de la propiedad de visibilidad de los elementos para mostrar un elemento. Si necesita mostrar algo
de manera condicional, cree el contenido en una nueva pantalla, navegue a ella y vuelva.
Asegúrese de que los elementos de entrada están etiquetados en la pantalla. La propiedad AccessibilityLabel
define lo que el lector de pantalla anunciará.
Si personaliza colores, asegúrese de que el contraste entre el texto y el fondo es 4.5:1 o superior. Las
herramientas de software que ayudan a este proceso están disponibles.
Asegúrese de que el diseño sigue un flujo lógico cuando lea de arriba a abajo y de izquierda a derecha.
Contenido multimedia
Asegúrese de todos los vÃdeos tienen subtÃtulos y una transcripción de todas las grabaciones de audio está
disponible para el usuario. El control Video admite subtÃtulos en formato WebVTT a través de la propiedad
ClosedCaptionsUrl.
Tenga en cuenta que con el lector de pantalla habilitado, Timer no anuncia el texto del botón, sino cuánto tiempo
ha transcurrido. Los anuncios no se pueden desactivar, aunque el temporizador esté oculto con baja opacidad.
El equipo de PowerApps va a volver a presentar powerapps.com como el nuevo lugar de encuentro para los
creadores de aplicaciones. Se ha rediseñado la página como el principal sitio donde los creadores puedan
empezar a crear aplicaciones, usar Microsoft Common Data Service y administrar sus aplicaciones, todo en una sola
ubicación. En este artÃculo, se le guiará por los siguientes elementos:
el encabezado
la página principal
la página Aplicaciones
Cuando se registra e inicia sesión por primera vez en powerapps.com, observará el nuevo encabezado del sitio.
Cerca del borde izquierdo del encabezado está el botón cuadrado de Office. Se trata de un lugar rápido desde
donde acceder a todos los demás productos de Office, como PowerPoint, OneNote y Word, asà como a Microsoft
Flow y Dynamics 365.
Cerca del borde derecho del encabezado, en primer lugar verá una lista desplegable de entornos, donde puede
cambiar rápidamente entre ellos. Probablemente, Entorno predeterminado está seleccionado de forma
predeterminada. Aprenda más acerca de los entornos.
Junto al menú desplegable de entornos, verá un icono de descarga. Haga clic o pulse en este icono para mostrar
un cuadro de diálogo con vÃnculos para descargar PowerApps Mobile (para iOS o Android) o PowerApps Studio
para Windows.
Junto al icono de descarga, verá un icono de engranaje para la configuración. Haga clic o pulse en este icono para
mostrar vÃnculos para conexiones, puertas de enlace y el centro de administración.
Junto al de configuración, verá un icono de signo de interrogación para obtener ayuda. Haga clic o pulse en este
icono para mostrar vÃnculos a Aprendizaje guiado, Documentación, Soporte técnico, Comunidad, Blogs, Legal y
Privacidad.
Página principal
Después de iniciar sesión en powerapps.com, llegará a la página principal de forma predeterminada. Se ha
cambiado el diseño de esta página principal para ayudarle a empezar a trabajar rápidamente, tanto si crea
aplicaciones como si quiere explorar Common Data Service.
Si ha iniciado sesión en PowerApps antes y ha ejecutado o creado algunas aplicaciones, la primera sección que
verá en la página principal es una lista de aplicaciones recientes. Están ordenadas según la fecha en que se
abrieron más recientemente.
Cerca de la esquina superior derecha, aparece una flecha llamada Aplicaciones y vÃnculos directos a la página
Aplicaciones para que pueda ver todas las aplicaciones.
Si nunca ha iniciado sesión, creado una aplicación ni ejecutado una aplicación antes, no verá la sección
Aplicaciones recientes. En su lugar verá el titular Crear una aplicación.
Haga clic o pulse en Introducción en este titular para mostrar opciones para crear una aplicación con
PowerApps Studio para Windows o PowerApps Studio para web.
Junto a Introducción, aparecen vÃnculos a nuestros vÃdeos de tutoriales sobre cómo crear rápidamente una
aplicación a partir de datos (en SharePoint o PowerApps) y compartirla. El vÃnculo de la flecha Más
información le llevará a un tema sobre cómo crear una aplicación a partir de datos existentes.
Debajo del titular Crear una aplicación, se ve el titular Usar Microsoft Common Data Service.
Si no desea crear un entorno, siempre puede cambiar a uno al que tenga acceso.
Si aparece el botón Crear base de datos, se encuentra en un entorno que carece de base de datos de
Common Data Service, pero tiene permiso para crear una.
Si hace clic o pulsa en este botón, aprovisionará una base de datos para este entorno.
Si aparece el botón Explorar entidades, se encuentra en un entorno con una base de datos de Common
Data Service ya aprovisionada y tiene acceso a ella. Haga clic o pulse en este botón para abrir la página
Entidades.
Debajo del titular Usar Microsoft Common Data Service, verá un conjunto de aplicaciones de ejemplo y
aplicaciones de ejemplo conectadas ya creadas para que las use.
Aplicaciones de ejemplo: las aplicaciones de ejemplo se han creado para diferentes escenarios
empresariales con un diseño de teléfono o tableta. Puede hacer clic en una aplicación para ver
rápidamente una descripción de lo que hace, el diseño con que se creó y qué funcionalidades
demuestra, como cámara, GPS o botones de radio. Es una forma rápida de que los nuevos usuarios
aprendan sobre las funcionalidades de PowerApps, y puede usar una plantilla para crear una aplicación
idéntica en PowerApps Studio para Windows.
Aplicaciones de ejemplo conectadas: estas aplicaciones se conectan a los datos a través de una
conexión de datos como Office 365, Salesforce, Trello y Wunderlist. Este conjunto de aplicaciones es
diferente de las aplicaciones de ejemplo anteriores. Al hacer clic o pulsar en una aplicación de ejemplo
conectada, realmente está aprovisionando una nueva instancia de la aplicación (considérela una
plantilla). Se le pedirá que escriba sus credenciales para conectarse a los datos. Lo que resulta muy útil con
una aplicación de ejemplo conectada es que se aprovisiona una instancia automáticamente y luego puede
abrirla en PowerApps Studio para aprender cómo se creó la aplicación correspondiente. El inconveniente
es que puede tardar bastante tiempo (hasta un minuto) en crearse. Asà que sea paciente y deje el explorador
abierto cuando haga clic o pulse en una aplicación de ejemplo conectada.
Antes, la página Aplicaciones permitÃa cambiar entre la vista de iconos y la vista de lista. A partir del 26 de
octubre de 2016, solo admite la vista de lista.
Tenga en cuenta que la vista de lista solo muestra las aplicaciones en el entorno seleccionado. Para ver aplicaciones
de un entorno diferente, cambie a él mediante el selector de entorno en el encabezado. Más información sobre
cómo cambiar de entorno.
Novedades
Si hace clic o pulsa en una aplicación, ahora se abre en PowerApps Studio para web en una nueva pestaña.
De forma predeterminada, la página Aplicaciones muestra todas las aplicaciones para las que tenga
permiso de edición. Para ver Todas las aplicaciones (incluidas las que solo puede utilizar), seleccione el
filtro Todas las aplicaciones.
También existen:
Apps I can use (Aplicaciones que puedo usar), donde aparecen todas las aplicaciones que se han compartido
con usted con permiso Usuario (solo puede ejecutar la aplicación). Tenga en cuenta que también puede
adquirir estas aplicaciones en Dynamics 365.
Aplicaciones que me pertenecen, con todas las aplicaciones que ha creado.
Aplicaciones con las que colaboro, que contiene todas las aplicaciones que se han compartido con usted con
permiso Colaborador.
Aplicaciones de ejemplo, que incluye todas las aplicaciones de ejemplo (no conectadas).
Si hace clic o pulsa en el cÃrculo de información, se abre la página de detalles de la aplicación.
Si hace clic en el botón de puntos suspensivos de una aplicación, aparecen opciones como Reproducir, Editar,
Compartir y Detalles.
Básicamente, estas son las novedades en powerapps.com, que están destinadas a los creadores de aplicaciones.
Esperamos que le resulten útiles. Deje sus comentarios sobre lo que le ha gustado y lo que le gustarÃa ver. Nos
encantarÃa recibir sus comentarios.
Edición de una aplicación en PowerApps
23/03/2018 • 4 min to read • Edit Online
Edite cualquier aplicación que haya creado, que posea, o para la que tiene permisos Can edit (Puede editar). Puede
editar una aplicación en PowerApps Studio para web o PowerApps Studio para Windows. Si intenta editar una
aplicación que está abierta para su edición en otra parte, un mensaje le indicará si es usted quien ya la tiene abierta
o si es otro usuario.
2. Abra el selector de categorías de aplicación y haga clic en o pulse Aplicaciones que me pertenecen o
Aplicaciones con las que colaboro.
Puede editar cualquier aplicación de la lista que aparece. También puede buscar una aplicación escribiendo
uno o más caracteres en el cuadro de búsqueda cerca de la esquina superior derecha.
NOTA
Si aún así no ve la aplicación que desea editar, compruebe que ha seleccionado el entorno correcto cerca de la esquina
superior derecha.
Edición de un aplicación en PowerApps Studio para web
1. Siga los pasos del procedimiento anterior para encontrar la aplicación que desea editar.
2. Haga clic o pulse el icono de información de la aplicación cerca del borde derecho.
3. Haga clic o pulse el icono Editar cerca de la esquina superior derecha y, a continuación, haga clic en o pulse
Modificar en la web.
3. Cerca del borde derecho, pulse o haga clic en el icono del lápiz para la aplicación que desea editar.
Puede editar cualquier aplicación para la que el icono del lápiz es negro, no gris.
Colaboración en una aplicación
Cualquier persona que tenga un permiso Can edit (Puede editar) para una aplicación puede modificarla, pero no
puede haber más de una persona a la vez editando la aplicación. Si se intenta modificar una aplicación que alguien
ya está editando, aparece el mensaje a continuación. No puede continuar hasta que la otra persona cierre la
aplicación (o se agote el tiempo de espera de su sesión).
Este mensaje también aparece si abre una aplicación para su edición y luego intenta abrirla en otro dispositivo o en
otra ventana del explorador. Puede invalidar la sesión anterior, pero podría perder los cambios que no haya
guardado.
Pasos siguientes
Más información sobre cómo agregar una pantalla, un control o una conexión de datos.
Cambiar el tamaño y la orientación de la pantalla en
PowerApps
23/03/2018 • 2 min to read • Edit Online
Requisitos previos
1. Cree una aplicación o abra una para editarla.
2. En el menú File (Archivo), pulse o haga clic en App settings (Configuración de aplicaciones).
Paso siguiente
En el menú Archivo, seleccione Guardar para volver a publicar la aplicación con la nueva configuración.
Cambiar el nombre y el icono de la aplicación en
PowerApps
23/03/2018 • 1 min to read • Edit Online
Requisitos previos
1. Cree una aplicación o abra una para editarla.
2. En el menú File (Archivo), pulse o haga clic en App settings (Configuración de aplicaciones).
Pulse o haga clic en Browse file (Examinar archivo), pulse o haga clic en la imagen que desea usar y luego
pulse o haga clic en Open (Abrir).
NOTA
Para obtener los mejores resultados posibles, use un icono de forma cuadrada.
Paso siguiente
En el menú File (Archivo), pulse o haga clic en Save (Guardar) para volver a publicar la aplicación con la nueva
configuración.
Más recursos
Share an app (Compartir una aplicación)
Delete an app (Eliminar una aplicación)
Restore an app to a previous version (Restaurar una aplicación a una versión anterior)
Guardar y publicar una aplicación en PowerApps
23/03/2018 • 3 min to read • Edit Online
Siempre que guarde cambios en una aplicación, se publican automáticamente solo para usted y para quien tenga
permisos para modificar la aplicación. Cuando termine de realizar cambios, publÃquelos explÃcitamente para que
estén disponibles para todos los usuarios con los que se comparta la aplicación.
Para información sobre cómo compartir una aplicación, consulte Compartir una aplicación.
2. En el cuadro de diálogo Publicar, pulse o haga clic en Publicar esta versión para publicar la aplicación
para todos los usuarios con los que se comparte la aplicación.
NOTA
Es aconsejable que actualice o vuelva a publicar la aplicación dentro de los seis meses posteriores a la última vez que
lo hizo, con el fin de que esté sincronizada con la versión más reciente de PowerApps. Si no lo hace, la aplicación
puede dejar de funcionar sin previo aviso.
Para publicar la versión más reciente, pulse o haga clic en Publicar esta versión y pulse o haga clic en Publicar
esta versión en el cuadro de diálogo Publicar.
Pasos siguientes
Cambie el nombre de una aplicación desde powerapps.com.
Restaure una aplicación si tiene varias versiones de una aplicación.
Eliminar una aplicación de PowerApps
22/03/2018 • 2 min to read • Edit Online
En este artÃculo se muestra cómo eliminar una aplicación tanto de su cuenta de PowerApps como de las cuentas
de cualquiera con quien se haya compartido la aplicación.
2. (opcional) Cerca de la esquina superior izquierda, filtre la lista de aplicaciones para mostrar solo las
aplicaciones de las que sea propietario o aquellas aplicaciones a las que contribuya.
NOTA
Si la aplicación que desea eliminar no aparece, asegúrese de que está en el entorno adecuado.
3. Cerca del borde derecho, pulse o haga clic en el icono de información de la aplicación que desea eliminar.
4. Cerca de la esquina superior derecha, pulse o haga clic en el icono de papelera para eliminar la aplicación.
NOTA
Para poder eliminar una aplicación debe tener el permiso de colaborador en ella.
IMPORTANTE
Esta acción eliminará permanentemente la aplicación no solo de su cuenta, sino también de las cuentas de
todos los usuarios con las que se haya compartido.
Más recursos
Share an app (Compartir una aplicación)
Cambiar el nombre e icono de la aplicación
Restore an app to a previous version (Restaurar una aplicación a una versión anterior)
Restaurar una aplicación a una versión anterior
23/03/2018 • 1 min to read • Edit Online
En este artÃculo se muestra cómo restaurar una aplicación a una versión anterior que se guardó en la nube
desde su cuenta de PowerApps.
2. (opcional) Cerca de la esquina superior izquierda, filtre la lista de aplicaciones para mostrar solo las
aplicaciones de las que sea propietario o aquellas aplicaciones a las que contribuya.
NOTA
Si la aplicación que desea restaurar no aparece, asegúrese de que se encuentra en el entorno correcto.
3. Cerca del borde derecho, haga clic o pulse el icono de información de la aplicación que desea restaurar.
4. Haga clic o pulse la pestaña Versiones y, a continuación, haga clic o pulse Restaurar para la versión
que desee restaurar.
5. En el cuadro de diálogo de confirmación, haga clic o pulse Restaurar.
Una versión nueva se agrega a la lista.
Más recursos
Share an app (Compartir una aplicación)
Cambiar el nombre y el icono de la aplicación
Delete an app (Eliminar una aplicación)
Administración de las conexiones en PowerApps
23/03/2018 • 5 min to read • Edit Online
En powerapps.com, puede crear una conexión entre PowerApps y uno o varios orÃgenes de datos, eliminar
conexiones o actualizar las credenciales.
La conexión de datos de la aplicación puede establecerse con SharePoint, SQL Server, Office 365, OneDrive para
la Empresa, Salesforce, Excel y otros muchos orÃgenes de datos.
Lo siguiente que haremos en este artÃculo es mostrar y administrar la información del origen de datos de la
aplicación, como en estos ejemplos:
Conéctese a OneDrive para la Empresa y administre los datos de un libro de Excel en la aplicación.
Actualice una lista en un sitio de SharePoint.
Conéctese a SQL Server y actualice una tabla desde la aplicación.
EnvÃe correo electrónico en Office 365.
EnvÃe un tweet.
Conéctese a Twilio y envÃe un mensaje SMS desde la aplicación.
Requisitos previos
1. Inicie sesión en PowerApps.
2. Inicie sesión en powerapps.com con las mismas credenciales que utilizó para suscribirse.
4. Pulse o haga clic en un conector de la lista que aparece y siga las instrucciones.
Para actualizar las credenciales de una conexión, pulse o haga clic en el icono con forma de llave y especifique
las credenciales de dicha conexión.
Para eliminar la conexión, pulse o haga clic en el icono de papelera.
Creación de una conexión a SharePoint desde
PowerApps
22/03/2018 • 3 min to read • Edit Online
Cree una conexión a SharePoint Online o a SharePoint local para poder generar una aplicación automáticamente
o crear una desde cero.
Si no está familiarizado con PowerApps, consulte Introducción a PowerApps.
A partir de la fecha de publicación de este artÃculo, PowerApps admite listas personalizadas pero no bibliotecas.
Además, puede mostrar datos en algunos tipos de columnas, como Opción e Imagen, pero no puede actualizar
esos datos. Para más información, consulte Problemas conocidos.
6. Siga los pasos descritos en cualquiera de estos procedimientos, que aparecen más adelante en este tema:
Conectarse a un sitio de SharePoint Online.
Conectarse a un sitio de SharePoint local.
NOTA
Las puertas de enlace y las conexiones locales solo se pueden crear y usar en el entorno predeterminado del usuario.
3. Si no tiene una puerta de enlace de datos local instalada, instale una y, después, haga clic o pulse en el
icono para actualizar la lista de puertas de enlace.
4. En Elegir una puerta de enlace, haga clic o pulse en la puerta de enlace que desea usar y, después, haga
clic o pulse en Agregar conexión.
Pasos siguientes
Genere una aplicación automáticamente basándose en una lista que especifique. La aplicación tendrá tres
pantallas de forma predeterminada: una para examinar registros, para mostrar detalles acerca de un registro y
crear o actualizar un registro.
Crear una aplicación desde cero. Este tema se escribió para Excel, pero los mismos principios se aplican a
SharePoint.
Descripción de delegación
09/04/2018 • 19 min to read • Edit Online
PowerApps incluye un eficaz conjunto de funciones para filtrar, ordenar y dar forma a tablas de datos: las
funciones Filtrar, Ordenar y AddColumns son solo algunas de ellas. Con estas funciones puede proporcionar a
los usuarios acceso a la información que necesitan. Para quienes conozcan bien las bases de datos, el uso de estas
funciones es como escribir una consulta de base de datos.
La clave para compilar aplicaciones eficientes es minimizar la cantidad de datos que debe contener el dispositivo.
Quizás se necesiten solo unos pocos registros de un mar de millones o que un único valor agregado pueda
representar miles de registros. O quizás solo se pueda recuperar el primer conjunto de registros, y el resto se trae
cuando el usuario indica que desea más. De esta forma se puede reducir drásticamente la potencia de
procesamiento, la memoria y el ancho de banda de red que necesita la aplicación, lo que conlleva menores
tiempos de respuesta para los usuarios, incluso en teléfonos conectados a través de una red móvil.
La delegación es el lugar en el que la expresividad de las fórmulas de PowerApps cubre la necesidad de
minimizar la cantidad de datos que se mueven a través de la red. En resumen, significa que PowerApps
delegará el procesamiento de los datos al origen de los mismos, en lugar de moverlos a la aplicación para que
los procese localmente.
Esto se complica, y el motivo por el que existe este artÃculo, porque no todo lo que se puede expresar en una
fórmula de PowerApps puede delegarse a todos los orÃgenes de datos. El lenguaje de PowerApps imita el
lenguaje de fórmulas de Excel, que se está diseñado con acceso completo e instantáneo a un libro completo
en la memoria, con una amplia variedad de funciones numéricas y de manipulación de texto. Como
consecuencia, el lenguaje de PowerApps es mucho complejo de lo que la mayorÃa de orÃgenes de datos pueden
admitir, incluidos motores de base de datos eficaces como SQL Server.
El trabajo con grandes conjuntos de datos requiere que se usen orÃgenes de datos y fórmulas que se
puedan delegar. Es la única manera de que la aplicación funcione correctamente y de tener la certeza de que
los usuarios pueden acceder a toda la información que necesitan. Siga las sugerencias de los puntos azules que
marcan los lugares en los que no es posible la delegación. Si trabaja con conjuntos de datos pequeños (menos
de 500 registros), puede utilizar cualquier origen de datos y cualquier fórmula, ya que el procesamiento se puede
realizar localmente si la fórmula no se puede delegar.
Funciones no delegables
Las restantes funciones, entre las que se incluyen las siguientes, no admiten la delegación:
Forma de tabla: AddColumns, DropColumns, ShowColumns, ...
Primero, FirstN, Último, LastN
Concat
Recopilar, ClearCollect
CountIf, RemoveIf, UpdateIf
GroupBy, Desagrupar
Un patrón habitual consiste en usar AddColumns y Buscar para combinar información de una tabla con la de
otra, lo que suele conocerse como una combinación en el lenguaje de base de datos. Por ejemplo:
AddColumns( Products, "Supplier Name", LookUp( Suppliers, Suppliers.ID = Product.SupplierID ).Name
)
Aunque Products y Suppliers pueden ser orÃgenes de datos delegables y Buscar es una función delegable, la
función AddColumns no se puede delegar. El resultado de la fórmula completa se limitará a la primera parte
del origen de datos Products.
Dado que Buscar y su origen de datos se pueden delegar, se puede encontrar una coincidencia con Suppliers en
cualquier lugar del origen de datos, aunque sea grande. Un posible inconveniente es que Buscar realizará
llamadas al origen de datos en todos los primeros registros de Products, lo que provocará mucha charla en la
red. Si Suppliers es suficientemente pequeño y no cambia con frecuencia, puede almacenar en la memoria
caché el origen de datos en su aplicación con una llamada Recopilar cuando se inicia la aplicación (para lo
que se usa AlEstarVisible en la pantalla inicial) y usar Buscar en su lugar.
LÃmites no delegables
Las fórmulas que no se puede delegar se procesarán localmente. Esto permite usar todo el espectro del lenguaje
de fórmulas de PowerApps. Pero esto tiene un precio: primero deben pasarse todos los datos al dispositivo, lo
que podrÃa implicar la recuperación de una gran cantidad de datos a través de la red. Esta operación puede
tardar un tiempo, lo que darÃa la impresión de que la aplicación se ejecuta con lentitud, o incluso que está
bloqueada.
Para evitarlo, PowerApps impone un lÃmite en la cantidad de datos que se pueden procesar localmente: 500
registros de forma predeterminada. Elegimos este número para que tuviera acceso completo a los conjuntos de
datos pequeños y pudiera pueda refinar su uso de conjuntos de datos grandes viendo los resultados parciales.
Obviamente si se usa este recurso es preciso tener cuidado, ya que puede ser confuso para los usuarios. Por
ejemplo, considere una función Filtrar función con una fórmula de selección que no se puede delegar y con
un origen de datos de más de un millón de registros. Como el filtrado se realizará localmente, solo se
examinarán los primeros 500 registros. Si el registro deseado es el 501, o el 500 001, Filtrar no lo tendrá en
cuenta o no lo devolverá.
Otro lugar en el que puede producirse confusión son las funciones de agregado. Tomemos como ejemplo
Promedio en una columna con el mismo origen de datos de un millón de registros. Como Promedio aún no se
puede delegar, solo se obtendrá el promedio de los primeros 500 registros. Se debe tener cuidado, ya que algún
usuario de la aplicación podrÃa malinterpretar una respuesta parcial como una respuesta completa.
Ejemplos
En este ejemplo, usaremos una tabla de SQL Server que contiene productos, en concreto frutas, nombres [dbo]. [
Products]. En la pantalla nueva, PowerApps puede crear una aplicación básica de tres pantallas conectada a este
origen de datos:
Tenga en cuenta la fórmula de la propiedad Elementos de la galerÃa. Usa las funciones SortByColumns y
Buscar, que se pueden delegar.
Vamos a escribir "Manzana" en el control de entrada de texto de búsqueda. Si estamos muy atentos, veremos
durante un instante unos puntos que se mueven en la parte superior de la pantalla mientras se procesa la nueva
entrada de la nueva búsqueda. Dichos puntos indican que hay comunicación con el servidor SQL Server:
Dado que todo esto se puede delegar, aunque si la tabla [dbo]. [ Products] contiene millones de registros, se
seguirán encontrando todos, para lo que nos desplazamos por la galerÃa a medida que el usuario se desplaza
por los resultados.
Observará que aparece una coincidencia para "Manzana" y "Piña". La función Buscar encontrará un
término de búsqueda en cualquier parte de una columna de texto. Sin embargo, supongamos que solo
deseamos buscar el término de búsqueda únicamente al principio del nombre de fruta. Podemos usar otra
función que se puede delegar, Filtrar, con un término de búsqueda más complicado (por motivos de
simplicidad quitaremos la llamada a SortByColumns):
Ahora solo se muestra "Manzanas", pero no "Piña". Sin embargo, se muestra un punto azul al lado de la
galerÃa y hay una lÃnea ondulada de azul debajo de una parte de la fórmula. Incluso aparece un punto azul en la
miniatura de la pantalla. Si se mantiene el puntero sobre el punto azul que hay al lado de la galerÃa, se ve lo
siguiente:
Aunque usamos Filtrar, que es una función delegable, con SQL Server, que es un origen de datos que se puede
delegar, la fórmula que se utilizó en Filtrar no se puede delegar. Extrae y Largo no se pueden delegar en
ningún origen de datos.
Pero ha funcionado, ¿no? Bueno, más o menos. Por eso aparece un punto azul, en lugar de un icono de peligro
amarillo y una lÃnea ondulada roja de error. Si la tabla [dbo]. [ Products] contiene menos de 500 registros, ha
funcionado perfectamente. Todos los registros han pasado al dispositivo y Filtrar se ha aplicado localmente.
Si la tabla contiene más de 500 registros, en la galerÃa solo se mostrará la fruta que empiezan por "Manzana"
en los primeros 500 registros de la tabla. Si "Manzana, Fuji" aparece como nombre en los registros 501 o 500
001, no se encontrará.
Orígenes de datos delegables
23/03/2018 • 3 min to read • Edit Online
Tal como se describe en detalle en el artículo Descripción de delegación, la delegación se produce cuando
PowerApps delega el procesamiento de datos en el origen de datos en lugar de mover datos a la aplicación para
procesarlos localmente.
Solo se admite la delegación para los orígenes de datos tabulares. En esta lista se identifican los orígenes de datos
tabulares y si son compatibles con la delegación, con detalles en la sección siguiente.
Common Data Service: sí
SharePoint: sí
SQL Server: sí
Dynamics 365: sí
Salesforce: sí
Dynamics 365 for Operations: todavía no
Dynamics 365 for Financials: todavía no
Dynamics NAV: todavía no
Hojas de cálculo de Google: todavía no
Se agregan continuamente más orígenes de datos tabulares y compatibilidad con la delegación para ellos.
En este documento se describe el estado actual de la delegación admitida para cada origen de datos.
Requisitos previos
Familiarícese con el artículo Descripción de delegación.
Average No No Sí No No
Filtro Sí Sí Sí Sí Sí
Buscar Sí Sí Sí Sí Sí
Máx. No No Sí No No
Min No No Sí No No
Search Sí1 No Sí Sí Sí
COMMON DATA
SERVICE SHAREPOINT SQL SERVER DYNAMICS 365 SALESFORCE
Ordenar Sí Sí Sí Sí Sí
SortByColumns Sí Sí Sí Sí Sí
Suma No No Sí No No
No Sí No Sí Sí Sí
EsBlanco No No Sí Sí No
TrimEnds No No Sí No No
Largo No No Sí No No
+, - No No Sí No No
in No No Sí No Sí
StartsWith No Sí No No No
Instale una puerta de enlace de datos local para transferir datos de manera rápida y segura entre PowerApps y un
origen de datos que no esté en la nube, como una base de datos de SQL Server local o un sitio de SharePoint
local. Vea todas las puertas de enlace para las que tiene permisos administrativos y administre los permisos y las
conexiones para estas puertas de enlace.
Con una puerta de enlace, puede conectarse a datos locales a través de estas conexiones:
SharePoint
SQL Server
Oracle
Informix
Filesystem
DB2
Requisitos previos
El nombre de usuario y la contraseña que usó para registrarse en PowerApps.
Los permisos administrativos de una puerta de enlace. De forma predeterminada, tiene estos permisos para
cada puerta de enlace que instala, y un administrador de otra puerta de enlace puede concederle estos permisos
para esa puerta de enlace.
Una licencia que permite el acceso a los datos locales mediante una puerta de enlace local. Para más
información, consulte la sección "Conectividad" de la página de precios.
Las puertas de enlace y las conexiones locales solo se pueden crear y usar en el entorno predeterminado del
usuario.
2. Si no tiene permisos administrativos para una puerta de enlace, haga clic o pulse en Install a gateway now
(Instalar una puerta de enlace ahora)(o en Nueva puerta de enlace en la esquina superior derecha) y, a
continuación, siga las indicaciones del asistente que aparece.
Para más información sobre cómo instalar una puerta de enlace, consulte Información sobre las puertas
de enlace de datos locales.
NOTA
Solo puede compartir algunos tipos de conexiones, como SQL Server. Para más información, consulte Share app
resources (Uso compartido de recursos de la aplicación).
Para más información sobre cómo administrar una conexión, consulte Administración de conexiones.
Pasos siguientes
Cree una aplicación que se conecte a un origen de datos local, como SQL Server o SharePoint.
Comparta una aplicación que permita conectarse a un origen de datos local.
Información sobre las puertas de enlace de datos
locales para Microsoft PowerApps
23/03/2018 • 20 min to read • Edit Online
Instalación y configuración
Requisitos previos
Mínimo:
.NET Framework 4.5
Versión de 64 bits de Windows 7 o Windows Server 2008 R2 (o versiones posteriores)
Recomendado:
CPU de 8 núcleos
8 GB de memoria
Versión de 64 bits de Windows 2012 R2 (o posteriores)
Consideraciones relacionadas:
No puede instalar una puerta de enlace en un controlador de dominio.
No debe instalar una puerta de enlace en un equipo, tales como portátiles, que puedan estar apagados,
suspendidos o no conectados a Internet porque la puerta de enlace no se puede ejecutar en estas
circunstancias. Además, el rendimiento de la puerta de enlace puede verse afectado en una red inalámbrica.
Instalación de una puerta de enlace
1. Descargue el instalador y ejecútelo.
2. En la primera pantalla del asistente para la instalación, pulse o haga clic en Siguiente para confirmar el
aviso acerca de la instalación de una puerta de enlace en un equipo portátil.
3. Especifique la ubicación donde desea instalar la puerta de enlace, active la casilla para aceptar los términos
de uso y la declaración de privacidad y, a continuación, pulse o haga clic en Instalar.
4. En los cuadros de diálogo Control de cuentas de usuario, pulse o haga clic en Sí para continuar.
5. En la siguiente pantalla del asistente, pulse o haga clic en Iniciar sesión.
6. Pulse o haga clic en la opción para registrar una nueva puerta de enlace o para migrar, restaurar o utilizar
una puerta de enlace existente y, a continuación, pulse o haga clic en Siguiente.
Para configurar una puerta de enlace, escriba un nombre y una clave de recuperación, pulse o
haga clic en Configurar y, a continuación, pulse o haga clic en Cerrar.
Especifique una clave de recuperación que contenga al menos ocho caracteres, y guárdela en un
lugar seguro. Necesitará esta clave si desea migrar, restaurar o utilizar su puerta de enlace.
Para migrar, restaurar o utilizar a través de una puerta de enlace existente, proporcione el nombre
de la puerta de enlace y su clave de recuperación, pulse o haga clic en Configurar y siga las
indicaciones adicionales.
Reinicio de la puerta de enlace
La puerta de enlace se ejecuta como un servicio de Windows, por lo que se puede iniciar y detener de varias
maneras. Por ejemplo, puede abrir un símbolo del sistema con permisos elevados en el equipo donde se está
ejecutando la puerta de enlace y, a continuación, ejecutar cualquiera de estos comandos:
Para detener el servicio, ejecute este comando:
net stop PBIEgwService
Para iniciar el servicio, ejecute este comando:
net start PBIEgwService
Configuración de un firewall o servidor proxy
Para más información sobre cómo proporcionar información de proxy para la puerta de enlace, consulte
Configuración de proxy para la puerta de enlace de datos local.
Puede comprobar si el firewall o el servidor proxy podrían estar bloqueando conexiones; para ello, ejecute el
siguiente comando desde un símbolo del sistema de PowerShell. Este comando probará la conectividad con Azure
Service Bus. Esto solo prueba la conectividad de red y no tiene nada que ver con el servicio de servidor de nube o
la puerta de enlace. Ayuda a determinar si el equipo realmente puede obtener acceso a internet.
Test-NetConnection -ComputerName watchdog.servicebus.windows.net -Port 9350
El resultado será similar a este ejemplo. Si TcpTestSucceeded no es True, podría estar bloqueado por un firewall.
ComputerName : watchdog.servicebus.windows.net
RemoteAddress : 70.37.104.240
RemotePort : 5672
InterfaceAlias : vEthernet (Broadcom NetXtreme Gigabit Ethernet - Virtual Switch)
SourceAddress : 10.120.60.105
PingSucceeded : False
PingReplyDetails (RTT) : 0 ms
TcpTestSucceeded : True
Si desea ser exhaustivo, sustituya los valores de ComputerName y Port por los que se indican en
Configuración de puertos, más adelante en este tema.
El firewall también podría estar bloqueando las conexiones que Azure Service Bus hace con los centros de datos
de Azure. Si es así, quizás desee incluir las direcciones IP de esos centros de datos para su región en una lista de
permitidos. Puede obtener una lista de direcciones IP de Azure aquí.
Configuración de puertos
La puerta de enlace crea una conexión de salida hacia Azure Service Bus. Se comunica en los puertos de salida:
TCP 443 (valor predeterminado), 5671, 5672 y 9350 a 9354. La puerta de enlace no requiere puertos de entrada.
Más información acerca de las soluciones híbridas.
Se recomienda incluir las direcciones IP de su región de datos en la lista de permitidos del firewall. Puede
descargar la lista de direcciones IP de los centros de datos de Microsoft Azure, que se actualiza semanalmente.
NOTA
En la lista de direcciones IP del centro de datos de Azure, las direcciones se muestran en notación CIDR. Por ejemplo,
10.0.0.0/24 no significa de 10.0.0.0 a 10.0.0.24.
Esta es una lista de los nombres de dominio completos que la puerta de enlace utiliza.
Solución de problemas
Actualización a la versión más reciente
Muchos problemas pueden deberse a que la versión de la puerta de enlace no está actualizada. Es un
procedimiento recomendado asegurarse de tener la versión más reciente. Si no ha actualizado la puerta de enlace
durante un mes o más, puede que desee considerar la instalación de la versión más reciente de la puerta de
enlace y ver si puede reproducir el problema.
Error: Error al agregar el usuario al grupo. (-2147463168 PBIEgwService Performance Log Users )
Puede recibir este error si intenta instalar la puerta de enlace en un controlador de dominio, lo que no se admite.
Debe implementar la puerta de enlace en un equipo que no es un controlador de dominio.
Herramientas
Recopilación de registros desde el configurador de puerta de enlace
Puede recopilar diversos registros para la puerta de enlace. Empiece siempre con los registros.
Registros del instalador
%localappdata%\Temp\On-premises_data_gateway_*.log
Registros de configuración
%localappdata%\Microsoft\on-premises data gateway\GatewayConfigurator*.log
Registros del servicio de puerta de enlace de empresa
C:\Users\PBIEgwService\AppData\Local\Microsoft\on-premises data gateway\Gateway*.log
Registros de eventos
Los registros de eventos del servicio de puerta de enlace de datos local se encuentran en Registros de
aplicaciones y servicios.
Seguimiento de Fiddler
Fiddler es una herramienta gratuita de Telerik que supervisa el tráfico HTTP. Puede ver el tráfico de entrada y
salida del servicio Power BI desde el equipo cliente. Puede mostrar errores y otra información relacionada.
Solución de problemas: no se puede crear o
recuperar un mashup para esta base de datos
09/04/2018 • 4 min to read • Edit Online
Al usar la característica Nuevas entidades de datos (Technical Preview), puede encontrarse un error similar al
siguiente:
Esto puede ocurrir cuando se utiliza la característica para crear entidades personalizadas en Common Data
Service (CD) con datos procedentes de orígenes de datos externos mediante Power Query. El error se
desencadena cuando Power Query no puede acceder a los datos que hay de la organización en PowerApps o
CDS. Hay dos escenarios en los que esto puede ocurrir:
Un administrador de inquilinos de Azure Active Directory (AAD) ha deshabilitado la capacidad de los usuarios
para consentir que las aplicaciones accedan a los datos de la compañía en su nombre.
Uso de un inquilino de Active Directory no administrado. Un inquilino no administrado es un directorio sin un
administrador global creado para completar una oferta de suscripción de autoservicio. Para corregir esta
situación, en primer lugar los usuarios deben convertirse en un inquilino administrado y, después, seguir una de
las dos soluciones a este problema que se describen en la sección siguiente.
Hay dos formas de solucionar el problema que se ha descrito anteriormente:
Que el administrador de AAD siga los pasos necesarios para que los usuarios den su consentimiento para que
las aplicaciones accedan a los datos de la compañía
Que el administrador de AAD permita a Power Query acceder a los datos
A continuación se describen todos los pasos necesarios para estas soluciones.
Concesión del permiso para que Power Query acceda a los datos de la
empresa
Otra solución es que el administrador de inquilinos dé su consentimiento a Power Query sin modificar los
permisos de todos los inquilinos. El administrador de inquilinos debe dar los siguientes pasos lograrlo:
1. Instale Azure PowerShell.
2. Ejecute los siguientes comandos de PowerShell:
Login-AzureRmAccount (e inicie sesión como administrador de inquilinos).
New-AzureRmADServicePrincipal -ApplicationId f3b07414-6bf4-46e6-b63f-56941f3f4128.
La ventaja de este enfoque (frente a la solución anterior) es que esta solución es muy directa. Solo aprovisiona la
entidad de servicio de Power Query, pero no se realizan otros cambios de permisos en el inquilino.
Integración de PowerApps, Microsoft Flow y Power
BI con SharePoint Online
23/03/2018 • 5 min to read • Edit Online
¿Tiene SharePoint Online y desea mejorar la automatización y simplificación de los procesos empresariales?
¿Ha trabajado con PowerApps, Microsoft Flow o Power BI, pero no está seguro de cómo usarlos con
SharePoint Online? Ha venido al lugar correcto. Esta serie de tutoriales explora cómo crear una aplicación
básica de administración de proyectos basada en listas de SharePoint y tres tecnologÃas claves que se integran
con SharePoint Online: PowerApps, Microsoft Flow y Power BI. Estas tecnologÃas funcionan de forma conjunta,
lo que facilita el análisis de su negocio, la actuación sobre los resultados y la automatización de los flujos de
trabajo. Cuando haya terminado con esta serie de tutoriales, tendrá un escenario estupendo similar al siguiente:
Escenario empresarial
En esta serie de tutoriales, la empresa Contoso tiene un sitio de SharePoint Online donde administran el ciclo de
vida de los proyectos, desde su solicitud, aprobación y desarrollo hasta la revisión final. Un solicitante de
proyecto como, por ejemplo, un director de departamento, solicita un proyecto de TI mediante la adición de un
elemento a una lista de SharePoint. Un aprobador de proyecto como, por ejemplo, un administrador de TI, revisa
el proyecto y, a continuación, lo aprueba o lo rechaza. Si se aprueba, el proyecto se asigna a un jefe de proyecto
y se agrega información adicional a una segunda lista en la misma aplicación. Un analista de negocios revisa
los proyectos actuales y los ya finalizados mediante un informe de Power BI insertado en SharePoint. Microsoft
Flow se utiliza para enviar un correo electrónico de aprobación y para responder a las alertas de Power BI.
Introducción rápida
El escenario que se presenta en esta serie de tutoriales es sencillo en comparación con una aplicación de
análisis y gestión de proyectos con todas las prestaciones, pero aún asà se tarda algún tiempo en completar
todas las tareas. Si solo desea obtener una introducción rápida al uso de PowerApps, Microsoft Flow y Power BI
con SharePoint, consulte los artÃculos siguientes:
PowerApps: Creación de una aplicación desde SharePoint mediante PowerApps y Generación de una
aplicación para administrar datos en una lista de SharePoint
Microsoft Flow: Espera de la aprobación en Microsoft Flow
Power BI: Insertar el elemento web de informes en SharePoint Online
Una vez que haya terminado, confiamos en que volverá para comprobar el escenario completo.
Incluso dentro del mismo escenario, puede centrarse en las tareas que más le interesen e ir completando el
resto a medida que disponga de más tiempo. Después de configurar las listas de SharePoint en la tarea 1,
puede trabajar en las tareas 2 a 5 en cualquier orden. Por último, las tareas 6 a 8 son secuenciales. Finalmente,
hemos incluido dos aplicaciones terminadas y un informe de Power BI Desktop como parte del paquete de
descarga de este escenario. Puede examinar estos y obtener información incluso aunque no realice todos los
pasos de cada tarea.
Requisitos previos
Para completar el escenario, necesita las siguientes suscripciones y herramientas de escritorio. La suscripción a
Office 365 Business Premium incluye PowerApps y Microsoft Flow.
Lo ideal es tener un conocimiento básico de cada tecnologÃa, pero incluso si no es asÃ, podrá completar el
escenario descrito. Use el siguiente contenido para ponerse al dÃa:
Introducción a SharePoint
Aprendizaje guiado de PowerApps
Aprendizaje guiado de Microsoft Flow
Aprendizaje guiado de Power BI
Pasos siguientes
El siguiente paso en esta serie de tutoriales es configurar las listas de SharePoint Online que se usan en toda la
serie.
Configuración de listas para la integración de
SharePoint Online con PowerApps, Microsoft Flow y
Power BI
23/03/2018 • 11 min to read • Edit Online
NOTA
Este artÃculo forma parte de una serie de tutoriales acerca del uso de PowerApps, Microsoft Flow y Power BI con SharePoint
Online. Asegúrese de leer la introducción a la serie para hacerse una idea general, asà como para obtener descargas
relacionadas.
SharePoint tiene una gran cantidad de caracterÃsticas para la colaboración y el uso compartido, pero nos
centraremos en una caracterÃstica de este escenario: las listas de SharePoint. Una lista no es más que una
colección de datos que se pueden compartir con los miembros del equipo y otros usuarios del sitio. Analizaremos
las listas que se usan en este escenario y, después, podrá crearlas en su propio sitio de SharePoint Online.
RequestDate Fecha
La segunda lista es Project Details, que realiza un seguimiento de los detalles de todos los proyectos aprobados,
como el jefe de proyecto asignado.
ApprovedDate Fecha
NOTA
Use Internet Explorer para este paso.
3. Abra el libro project-requests.xlsx y seleccione todos los datos (no los encabezados).
4. Copie los datos y péguelos en la cuadrÃcula de SharePoint y haga clic en o pulse en Done (Listo).
5. Repita el proceso de creación y copia de la lista "Project Details", para lo que usará el libro project-details.xlsx.
Consulte la tabla Project Details en Paso 1: Información de las listas, ya que contiene los tipos de datos y los
nombres de las columnas.
5. En el panel Datos, haga clic o pulse el botón de puntos suspensivos (... ) que se encuentra al lado de
Detalles del proyecto y haga clic o pulse en Quitar.
10. Haga clic o pulse el botón de puntos suspensivos (... ) que se encuentra al lado de Detalles del proyecto y
haga clic o pulse en Actualizar.
11. Haga clic en en la esquina superior derecha para ejecutar la aplicación y asegúrese de que la conexión
funciona correctamente.
12. Haga clic o pulse Archivo y guarde la aplicación en la nube.
13. Repita los pasos de esta sección en app.msapp de las solicitudes de proyecto, mediante el uso de la
lista Project Requests.
Actualizar las conexiones del informe de ejemplo
1. Abra project-analysis.pbix en Power BI Desktop.
2. En la cinta de opciones, en la pestaña Inicio, pulse o haga clic en Editar consultas y, luego, en
Configuración de origen de datos.
4. Escriba la dirección URL del sitio de SharePoint Online, haga clic o pulse Aceptar y, finalmente, Cerrar.
5. Power BI Desktop muestra un banner debajo de la cinta de opciones, con el fin de que pueda aplicar los
cambios y trasladar los datos del nuevo origen. Haga clic o pulse en Aplicar cambios.
6. Inicie sesión con una cuenta de Microsoft (la cuenta que utiliza para acceder a SharePoint Online) y haga
clic o pulse en Conectar.
Pasos siguientes
El siguiente paso de esta serie de tutoriales es generar una aplicación para controlar las solicitudes de proyecto.
Generación de una aplicación para controlar
solicitudes de proyecto
23/03/2018 • 11 min to read • Edit Online
NOTA
Este artÃculo forma parte de una serie de tutoriales acerca del uso de PowerApps, Microsoft Flow y Power BI con SharePoint
Online. Asegúrese de leer la introducción a la serie para hacerse una idea general, asà como para obtener descargas
relacionadas.
Ahora que las listas de SharePoint están en su sitio, podemos generar y personalizar la primera aplicación.
PowerApps está integrado con SharePoint, por lo que es fácil generar una aplicación de tres pantallas básica
directamente desde una lista. Esta aplicación permite ver información tanto resumida como detallada de cada
elemento de la lista, actualizar los elementos existentes en la lista y crear nuevos elementos en la lista. Si crea una
aplicación directamente a partir de una lista, esta aparece como un vista en dicha lista. Posteriormente, dicha
aplicación se puede ejecutar tanto en un explorador como en un teléfono móvil.
SUGERENCIA
El paquete de descarga para este escenario incluye una versión terminada de esta aplicación: project-requests-app.msapp.
2. Asigne un nombre a la aplicación, como "Project Requests app", y haga clic o pulse en Crear. Cuando la
aplicación está lista, se abre en PowerApps Studio para web.
3. Pulse o haga clic en la pantalla que desee para verla en el panel central. Hay tres pantallas:
(a). La pantalla de exploración, donde se exploran, ordenan y filtran los datos extraÃdos de la lista.
(b). La pantalla de detalles, en la que aparece información más detallada de un elemento.
(c). La pantalla de edición o creación, donde se editan los elementos existentes o se crean nuevos.
Paso 3: Personalización de la pantalla de exploración de la aplicación
1. Haga clic o pulse en la pantalla de exploración.
Esta pantalla tiene una diseño que contiene un galerÃa que muestra los elementos de lista, asà como
otros controles, como una barra de búsqueda y un botón de ordenación.
2. Seleccione la galerÃa BrowseGallery1 haciendo clic o pulsando en cualquier registro, excepto en el
primero.
Le permite ordenar y buscar por el campo Title, en lugar del predeterminado que eligió PowerApps. Para
más información, consulte Formula deep-dive (Análisis en profundidad de una fórmula).
7. Pulse o haga clic en Archivo y, luego, en Guardar. Haga clic o pulse en (Volver a la aplicación) para
volver a la aplicación.
2. Haga clic en Abrir, lo que abre la aplicación en una nueva pestaña de explorador.
3. En la aplicación, pulse o haga clic en en el primer elemento de la galerÃa de exploración.
Se trata de una aplicación muy simple y solo hemos realizado unas pocas personalizaciones básicas, pero se
puede ver que es posible crear rápidamente algo interesante. Vamos a pasar a la tarea siguiente, pero si lo desea,
examine la aplicación con mayor profundidad para ver cómo funcionan conjuntamente los controles y las
fórmulas para potenciar el comportamiento de la aplicación.
Pasos siguientes
El siguiente paso de esta serie de tutoriales es crear un flujo para administrar aprobaciones de proyectos.
Creación de un flujo para administrar aprobaciones
de proyectos
23/03/2018 • 10 min to read • Edit Online
NOTA
Este artículo forma parte de una serie de tutoriales acerca del uso de PowerApps, Microsoft Flow y Power BI con SharePoint
Online. Asegúrese de leer la introducción a la serie para hacerse una idea general, así como para obtener descargas
relacionadas.
En esta tarea, vamos a crear un flujo que acciona el proceso de aprobación de proyectos. Microsoft Flow está
integrado con SharePoint, por lo que resulta fácil crear un flujo de directamente desde una lista. El flujo que vamos
a crear se desencadena cuando se agrega un elemento a la lista Project Requests. El flujo envía un correo
electrónico al aprobador del proyecto, quien aprueba o rechaza la solicitud directamente en el correo electrónico.
Después, el flujo envía un correo electrónico de aprobación o rechazo al solicitante del proyecto y actualiza
nuestras listas de SharePoint en consecuencia.
2. En el panel derecho, pulse o haga clic en Enviar aprobación cuando se agregue un elemento nuevo.
3. Si aún no ha iniciado sesión, inicie sesión en SharePoint y Outlook, y pulse o haga clic en Continuar.
Ahora verá la plantilla para este flujo, lista para que la complete. Los cuadros en el flujo representan pasos.
Toman tanto la entrada de los pasos anteriores como la que el usuario proporcione. Cada paso puede
proporcionar salida a los pasos posteriores.
El siguiente cuadro del flujo responde a la decisión del correo electrónico del aprobador del proyecto y
enruta el flujo a una de las dos ramas: En caso positivo o En caso negativo.
2. De forma predeterminada, se envía un correo electrónico a la persona que creó el elemento de la lista, con la
línea de asunto y cuerpo del mensaje que se ven. Puede actualizar estos elementos si lo desea.
4. En Elegir una acción, busque "SharePoint", a continuación, haga clic o pulse en SharePoint: actualizar
elemento.
El contenido dinámico está disponible en todo el flujo, basándose en los pasos anteriores. En este caso, la
información de la lista de SharePoint está disponible y se puede usar en las acciones que se creen.
7. Seleccione el cuadro Title, busque "Title" en el cuadro de diálogo de contenido dinámico y pulse o haga clic
en Title.
8. En el cuadro Aprobado, escriba "Sí". Ahora esta parte del flujo debería parecerse a la siguiente imagen.
9. Vuelva a pulse o a hacer clic en Agregar una acción. Esta vez vamos a agregar un elemento a la lista
Project Details del proyecto que se ha aprobado.
10. En Elegir una acción, busque "SharePoint" y seleccione SharePoint: crear elemento.
12. Seleccione el cuadro Title, busque "Title" en el cuadro de diálogo de contenido dinámico y pulse o haga clic
en Title.
13. Seleccione el cuadro RequestId y pulse o haga clic en ID en el cuadro de diálogo de contenido dinámico.
14. En el cuadro PMAssigned, escriba "Sin asignar". Ahora esta parte del flujo debería parecerse a la siguiente
imagen.
2. De forma predeterminada, se envía un correo electrónico a la persona que creó el elemento de la lista, con la
línea de asunto y cuerpo del mensaje que se ven. Puede actualizar estos elementos si lo desea.
4. En Elegir una acción, busque "SharePoint", a continuación, haga clic o pulse en SharePoint: actualizar
elemento.
6. Seleccione el cuadro Identificador y pulse o haga clic en Identificador en el cuadro de diálogo Contenido
dinámico.
7. Seleccione el cuadro Title, busque "Title" en el cuadro de diálogo de contenido dinámico y pulse o haga clic
en Title.
8. En el cuadro Aprobado, escriba "No". Ahora esta parte del flujo debería parecerse a la siguiente imagen.
3. Compruebe la bandeja de entrada de la cuenta de correo electrónico del aprobador. Debe tener un correo
electrónico similar al siguiente.
4. Después de hacer clic en Aprobar o Rechazar el flujo ejecuta otro proceso y obtiene información similar a
la siguiente directamente en el correo electrónico.
5. El flujo envía un correo electrónico a Megan con la respuesta de Allan, como se muestra en la siguiente
imagen. Dicho correo electrónico procede de Megan porque es la propietaria del flujo.
Pasos siguientes
El siguiente paso de esta serie de tutoriales es crear una aplicación para administrar proyectos.
Crear una aplicación para administrar proyectos
23/03/2018 • 27 min to read • Edit Online
NOTA
Este artÃculo forma parte de una serie de tutoriales acerca del uso de PowerApps, Microsoft Flow y Power BI con SharePoint
Online. Asegúrese de leer la introducción a la serie para hacerse una idea general, asà como para obtener descargas
relacionadas.
En esta tarea, se va a crear una aplicación desde el principio. Esta aplicación permite a un usuario asignar un
administrador a proyectos y actualizar los detalles de proyectos. Va a ver algunos de los mismos controles y
fórmulas que en la primera aplicación, pero creará más partes de la aplicación en esta ocasión. El proceso es
más complejo, pero aprenderá más, por lo que el equilibrio deberÃa ser razonable.
SUGERENCIA
El paquete de descarga de este escenario incluye una versión terminada de esta aplicación: project-details-app.msapp.
2. Pulse o haga clic en Archivo, lo que abre en una pestaña Configuración de la aplicación. Escriba el
nombre "Project Management app".
3. Pulse o haga clic en Guardar como, compruebe que la aplicación se guardará en la nube y haga clic en
Guardar en la esquina inferior derecha.
PANTALLA PROPóSITO
La pestaña OrÃgenes de datos en el panel derecho muestra ahora la conexión que ha creado.
3. En la pestaña Insertar, pulse o haga clic en Etiqueta y arrastre la etiqueta debajo del tÃtulo superior.
4. En la barra de fórmulas, establezca las siguientes propiedades para la etiqueta:
Propiedad Color = GrisOscuro
Propiedad Tamaño = 18
Propiedad Texto = "Click or tap a task to continue…"
Ejecutar la aplicación
La aplicación aún no hace mucho, pero se puede ejecutar si asà lo desea:
1. Pulse o haga clic en la pantalla SelectTask (la aplicación siempre se inicia desde la pantalla seleccionada en
el modo de vista previa de PowerApps Studio).
2. Haga clic o pulse en la esquina superior derecha para ejecutar la aplicación.
3. Pulse o haga clic en uno de los botones para ir a otra pantalla.
4. Haga clic o pulse en la esquina superior derecha para cerrar la aplicación.
NOTA
Más adelante, se va a crear en la aplicación una página que permite editar todos los campos de un proyecto (incluido el de
administrador), pero también podrÃa estar bien crear una pantalla como esta.
4. En el panel derecho, actualice los campos para que coincidan con la siguiente lista:
ApprovedDate
Status
Title
5. Cambie el tamaño de las etiquetas en la galerÃa según corresponda y quite la flecha del primer elemento
de la galerÃa (no es necesario salir de esta galerÃa).
3. En la pestaña Insertar, pulse o haga clic en Texto y en Entrada de texto. Arrastre la entrada de texto
debajo de la galerÃa, en el centro. Establezca las siguientes propiedades para la lista desplegable:
Propiedad Predeterminado = ""
Propiedad Alto = 60
Propiedad Tamaño = 20
Propiedad Ancho = 250
4. En la pestaña Insertar, pulse o haga clic en Botón. Arrastre el botón debajo de la galerÃa, a la derecha.
Establezca las siguientes propiedades para el botón:
Propiedad Alto = 60
Propiedad AlSeleccionar = Patch('Project Details', LookUp('Project Details', ID =
Gallery1.Selected.ID), {PMAssigned: TextInput1.Text}). Para más información, consulte
Análisis en profundidad de una fórmula.
Esta fórmula actualiza la lista Project Details y establece un valor para el campo PMAssigned.
Propiedad Tamaño = 20
Propiedad Texto = "OK"
Propiedad Ancho = 80
3. En el panel derecho, actualice los campos para que coincidan con la siguiente lista:
Status
PMAssigned
Title
4. En la pantalla Assign Manager, verá los dos proyectos sin asignar en la lista. Seleccione el proyecto New
BI software.
6. Vuelva a la lista de SharePoint y actualice la página. Verá que la entrada del proyecto se ha actualizado con
el nombre del administrador de proyecto.
Actualizar detalles para el proyecto
1. Pulse o haga clic en para volver a la primera pantalla y en Update Details.
Pasos siguientes
El siguiente paso en esta serie de tutoriales es crear un informe de Power BI para analizar proyectos.
Creación de un informe de Power BI para analizar
proyectos
23/03/2018 • 26 min to read • Edit Online
NOTA
Este artículo forma parte de una serie de tutoriales acerca del uso de PowerApps, Microsoft Flow y Power BI con SharePoint
Online. Asegúrese de leer la introducción a la serie para hacerse una idea general, así como para obtener descargas
relacionadas.
En esta tarea, vamos a crear un informe de Power BI basado en las dos listas de SharePoint. Trasladaremos los
datos de las listas a Power BI Desktop y los limpiaremos un poco, realizaremos algunas operaciones básicas de
modelado de datos y crearemos un conjunto de objetos visuales que nos proporcionarán cierta información acerca
de los datos.
SUGERENCIA
El paquete de descarga de este escenario incluye una versión terminada de este informe: project-analysis.pbix.
En esta tarea no se usa la vista Relaciones, pero se puede consultar más adelante, después de que trasladar los
datos de lista a Power BI Desktop.
En el Editor de consultas, se crean consultas y se transforman datos y, posteriormente, el modelo de datos
refinados se carga en Power BI Desktop. El Editor de consultas tiene cuatro áreas principales:
1. La cinta de opciones, que tiene muchas opciones para dar forma y transformar los datos que se proporcionan.
2. El panel izquierdo, en el que se enumeran las consultas que se pueden seleccionar, visualizar y dar forma.
3. El panel central, en el que se muestran los datos de la consulta seleccionada y están disponibles para darles
forma.
4. La ventana Configuración de la consulta, que enumera las propiedades de la consulta y los pasos de
transformación de datos que se han aplicado.
3. Escriba la dirección URL del sitio de SharePoint y, después, haga clic en Aceptar o pulse en él.
4. Si aparece el siguiente cuadro de diálogo, asegúrese de que ha iniciado sesión con las credenciales correctas
y haga clic o pulse en Conectar.
5. Repita el proceso que acaba de realizar, ahora para Project Requests: quite FileSystemObjectType,
ServerRedirectedEmbedURL, ContentTypeId y todas las columnas a la derecha de la columna Approved
(un total de 22). La tabla debe coincidir con la de la siguiente imagen:
2. Haga clic o pulse en Archivo y , luego, en Guardar y guarde el proyecto con el nombre project-
analysis.pbix.
2. En la pestaña Modelado, haga clic o pulse Administrar relaciones. Permaneceremos en esta pestaña de la
vista Datos para todos los pasos del modelado de datos.
3. Asegúrese de que está seleccionada la relación existente, haga clic o pulse Eliminar y, después, otra vez
Eliminar para confirmar.
Esta fórmula crea una tabla denominada Dates con una sola columna de fecha. La tabla cubre todas las
fechas de la otra tabla y se actualiza automáticamente si se agregan fechas adicionales (es decir, si se
actualizan los datos).
Tanto esta fórmula como las restantes de esta sección usan expresiones de análisis de datos (DAX), un
lenguaje de fórmulas de Power BI y otras tecnologías. Para más información, consulte Aspectos básicos de
DAX en Power BI Desktop.
3. Presione Entrar para crear la tabla Dates.
ApprovedStartDiff = CALCULATE(SUM(Dates[IsWeekday]),
DATESBETWEEN(Dates[Date],
'Project Details'[ApprovedDate],
'Project Details'[ProjectedStartDate]
Esta fórmula calcula la diferencia, en días, entre el momento en que se aprobó un proyecto y cuando está
previsto que se inicie. Usa la columna IsWeekday de la tabla Dates, por lo solo cuentan los días laborables.
3. Presione Entrar para agregar la columna ApprovedStartDiff a la tabla Project Details.
RequestDateAge = CALCULATE(SUM(Dates[IsWeekday]),
DATESBETWEEN(Dates[Date],
'Project Requests'[RequestDate],
NOW()
Esta fórmula calcula la diferencia, en días, entre la fecha en que se solicitó un proyecto y la fecha de hoy
[AHORA()]. Una vez más, la fórmula solo cuenta los días laborables. Esta columna se utiliza para buscar el
proyecto que más tiempo lleva pendiente.
3. Presione Entrar para agregar la columna RequestDateAge a la tabla Project Requests.
VarProjectedActual = DIVIDE(
SUM('Project Details'[ProjectedDays])
Esta fórmula calcula la varianza entre días reales y previstos de un proyecto. Se agrega como una medida,
en lugar de como una columna calculada, por lo que devuelve los resultados correctos, independientemente
de cómo se filtren o se agreguen los datos en un informe.
3. Presione Entrar para agregar la medida VarProjectedActual a la tabla Project Details.
Adición de una medida a la tabla Project Requests
1. En el panel derecho, haga clic o pulse en la tabla Project Requests y , después, en Nueva medida.
MaxDaysPending = MAXX(
'Project Requests'[RequestDateAge]
Esta fórmula busca el proyecto más tiempo lleva pendiente, en función de la columna calculada que se ha
definido antes.
3. Presione Entrar para agregar la medida MaxDaysPending a la tabla Project Requests.
2. En el panel Visualizaciones panel de la derecha, haga clic o pulse Gráfico de columnas agrupadas.
3. Arrastre PMAssigned y Title de Project Details, en el panel Campos, a Eje, en el panel Visualizaciones.
El gráfico ahora está filtrado y muestra solo los proyectos completos, lo que tiene sentido porque se
comparan días previstos con días reales.
7. Haga clic en las flechas de la esquina superior izquierda del gráfico para subir y bajar por la jerarquía de los
jefes de proyecto y proyectos. En la siguiente imagen, verá cómo se exploran proyectos en profundidad.
Creación de un gráfico de barras que muestre la varianza a partir de las fechas previstas
1. Haga clic o pulse en el lienzo fuera de la visualización que acaba de crear.
2. En el panel Visualizaciones panel de la derecha, haga clic o pulse Gráfico de columnas agrupadas.
3. Arrastre PMAssigned y Title de Project Details, en el panel Campos, a Eje, en el panel Visualizaciones.
5. Arrastre Status desde el panel Campos de Project Details hasta el área Filtros del panel Visualizaciones
y seleccione la casilla Completado.
6. Para poder crear más visualizaciones, mueva las que ha creado y cámbielas de tamaño para que quepan en
paralelo.
Creación de una tarjeta que muestre el proyecto que lleva más tiempo pendiente
1. Haga clic o pulse en el lienzo fuera de la visualización que acaba de crear.
2. En el panel Visualizaciones de la derecha, haga clic o pulse Tarjeta.
3. Arrastre MaxDaysPending de Project Requests, en el panel Campos, a Campos en el panel
Visualizaciones.
4. Arrastre ProjectedStartDate de Project Details, en el panel Campos, al área Filtros del panel
Visualizaciones y seleccione todas las fechas, excepto (En blanco).
5. Ajuste el tamaño de las columnas de la tabla para que pueda ver todos los datos y ordénelos por
ApprovedStartDiff, de forma descendente. Ahora la visualización debería parecerse a la siguiente imagen.
6. En el área Valores, haga clic en la flecha hacia abajo (o púlsela) de ApprovedStartDiff y haga clic o pulse
Promedio. Ahora se puede ver el tiempo medio que transcurre entre la aprobación de un proyecto y la
fecha de inicio proyectada.
7. Vuelva a hacer clic o a pulsar la flecha hacia abajo de ApprovedStartDiff, haga clic o pulse Formato
condicional y, después, haga clic o pulse Escalas de color de fondo.
8. Establezca los colores de los campos Mínimo y Máximo como se muestra a continuación y haga clic o
pulse Aceptar.
Ahora la visualización debería parecerse a la siguiente imagen.
Como puede ver, los proyectos que ejecuta Irvin Sayers tienden a comenzar mucho más tarde que su
aprobación. Puede que haya factores que no tengan nada que ver con el administrador asignado, pero
merece la pena examinar este factor.
Esto nos lleva al final de la sección del informe y deberíamos tener un informe completo basado en los datos
importados de SharePoint y limpiados y modelados en Power BI Desktop. Si todo ha salido según el plan, el
informe debe ser similar al de la siguiente imagen.
Pasos siguientes
El siguiente paso en esta serie de tutoriales es publicar el informe de proyecto de Power BI y crear un panel.
Publicación del informe de proyecto de Power BI y
creación de un panel
23/03/2018 • 5 min to read • Edit Online
NOTA
Este artículo forma parte de una serie de tutoriales acerca del uso de PowerApps, Microsoft Flow y Power BI con SharePoint
Online. Asegúrese de leer la introducción a la serie para hacerse una idea general, así como para obtener descargas
relacionadas.
En esta tarea, vamos a publicar nuestro conjunto de datos y el informe en el servicio Power BI. A continuación, se
creará un panel basado en este informe. Muchas veces, un informe tiene un gran número de visualizaciones y solo
se usa un subconjunto en un panel. En este caso, vamos a agregar cuatro visualizaciones al panel.
2. Si aún no ha iniciado sesión en el servicio Power BI, especifique una cuenta y, a continuación, haga clic o
pulse en Iniciar sesión.
4. Elija un destino para el informe y, a continuación, haga clic o pulse en Seleccionar. Se recomienda la
publicación en un área de trabajo del grupo para simplificar el acceso al informe en SharePoint. En este caso,
vamos a publicar en el área de trabajo del grupo denominada Project Management. Para obtener más
información, consulte Colaboración en un área de trabajo de aplicación de Power BI.
5. Una vez finalizada la publicación, haga clic o pulse en Abrir 'project-analysis.pbx' en Power BI.
6. El servicio Power BI carga el informe en un explorador. Haga clic o pulse en el menú situado en la esquina
superior izquierda (a) para ver el panel de navegación izquierdo.
Puede ver que, cuando se hizo la publicación, Power BI Desktop cargó un conjunto de datos (d) y un
informe (c). Va a crear paneles en el servicio, no en Power BI Desktop, y esta área de trabajo aún no tiene
ningún panel (b). Vamos a crear uno a continuación.
4. Seleccione OAuth2 como método de autenticación y, a continuación, haga clic o pulse en Iniciar sesión.
5. Seleccione o inicie sesión en una cuenta que tenga permisos para las listas de SharePoint.
4. Haga clic o pulse en el gráfico de la esquina superior derecha y, después, haga clic o pulse en .
Así concluye la mayor parte del trabajo en Power BI. Si esta fue su primera experiencia de creación de informes y
paneles, ¡enhorabuena! Si ya era un experto, esperamos que haya podido efectuar todos los pasos con rapidez.
Ahora agregaremos alertas para asegurarnos de que sabe cuándo el panel necesita atención.
Pasos siguientes
El siguiente paso en esta serie de tutoriales es configurar alertas de datos para el informe de proyecto de Power BI.
Inserción del informe de proyecto de Power BI en
SharePoint Online
23/03/2018 • 4 min to read • Edit Online
NOTA
Este artículo forma parte de una serie de tutoriales acerca del uso de PowerApps, Microsoft Flow y Power BI con SharePoint
Online. Asegúrese de leer la introducción a la serie para hacerse una idea general, así como para obtener descargas
relacionadas.
Ahora vamos a insertar el informe de Power BI en el mismo sitio de SharePoint Online que hospeda nuestras dos
listas. Power BI admite varios métodos de inserción, como la integración directa en las páginas de SharePoint para
vistas móviles y web.
Con este tipo de inserción, Power BI inserta el informe como un elemento web, proporciona un acceso adecuado a
los usuarios y le permite desplazarse desde el informe insertado al informe de powerbi.com. En primer lugar, se va
a generar un vínculo de inserción en Power BI. Posteriormente, se utilizará ese vínculo en una página que vamos a
crear. Para obtener más información sobre cómo insertar, consulte Insertar el elemento web de informes en
SharePoint Online.
2. Podría incluir solamente un informe en la página principal del equipo, pero le mostraremos cómo crear
también una página independiente para él. Haga clic o pulse en Nueva y, a continuación en Página.
6. En el panel adecuado, copie la dirección URL en el cuadro Vínculo del informe de Power BI. Establezca
Mostrar panel de filtros y Mostrar el panel de navegación en Activado.
7. El informe ya se ha insertado en la página. Haga clic en Publicar para hacer que esté disponible para
cualquier persona que pueda acceder al informe subyacente.
Paso 3: Concesión de acceso al informe.
Si usas grupos de Office 365, tal y como se recomienda, asegúrese de que los usuarios que necesitan acceder son
miembros del área de trabajo del grupo en el servicio Power BI. Esto garantiza que los usuarios puedan ver el
contenido de ese grupo. Para obtener más información, consulte Colaboración en un área de trabajo de aplicación
de Power BI.
Así concluye nuestro trabajo en Power BI para este escenario. Empezó extrayendo datos de nuestras listas de
SharePoint en Power BI y ahora se ha cerrado el círculo con la inserción de un informe de Power BI de nuevo en
SharePoint.
Pasos siguientes
El siguiente paso en esta serie de tutoriales consiste en ejecutar íntegramente el flujo de trabajo que hemos creado.
Configurar alertas de datos para el panel de Power BI
23/03/2018 • 4 min to read • Edit Online
NOTA
Este artículo forma parte de una serie de tutoriales acerca del uso de PowerApps, Microsoft Flow y Power BI con SharePoint
Online. Asegúrese de leer la introducción a la serie para hacerse una idea general, así como para obtener descargas
relacionadas.
En esta tarea, se va a agregar una alerta en Power BI que avise de si se está tardando demasiado en aprobar
proyectos pendientes, y un flujo que responda cuando se produzca esa alerta. Para más información sobre las
alertas, consulte Alertas de datos en el servicio Power BI.
5. Observe las opciones disponibles para las alertas, como la frecuencia con la que se debe ejecutar una alerta.
Escriba el valor 25 para Umbral y pulse o haga clic en Guardar y cerrar.
La alerta no se activará ahora mismo, aunque 56 esté por encima del umbral de 25. Se activará cuando se
actualicen los datos, lo que se verá en el recorrido de principio a fin del escenario.
Cuando se activa la alerta, Power BI envía un mensaje de correo electrónico a su creador; en el paso siguiente, se
verá cómo enviar correo adicional mediante Microsoft Flow.
2. Pulse o haga clic en Enviar un correo electrónico al público cuando se desencadene una alerta de
datos de Power BI.
3. Pulse o haga clic en Usar esta plantilla.
4. Si aún no ha iniciado sesión, inicie sesión en Outlook y Power BI, y pulse o haga clic en Continuar.
5. En la lista desplegable Id. de alerta, seleccione Alert for Max days pending approval (Alerta para
máximo de días pendientes de aprobación).
7. Pulse o haga clic en Editar para ver otros campos que se pueden actualizar.
Se verá esta ejecución de flujo en el recorrido de principio a fin del escenario. Ahora se va a continuar con la última
tarea de este escenario: insertar un informe de Power BI en SharePoint.
Pasos siguientes
El siguiente paso en esta serie de tutoriales es insertar el informe de proyecto de Power BI en SharePoint Online.
Tutorial de principio a fin para el escenario de
integración de SharePoint Online completado
23/03/2018 • 9 min to read • Edit Online
NOTA
Este artículo forma parte de una serie de tutoriales acerca del uso de PowerApps, Microsoft Flow y Power BI con SharePoint
Online. Asegúrese de leer la introducción a la serie para hacerse una idea general, así como para obtener descargas
relacionadas.
Se ha tratado una cantidad enorme de datos en esta serie de tutoriales, desde la creación de aplicaciones y flujos
hasta la creación de informes y su inserción en SharePoint. Con suerte, habrá aprendido mucho y visto lo
suficiente sobre cómo se integran estas tecnologías, para que pueda integrar aplicaciones, flujos e informes en
SharePoint según sus necesidades propias. Antes de terminar, se va a realizar un recorrido del escenario de
principio a fin para ver cómo funcionan juntas todas las partes.
2. Haga clic en Abrir, lo que abre la aplicación en una nueva pestaña de explorador.
3. Compruebe la bandeja de entrada de la cuenta de correo electrónico del solicitante; debería ver un correo
electrónico de aprobación.
2. En el sitio de SharePoint, en el panel izquierdo, pulse o haga clic en Project Management app.
3. En la primera pantalla, pulse o haga clic en Assign Manager.
4. En la pantalla Assign Manager, verá los dos proyectos sin asignar en la lista. Seleccione el proyecto
Mobile devices for design team.
5. En la entrada de texto Manager, escriba "Joni Sherman" y haga clic en OK.
Se aplica el cambio a la lista y la galería se actualiza, de forma que solo se muestra el proyecto sin asignar
restante.
6. Cierre la aplicación y vuelva a la lista de SharePoint. Verá que la entrada del proyecto se ha actualizado con
el nombre del administrador de proyecto.
Como se señaló cuando se creó esta visualización, hay mucha más varianza en los proyectos ejecutados
por Irvin Sayers que en los de Joni Sherman.
4. Explore en profundidad la visualización y verá que gran parte de la varianza procede de dos proyectos que
tardaron mucho más tiempo del previsto.
5. Revise la tabla que muestra cuánto tiempo tardan los proyectos en pasar de la aprobación a la fecha de
inicio proyectada.
Como se señaló cuando se creó esta visualización, los proyectos que se asignaron a Irvin Sayers tardan
más en iniciarse y dos de ellos están tardando mucho más que el resto.
4. Compruebe la bandeja de entrada de la persona que creó la alerta (Megan Bowen, en este caso).
5. Compruebe la bandeja de entrada de la persona que agregó en el flujo de alertas de datos (Allan DeYoung,
en este caso).
6. Ahora que tiene información sobre los proyectos pendientes, puede regresar y aprobar los que tenga
esperando.
Con esto, ha llegado a la conclusión de este tutorial de principio a fin y de esta serie de tutoriales. Puede continuar
su viaje en los siguientes sitios:
PowerApps
Microsoft Flow
Power BI
Comunidad de usuarios avanzados
SharePoint
Comunidad tecnológica de Microsoft
Proporcione su opinión sobre esta serie, sugerencias para adiciones o ideas para contenidos adicionales que le
ayuden a trabajar con las tecnologías tratadas.
Uso de Cognitive Services en PowerApps
23/03/2018 • 14 min to read • Edit Online
En este artículo se muestra cómo compilar una aplicación básica que usa Text Analytics API de Microsoft Cognitive
Services para analizar texto. Le mostraremos cómo configurar Text Analytics API y cómo conectarse a ella con el
conector de Text Analytics. A continuación, le mostraremos cómo crear una aplicación que llama a la API.
NOTA
Si no está familiarizado con la compilación de aplicaciones en PowerApps, es aconsejable que lea Creación de una aplicación
desde cero antes de profundizar en este artículo.
3. La página muestra los resultados con formato en la pestaña Texto analizado, y la respuesta JSON en la
pestaña JSON. JSON es una forma de representar los datos; en este caso, los datos devueltos por Text
Analytics API.
Registro para Text Analytics API
La API está disponible como versión preliminar gratuita y está asociada con una suscripción de Azure. La API se
administra en Azure Portal.
1. Si aún no tiene una suscripción de Azure, regístrese para obtener una suscripción gratuita.
2. Inicie sesión en su cuenta de Azure.
3. Vaya a la hoja Crear en Cognitive Services, en Azure Portal.
4. Especifique la información de Text Analytics API, como en la siguiente imagen. Seleccione la tarifa F0
(gratuita).
8. Copie una de las claves de la derecha de la pantalla. Esta clave la usará más tarde, cuando cree una conexión
a la API.
Creación de la aplicación
Ahora que Text Analytics API está en funcionamiento, puede conectarse a ella desde PowerApps y compilar una
aplicación que llame a la API. Es una aplicación de una sola pantalla que proporciona una funcionalidad similar a la
demostración de la página Text Analytics API. Vamos a empezar a trabajar.
Creación de la aplicación y adición de una conexión
En primer lugar, cree una aplicación de teléfono vacía y agregue una conexión con el conector de Text Analytics. Si
necesita más información sobre estas tareas, consulte Crear una aplicación desde cero y Administración de las
conexiones en PowerApps.
1. En web.powerapps.com, elija Iniciar desde cero > (teléfono) > Crear esta aplicación.
Siga los pasos a continuación para crear esta pantalla. Si se especifica un nombre de control, ese el nombre que se
usará en una fórmula en la sección siguiente.
1. En la pestaña Inicio, pulse o haga clic en Nueva pantalla y en Pantalla desplazable.
2. En Screen2, seleccione [Título] y cámbielo a Text Analysis.
3. Agregue un control Etiqueta para el texto que se escribe.
4. Agregue un control Entrada de texto para que pueda escribir el texto que se va a analizar. Asigne al control
el nombre tiTextToAnalyze. Ahora la aplicación debería parecerse a la siguiente imagen.
5. Agregue tres controles Casilla para poder elegir qué operaciones de API se van a realizar. Asigne a los
controles los nombres chkLanguage, chkPhrases y chkSentiment.
6. Agregue un botón para poder llamar a la API después de seleccionar las operaciones que se van a realizar.
Ahora la aplicación debería parecerse a la siguiente imagen.
7. Agregue tres controles Etiqueta. Los dos primeros contienen los resultados de las llamadas a la API sobre el
idioma y la opinión; el tercero es simplemente una introducción a la galería de la parte inferior de la pantalla.
8. Agregue un control Galería vertical vacía y, después, agregue un control Etiqueta control a la galería. La
galería contiene los resultados de la llamada a la API sobre frases clave. Ahora la aplicación debería
parecerse a la siguiente imagen.
9. En el panel izquierdo, seleccione Screen1 > puntos suspensivos (... ) > Eliminar (no necesita esta pantalla
en la aplicación).
Simplificaremos esta aplicación para centrarnos en llamar a Text Analytics API, pero puede agregar elementos tales
como lógica para mostrar y ocultar los controles en función de las casillas que están activadas, para controlar los
errores si el usuario no selecciona ninguna opción, etc.
Adición de lógica para realizar las llamadas correctas a la API
Ya tiene una aplicación bonita, pero aún no hace nada. Eso se solucionará en un momento. Pero antes de
profundizar en los detalles, vamos a comprender el modelo que la aplicación sigue:
1. La aplicación realiza llamadas específicas a la API en función de las casillas activadas en la aplicación. Al hacer
clic o pulsar Analizar texto, la aplicación realiza 1, 2 o 3 llamadas a la API.
2. La aplicación almacena los datos que devuelve la API en tres colecciones diferentes: languageCollect,
sentimentCollect y phrasesCollect.
3. La aplicación actualiza la propiedad Texto de dos de las etiquetas y la propiedad Elementos de la galería se
actualizan en función de lo que hay en las tres colecciones.
Con esa información, vamos a agregar la fórmula de la propiedad AlSeleccionar del botón. Aquí es donde se
produce la magia.
If(chkLanguage.Value=true,
ClearCollect(languageCollect, TextAnalytics.DetectLanguage({numberOfLanguagesToDetect:1,
text:tiTextToAnalyze.Text}).detectedLanguages.name)
);
If(chkPhrases.Value=true,
ClearCollect(phrasesCollect, TextAnalytics.KeyPhrases({language:"en",
text:tiTextToAnalyze.Text}).keyPhrases)
);
If(chkSentiment.Value=true,
ClearCollect(sentimentCollect, TextAnalytics.DetectSentiment({language:"en",
text:tiTextToAnalyze.Text}).score)
Ejecutar la aplicación
Ahora que la aplicación ha finalizado, ejecútela para ver cómo funciona: haga clic o pulse el botón de ejecución de la
esquina superior derecha . En la siguiente imagen, se seleccionan las tres opciones y el texto es el mismo que el
texto predeterminado en la página de Text Analytics API.
Si compara la salida de esta aplicación con la página de Text Analytics API del principio de este artículo, verá que los
resultados son los mismos.
Esperamos que ahora comprenda un poco mejor Text Analytics API y que haya disfrutado de ver cómo se incorpora
a una aplicación. Háganos saber si hay otros servicios de Cognitive Services (u otros servicios en general) que
desearía que tratáramos en nuestros artículos. Como siempre, puede enviarnos sus comentarios y sus preguntas.
Referencia sobre fórmulas para PowerApps
09/04/2018 • 18 min to read • Edit Online
A
Abs: valor absoluto de un número.
Acceleration: lee el sensor de aceleración del dispositivo.
Acos: devuelve el arco coseno de un número, en radianes.
Acot: devuelve el arco tangente de un número, en radianes.
AddColumns: devuelve una tabla con columnas agregadas.
And: lógica booleana Y. Devuelve true si todos los argumentos son true. También puede usar el operador
&&.
App: devuelve información sobre la aplicación que se está ejecutando, por ejemplo, qué pantalla se
muestra actualmente.
Asin: devuelve el arco seno de un número, en radianes.
Atan: devuelve el arco tangente de un número, en radianes.
Atan2: devuelve el arco tangente en función de una coordenada (x,y), en radianes.
Average: calcula la media de una expresión de tabla o un conjunto de argumentos.
B
Back: muestra la pantalla anterior.
En blanco: devuelve un valor en blanco que puede utilizarse para insertar un valor NULL en un origen de
datos.
C
Calendar: recupera información sobre el calendario para la configuración regional actual.
Char: traduce un código de carácter en una cadena.
Clear: elimina todos los datos de una colección.
ClearCollect: elimina todos los datos de una colección y, después, agrega un conjunto de registros.
Clock: recupera información sobre el reloj para la configuración regional actual.
Coalesce: reemplaza valores blank y deja los valores que no son blank.
Collect: crea una colección o agrega datos a un origen de datos.
Color: establece una propiedad en un valor de color integrado.
ColorFade: atenúa un valor de color.
ColorValue: traduce un nombre de color CSS o un código hexadecimal en un valor de color.
Compass: devuelve el encabezado de brújula.
Concat: concatena cadenas en un origen de datos.
Concatenate: concatena cadenas.
Connection: devuelve información sobre la conexión de red.
Count: cuenta los registros de la tabla que contienen números.
Cos: devuelve el coseno de un ángulo especificado en radianes.
Cot: devuelve la cotangente de un ángulo especificado en radianes.
CountA: cuenta los registros de la tabla que no están vacÃos.
CountIf: cuenta los registros de la tabla que cumplen una condición.
CountRows: cuenta los registros de la tabla.
D
DataSourceInfo: proporciona información sobre un origen de datos.
Date: devuelve un valor de fecha y hora en función de los valores Year, Month y Day.
DateAdd: agrega dÃas, meses, trimestres o años a un valor de fecha y hora.
DateDiff: resta dos valores de fecha y muestra el resultado en dÃas, meses, trimestres o años.
DateTimeValue: convierte una cadena de fecha y hora en un valor de fecha y hora.
DateValue: convierte una cadena de fecha en un valor de fecha y hora.
Day: recupera la parte de dÃa de un valor de fecha y hora.
Defaults: devuelve los valores predeterminados para un origen de datos.
Degrees: convierte radianes en grados.
Disable: deshabilita una señal, como Location para leer el GPS.
Distinct: resume los registros de una tabla, para lo que quita los duplicados.
Download: descarga un archivo de la Web en el dispositivo local.
DropColumns: devuelve una tabla a la que se han quitado una o varias columnas.
E
EditForm: restablece un control de formulario para la edición de un elemento.
Enable: habilita una señal, como Location para leer el GPS.
EndsWith: comprueba si una cadena de texto termina con otra cadena de texto.
Errors: proporciona información de error para los cambios anteriores en un origen de datos.
EncodeUrl: codifica caracteres especiales mediante la codificación de la dirección URL.
Exit: sale de la aplicación que se está ejecutando.
Exp: devuelve e elevado a una potencia.
F
Filter: devuelve una tabla filtrada en función de uno o varios criterios.
Find: comprueba si una cadena aparece dentro de otra y devuelve la ubicación.
First: devuelve el primer registro de una tabla.
FirstN: devuelve el primer conjunto de registros (registros N) de una tabla.
ForAll: calcula valores y realiza acciones para todos los registros de una tabla.
G
GroupBy: devuelve una tabla con los registros agrupados.
H
HashTags: extrae los hashtags (#cadenas) de una cadena.
Hour: devuelve la parte de hora de un valor de fecha y hora.
I
If: devuelve un valor si una condición es true y otro valor si no lo es.
IfError: detecta errores y proporciona un valor alternativo o lleva a cabo una acción.
IsBlank: busca un valor en blanco.
IsEmpty: busca una tabla vacÃa.
IsMatch: comprueba una cadena con un patrón. Se pueden usar expresiones regulares.
IsNumeric: busca un valor numérico.
IsToday: comprueba si un valor de fecha y hora coincide con algún momento del dÃa actual.
Grande
Language: devuelve la etiqueta de idioma del usuario actual.
Last: devuelve el último registro de una tabla.
LastN: devuelve el último conjunto de registros (registros N) de una tabla.
Launch: inicia una dirección web o una aplicación.
Left: devuelve la parte del extremo izquierdo de una cadena.
Len: devuelve la longitud de una cadena.
Ln: devuelve el logaritmo natural.
LoadData: carga una colección del almacenamiento privado de PowerApps.
Location: devuelve la ubicación como una coordinada de mapa mediante el sistema de posicionamiento
global (GPS) y otra información.
LookUp: busca un único registro en una tabla en función de uno o varios criterios.
Lower: convierte todas las letras de una cadena de texto en minúsculas.
Mediana
Max: valor máximo de una expresión de tabla o un conjunto de argumentos.
Mid: devuelve la parte media de una cadena.
Min: valor mÃnimo de una expresión de tabla o un conjunto de argumentos.
Minute: recupera la parte de minuto de un valor de fecha y hora.
Mod: devuelve el resto después de que un dividendo se divida entre un divisor.
Month: recupera la parte de mes de un valor de fecha y hora.
N
Navigate: cambia la pantalla que se muestra.
NewForm: restablece un control de formulario para la creación de un elemento.
Not: lógica booleana NO. Devuelve true si su argumento es false y devuelve false si su argumento es true.
También puede usar el operador !.
Now: devuelve el valor de fecha y hora actual.
O
Or: lógica booleana O. Devuelve true si alguno de sus argumentos es true. También puede usar el operador
||.
P
Param: proporciona acceso a los parámetros pasados a la aplicación al abrirla el usuario.
Parent: proporciona acceso a las propiedades de un control contenedor.
Patch: modifica o crea un registro en un origen de datos, o bien combina registros fuera de un origen de datos.
Pi: devuelve el número π.
PlainText: quita las etiquetas HTML y XML de una cadena.
Power: devuelve un número elevado a una potencia. También puede usar el operador ^.
Proper: convierte la primera letra de cada palabra de una cadena en mayúsculas y el resto en minúsculas.
R
Radians: convierte grados en radianes.
Rand: devuelve un número pseudoaleatorio.
Refresh: actualiza los registros de un origen de datos.
Remove: quita uno o más registros especÃficos de un origen de datos.
RemoveIf: elimina los registros de un origen de datos en función de una condición.
RenameColumns: cambia el nombre de las columnas de una tabla.
Replace: reemplaza parte de una cadena por otra cadena, por posición inicial de la cadena.
Reset: restablece un control de entrada al valor predeterminado, descartando cualquier modificación del
usuario.
ResetForm: restablece un control de formulario para la edición de un elemento existente.
Revert: recarga y borra errores para los registros de un origen de datos.
RGBA: devuelve un valor de color para un conjunto de componentes rojo, verde, azul y alfabético.
Right: devuelve la parte del extremo derecho de una cadena.
Round: redondea al número más cercano.
RoundDown: redondea hacia abajo al número anterior más grande.
RoundUp: redondea hacia arriba al siguiente número más pequeño.
S
SaveData: guarda una colección en el almacenamiento privado de PowerApps.
Search: busca registros en una tabla que contengan una cadena en una de sus columnas.
Second: recupera la parte de segundo de un valor de fecha y hora.
Set: establece el valor de una variable global.
ShowColumns: devuelve una tabla exclusivamente con las columnas seleccionadas.
ShowError: muestra un mensaje de error al usuario.
Shuffle: reordena aleatoriamente los registros de una tabla.
Sin: devuelve el seno de un ángulo especificado en radianes.
Sort: devuelve una tabla ordenada en función de una fórmula.
SortByColumns: devuelve una tabla ordenada en función de una o varias columnas.
Split: divide una cadena de texto en una tabla de subcadenas.
Sqrt: devuelve la raÃz cuadrada de un número.
StartsWith: comprueba si una cadena de texto comienza con otra cadena de texto.
StdevP: devuelve la desviación estándar de sus argumentos.
Substitute: reemplaza parte de una cadena por otra cadena, por coincidencia de cadenas.
SubmitForm: guarda el elemento en un control de formulario para el origen de datos.
Sum: calcula la suma de una expresión de tabla o un conjunto de argumentos.
Cambiar: busca la coincidencia con un conjunto de valores y luego evalúa una fórmula correspondiente.
T
Table: crea una tabla temporal.
Tan: devuelve la tangente de un ángulo especificado en radianes.
Text: da formato a un número como una cadena para mostrar.
ThisItem: cuando se está en una galerÃa o un formulario, devuelve los datos para el elemento actual del
contenedor.
Time: devuelve un valor de fecha y hora, en función de los valores Hour, Minute y Second.
TimeValue: convierte una cadena de hora en un valor de fecha y hora.
TimeZoneOffset: devuelve la diferencia entre la hora UTC y la hora local del usuario en minutos.
Today: devuelve el valor de fecha y hora actual.
Trim: quita los espacios adicionales de los extremos y el interior de una cadena de texto.
TrimEnds: quita los espacios adicionales únicamente de los extremos de una cadena de texto.
U
Ungroup: quita una agrupación.
Update: reemplaza un registro en un origen de datos.
UpdateContext: establece el valor de una o varias variables de contexto de la pantalla actual.
UpdateIf: modifica un conjunto de registros en un origen de datos en función de una condición.
Upper: convierte todas las letras de una cadena de texto en mayúsculas.
User: devuelve información sobre el usuario actual.
V
Validate: comprueba si el valor de una sola columna o un registro completo es válido para un origen de
datos.
Value: convierte una cadena en un número.
VarP: devuelve la varianza de sus argumentos.
ViewForm: restablece un control de formulario para la visualización de un elemento existente.
W
Weekday: recupera la parte de dÃa de la semana de un valor de fecha y hora.
Y
Year: recupera la parte de año de un valor de fecha y hora.
Controles y propiedades en PowerApps
23/03/2018 • 49 min to read • Edit Online
Para configurar la apariencia y el comportamiento de un control es preciso establecer una de sus propiedades.
Cada tipo de control tiene un conjunto de propiedades diferente. Algunas propiedades, como Alto y Ancho, son
comunes a casi todos los tipos de controles, pero otras, como TamañoDeCasilla, son especÃficas de un tipo de
control.
Controles
Agregar imagen: cargue imágenes desde el dispositivo local, para cargarlas en un origen de datos.
Datos adjuntos: cargue y descargue archivos desde el dispositivo local a un origen de datos.
Audio: reproduzca un clip de audio o la parte de audio de un clip de vÃdeo.
Escáner de código de barras (experimental): escanee un código de barras mediante un dispositivo que
tiene una cámara.
Botón: interactúe con la aplicación haciendo clic en él o pulsándolo.
Cámara: haga fotos y guárdelas en la aplicación o en un origen de datos.
Tarjeta: muestre y edite un campo individual de un registro en un control de un formulario de edición o
formulario de presentación.
Casilla: active o desactive una opción para especificar true o false.
Gráfico de columnas: muestre los valores en forma de barras verticales en relación a dos ejes.
Columna: proporciona la representación de un solo campo en un control Tabla de datos.
Cuadro combinado: permite a los usuarios seleccionar entre las opciones proporcionadas. Admite tanto la
búsqueda como la selección múltiple.
Tabla de datos: muestre datos en formato tabular.
Selector de fecha: especifique una fecha haciendo clic en él o pulsándolo.
Mostrar formulario: muestre los registros de un origen de datos mediante un formulario.
Desplegable: muestre el primer elemento de una lista hasta que se selecciona un botón de contenido adicional.
Formulario de edición: edite y cree registros en un origen de datos mediante un formulario.
Formulario de entidad (caracterÃstica experimental): agregue formularios dinámicos en el que los usuarios
puedan ver datos relacionales de Common Data Service, editarlos y navegar por ellos.
Exportar : exporte datos para usarlos en cualquier otro lugar de PowerApps.
GalerÃa: muestre una lista de los registros que pueden contener varios tipos de datos.
Texto HTML: convierta automáticamente las etiquetas HTML.
Icono: agregue un gráfico atractivo y aumente el interés visual.
Imagen: muestre una imagen de, por ejemplo, un archivo local o un origen de datos.
Importar: importe datos de cualquier otro lugar de PowerApps.
Gráfico de lÃneas: muestre los valores en forma de puntos de datos en relación a dos ejes.
Cuadro de lista: seleccione uno o varios elementos de una lista.
Micrófono: grabe y guarde sonidos en la aplicación o en un origen de datos.
Visor de PDF (experimental): muestre el contenido de un archivo PDF en Internet.
Entrada manuscrita: dibuje una imagen o escriba texto y guárdelo en la aplicación o en un origen de datos.
Gráfico circular: muestre la relación de los valores entre sÃ.
Icono de Power BI: mostrar un icono de Power BI dentro de una aplicación.
Radio : muestre opciones que se excluyen mutuamente.
Clasificación: indique un valor entre 1 y un número especificado.
Pantalla: muestre y actualice los datos sobre una tarea especÃfica.
Forma: muestre flechas y formas geométricas, como rectángulos.
Control deslizante: especifique un valor arrastrando un controlador.
Etiqueta: muestre datos como texto, números, fechas o moneda.
Entrada de texto: escriba texto, números y otros datos.
Temporizador: configure la aplicación para que responda cuando transcurra un perÃodo concreto.
Alternancia: arrastre un cuadro para especificar true o false.
VÃdeo: reproduzca un clip de vÃdeo de un archivo local, un origen de datos o YouTube.
Los datos están el núcleo de la mayorÃa de las aplicaciones, entre las que se incluyen las que se compilan en
PowerApps. Los datos se almacenan en un origen de datos y para enviarlos a una aplicación se crea una
conexión. La conexión utiliza un conector concreto para comunicarse con el origen de datos. PowerApps tiene
conectores para muchos de los servicios y orÃgenes de datos locales más usados, como SharePoint, SQL Server,
Office 365, Salesforce, Twitter, etc. Para empezar a agregar datos a una aplicación, consulte Adición de una
conexión de datos en PowerApps.
La tabla siguiente contiene vÃnculos a más información acerca de nuestro conectores más usados. Para ver
una lista completa de conectores, consulte el apartado Todos los conectores.
SharePoint Excel
Tipos de conectores
PowerApps tiene dos tipos de conectores: conectores estándar, como los que ya se han mencionado, y
conectores personalizados. Si se va a conectar a un origen de datos que PowerApps admite con un conector
estándar, use dicho conector. Si necesita conectarse a otro origen, como un servicio que ha creado, consulte
Registrar y usar conectores personalizados en PowerApps.
Los conectores estándar se comportan de forma diferente según el tipo de origen de datos al que se conectan
y la forma en que el origen de datos devuelve los datos:
Algunos conectores usan orÃgenes de datos tabulares, como SharePoint, SQL Server y Excel. Cuando se
trabaja con estos orÃgenes de datos, los datos se devuelven a PowerApps en forma de tabla. PowerApps
utiliza sus propias funciones, como Patch(), Collect(), Update(), entro otras, para interactuar con los datos.
Los datos tabulares también son fáciles de usar en formularios y galerÃas, donde un campo de una
tabla se muestra como un campo de una galerÃa o un formulario. Para más información, consulte los
siguientes artÃculos:
Información acerca de los orÃgenes de datos en PowerApps
Creación de una aplicación a partir de datos de Excel
Crear una aplicación desde cero
NOTA
Para conectarse a datos en Excel, el libro debe estar hospedado en un servicio de almacenamiento en la nube como
OneDrive. Para más información, consulte Conexiones de almacenamiento en la nube.
Otros conectores usan orÃgenes de datos basados en funciones, como Twitter, Facebook y Office 365
Outlook. Cuando se trabaja con estos orÃgenes de datos, los datos se devuelven a PowerApps cuando se
llama a funciones especÃficas del servicio subyacente. Por ejemplo, con el conector de Twitter se llama a
Twitter.MyFollowers() para devolver una lista de los seguidores. Estos datos también se pueden usar
en un formulario o una galerÃa, pero es preciso un esfuerzo algo mayor que con los datos tabulares. Para
más información, consulte Twitter.
Si tiene alguna duda acerca de un conector concreto, use los foros de PowerApps. Si tiene una idea para un
nuevo conector o sugerencias sobre posibles mejoras, use PowerApps Ideas.
Trabajo con entornos y Microsoft PowerApps
23/03/2018 • 5 min to read • Edit Online
Con PowerApps, puede trabajar en entornos diferentes y cambiar fácilmente entre ellos. Para obtener
información general de los entornos, consulte Environments overview (Información general de los entornos),
que explica en detalle por qué utilizar entornos y cómo puede crearlos y administrarlos. El ámbito de este
artÃculo trata los siguientes temas sobre el entorno:
Cómo cambiar el entorno en powerapps.com
Cómo crear una aplicación en el entorno adecuado
Cómo ver una aplicación en el entorno adecuado
Cambio de entorno
Cuando se registra y e inicia sesión por primera vez en powerapps.com, probablemente accederá al entorno
predeterminado. Puede comprobarlo en la esquina superior derecha de la página.
El entorno predeterminado es accesible a todos. Puede empezar a crear aplicaciones en este entorno y
compartirlas con otros usuarios. También puede tener acceso a otros entornos, como aquellos que ha creado
usted mismo o aquellos creados por otros usuarios, pero a los que tiene acceso. Para intercambiar los entornos,
haga clic en la lista desplegable de entorno en la esquina superior derecha y seleccione otro entorno. En este
ejemplo, se va a cambiar de Entorno predeterminado a Entorno 1.
Cuando cambie a un entorno diferente (por ejemplo, a Entorno 1), verá todas las aplicaciones que ha creado o a
las que tiene acceso en este nuevo entorno.
Para cambiar los entornos en PowerApps Studio para Windows o PowerApps Studio para web:
Para más información acerca de los entornos, consulte esta información general.
Novedades de PowerApps
09/04/2018 • 7 min to read • Edit Online
Para más información sobre las limitaciones conocidas, consulte Problemas y resoluciones habituales.
NOTA
Las versiones se implementan durante varios dÃas. Es posible que las funcionalidades nuevas o actualizadas no se muestren
inmediatamente.
21 de marzo
1. Cree aplicaciones controladas por modelos, que empiezan con el modelo de datos y se compilan a partir de la
forma de los datos y procesos de negocio fundamentales en Common Data Service para crear formularios,
vistas y otros componentes. Las aplicaciones controladas por modelos generan automáticamente una interfaz
de usuario excelente con capacidad de respuesta en todos los dispositivos.
2. Cree una base de datos en la versión más reciente de Common Data Service en un entorno.
3. Ahora Common Data Service for Apps incluye lo siguiente:
Tipos de datos adicionales que admiten definiciones de entidades más complejas y proporcionan
experiencias más enriquecidas. (Se aplica a las aplicaciones de lienzo y controladas por modelos).
Cree y personalice entidades en Common Data Service for Apps directamente desde el sitio de
PowerApps. La experiencia actualizada incluye rendimiento mejorado, una interfaz de usuario más
fácil de usar y funciones útiles como la creación en lÃnea de conjuntos de opciones. (Se aplica a las
aplicaciones de lienzo y controladas por modelos).
Cree reglas de negocio del lado servidor para validar los datos introducidos en Common Data Service
for Apps. (Se aplica a las aplicaciones de lienzo y controladas por modelos).
Cree campos calculados y consolidados en entidades de Common Data Service for Apps directamente
desde el sitio de PowerApps. (Se aplica a las aplicaciones de lienzo y controladas por modelos).
Los desarrolladores pueden usar el Kit de desarrollo de software (SDK) de Common Data Service for
Apps para crear personalizaciones basadas en código para Common Data Service.
Los usuarios avanzados pueden tener acceso a los datos almacenados en Common Data Service for Apps
a través de una nueva API web de OData.
Importe datos en Common Data Service con Power Query. Use Power Query en la web para importar
datos directamente a Common Data Service for Apps desde varios orÃgenes
5 de marzo
1. Se han agregado (y eliminado) datos adjuntos a listas de SharePoint.
2. Se abren archivos PDF externos en un explorador web. (caracterÃstica experimental)
12 de febrero
El control de volumen para la reproducción de vÃdeo y audio incrustados ahora está en lÃnea. Para silenciar la
reproducción, en lugar de hacer clic o pulsar en un botón, los usuarios ahora deben usar el control de
volumen para reducir el volumen.
7 de febrero
1. Se han eliminado las propiedades Zoom, Brillo y Contraste de los controles de Cámara y Escáner de código
de barras.
2. Se ha corregido el problema en el que los botones Borrar de los controles de Entrada de texto limitaban el
espacio asignado para que el usuario escriba texto. Como resultado de esta corrección, la propiedad Borrar de
un control de Entrada de texto solo se admite en los exploradores web Microsoft Edge (última versión) e
Internet Explorer 11.
3. Se han agregado mejoras de accesibilidad en los controles multimedia.
31 de enero
1. Se han agregado subtÃtulos a los controles de VÃdeo.
2. Se ha mejorado el control de los errores en los controles del Visor de PDF.
18 de enero
1. PowerApps para iOS y Android ahora admiten la integración con Microsoft Authenticator.
2. A cuadro combinado reemplaza el control de búsqueda de SharePoint en los formularios y se selecciona una
nueva plantilla de tarjeta de datos para los campos de búsqueda de selección única de manera
predeterminada en PowerApps Studio.
3. En los cuadros combinados, todos los elementos se ven en lista larga con modo de lectura mejorado.
4. Control del tamaño del lÃmite de registros locales que se almacenan, hasta un máximo de 2000 registros en
las consultas no delegables. (caracterÃstica experimental)
5 de enero
Actúe en los datos directamente desde un informe o panel de Power BI mediante la integración de un objeto
visual personalizado de PowerApps (versión preliminar), que extrae los datos contextuales del informe de
Power BI.
8 de diciembre
1. Plantillas de condición para que las reglas deduzcan las propiedades comunes de un control (como Texto o
Valor).
2. Deja de mostrarse el cuadro de dialogo de confirmación Definición de acciones al definir acciones de regla.
13 de noviembre
1. Selección de varios valores para el mismo campo en las listas de SharePoint.
2. Visualización y descarga de datos adjuntos en listas de SharePoint.
3. Personalización de los formularios de las listas de SharePoint mediante PowerApps.
10 de noviembre
Cambiar el nombre de las reglas en una aplicación y mostrar las reglas cuando el control seleccionado está en
la condición de la regla.
30 de octubre
1. Se muestran todas las reglas de una aplicación, no solo las del control seleccionado.
2. Se agregan los iconos más solicitados por los creadores de aplicaciones.
3. Se ha mejorado el rendimiento de las aplicaciones en dispositivos Android e iOS.
Problemas y soluciones habituales de PowerApps
23/03/2018 • 15 min to read • Edit Online
Anteriores
1. Cambio de un flujo en una aplicación compartida
Si agrega un flujo a una aplicación, la comparte y, después, agrega un servicio o cambia una conexión
en el flujo, debe quitar el flujo de la aplicación compartida, volver a agregar el flujo y volver a compartir la
aplicación. De lo contrario, los usuarios que desencadenan el flujo obtendrán un error de autenticación.
2. Uso de una versión localizada.
Si está ejecutando la versión 2.0.531 en Windows 8.1, no podrá escribir en un control de entrada de
texto si el dispositivo está configurado para un idioma que requiere una ventana IME.
3. Control de la cámara en Windows Phone
Una aplicación que contiene un control de la cámara puede bloquearse si abre la aplicación en Windows
Phone que ejecuta la compilación 10.0.10586.107. Para evitar este problema, actualice a la compilación
más reciente (por ejemplo, mediante la ejecución del Asesor de actualizaciones).
4. Abrir una aplicación a partir de una plantilla
Si está ejecutando la versión 2.0.500 o anterior, aparece un mensaje de error al intentar crear una
aplicación a partir de una plantilla. Debe actualizar la versión para poder usar esta caracterÃstica.
Si está ejecutando la versión 2.0.510 o posterior, puede aparecer una advertencia al intentar crear una
aplicación a partir de una plantilla. No obstante, puede cerrar el mensaje y crear la aplicación.
5. Escaneo de un código de barras
Para más información sobre las limitaciones y los procedimientos recomendados al utilizar un control
Código de barras, consulte Escanear un código de barras.
6. Creación y modificación de aplicaciones en un explorador
En la versión web de PowerApps Studio puede hacer muchas de las cosas que puede hacer en PowerApps
Studio para Windows, pero no todas. Para más información, consulte Create an app in a browser (Crear
una aplicación en un explorador).
7. Cambio de un campo de tÃtulo en una entidad
Si cambia el campo de tÃtulo para una entidad que hace referencia a otras entidades mediante una o varias
búsquedas, se producirá un error al intentar guardar el cambio. Para evitar este problema, quite todas las
búsquedas de la entidad para la que desea cambiar el campo de tÃtulo, realice el cambio y vuelva a crear
las búsquedas. Para más información acerca de las búsquedas, consulte Crear una relación entre
entidades.
8. Aplicaciones que se conectan a SharePoint local
Si comparte una aplicación que se basa en conexiones que no se comparten automáticamente (por
ejemplo, un sitio de SharePoint local), los usuarios que abran la aplicación en un explorador verán un
cuadro de diálogo sin texto al hacer clic o pulsar en Iniciar sesión. Para cerrar el cuadro de diálogo, haga
clic o pulse en el icono Cerrar (X) en la esquina superior derecha. El cuadro de diálogo no aparece si se abre
la aplicación en PowerApps Studio o PowerApps Mobile. Para más información acerca de las conexiones
compartidas, consulte Share app resources (Uso compartido de recursos de la aplicación).
9. Cuando PowerApps genera una aplicación a partir de datos, el campo utilizado para ordenar y
buscar no está configurado automáticamente.
Para configurar este campo, modifique la fórmula Elementos de la galerÃa, tal como se describe en las
secciones para filtrar y ordenar en Add a gallery (Agregar una galerÃa).
10. Para las aplicaciones que se crean a partir de datos, solo se puede acceder a los 500 primeros
registros de un origen de datos.
En general, PowerApps funciona con orÃgenes de datos de cualquier tamaño mediante la delegación de
operaciones al origen de datos. Para las operaciones que no se pueden delegar, PowerApps mostrará una
advertencia en el momento de la creación y operará solo en los 500 primeros registros del origen de
datos. Consulte el artÃculo Filter function (Función de filtro) para más información acerca de la
delegación.
11. Se debe dar un formato de tabla a los datos de Excel.
Para más información acerca de las limitaciones al usar Excel como origen de datos, consulte Cloud-
storage connections (Conexiones de almacenamiento en la nube).
12. Se admiten listas personalizadas de SharePoint pero no las bibliotecas, algunos tipos de columnas
de la lista o las columnas que admiten varios valores o selecciones.
Para más información, consulte SharePoint Online.
13. No se admite la co-autorÃa. Solo un autor a la vez, por favor.
Puede dañar una aplicación o sobrescribir los cambios de otros usuarios si más de una persona está
modificando a la vez la misma aplicación. Cierre la aplicación antes de que otra persona la edite.
14. A veces, se tarda un tiempo en poder usar una aplicación recién compartida.
En algunos casos, una aplicación recién compartida no estará disponible de inmediato. Espere unos
instantes y estará disponible.
15. En Control de formulario, no puede modificar datos con una tarjeta personalizada.
Falta la propiedad Update en la tarjeta personalizada de existencias, que es necesaria para escribir los
cambios. Para solucionar este problema:
Seleccione el control de formulario e inserte una tarjeta mediante el panel derecho en función del
campo que desee que muestre la tarjeta.
Desbloquee la tarjeta, tal como se describe en Understanding data cards (Comprender tarjetas de datos).
Quite o reorganice los controles dentro de la tarjeta como considere oportuno, tal como lo harÃa con la
tarjeta personalizada.
16. Una aplicación que se ejecuta en Android 5.0, Nexus 6 con Webview de versiones v48 o v49,
puede bloquearse.
Los usuarios pueden solucionar este problema mediante la actualización a una versión anterior de
Webview (3x) o a Android 6.0.
17. El uso de la cámara puede estar deshabilitado temporalmente si hay poca memoria.
Si el dispositivo móvil tiene poca memoria, la cámara se deshabilita temporalmente para evitar el bloqueo
del dispositivo.
18. El conector de vÃdeo de Office 365 no es compatible.
19. La galerÃa de tarjetas está en desuso.
Las aplicaciones existentes que utilizan esta caracterÃstica seguirán ejecutándose por el momento pero no
puede agregar una galerÃa de tarjetas. Reemplace las galerÃas de tarjetas por los nuevos controles Editar
formulario y Mostrar formulario.
Lista de seminarios web de PowerApps
23/03/2018 • 10 min to read • Edit Online
Estos seminarios web pueden ayudarle a aprovechar las características y funciones de Microsoft PowerApps. No
dude en sugerir temas adicionales en los comentarios de este tema.
El diseño de aplicaciones controladas por modelos es un enfoque de componentes sin código o con poca
cantidad de código enfocado al desarrollo de aplicaciones. A diferencia del desarrollo de aplicaciones de lienzo en
el que el diseñador tiene el control completo sobre el diseño de la aplicación, con las aplicaciones controladas
por modelos gran parte del diseño se determina automáticamente y se diseña en gran medida por los
componentes que se agregan a la aplicación.
IMPORTANTE
Preview features aren’t meant for production use and may have restricted functionality. These features are available
before an official release so that customers can get early access and provide feedback.
Campo de conjunto de opciones Se trata de un tipo de campo especial, Diseñador de conjuntos de opciones
que proporciona al usuario un conjunto de PowerApps
de opciones predeterminadas. Cada
opción tiene un valor numérico y
una etiqueta. Cuando se agrega a un
formulario, en este campo se muestra
un control para que el usuario
seleccione una opción. Hay dos tipos
de conjuntos de opciones; los conjuntos
de opciones, donde el usuario solo
puede seleccionar una opción, y los
conjuntos de opciones de selección
múltiple, que permiten más de una
selección.
Interfaz de usuario
Estos componentes determinan cómo interactúan los usuarios con la aplicación.
Lógica
Determina los procesos de negocio, las reglas y la automatización que va a tener la aplicación. Los creadores de
PowerApps usan un diseñador que es especÃfico del tipo de proceso o regla.
Flujo de proceso de negocio Un proceso en lÃnea que guÃa a los Diseñador de flujos de proceso de
usuarios a través de un proceso de negocio
negocio estándar. Por ejemplo, se
puede usar un flujo de proceso de
negocio si quiere que todos los
usuarios controlen las solicitudes de
servicio de cliente del mismo modo, o
bien para requerir que el personal
obtenga la aprobación de una factura
antes de enviar un pedido.
Flujo de trabajo Los flujos de trabajo automatizan los Diseñador de flujos de trabajo
procesos de negocio sin una interfaz de
usuario. Los diseñadores usan los
flujos de trabajo para iniciar la
automatización que no requiere la
intervención del usuario.
Regla de negocio Se usa para aplicar la lógica de reglas o Diseñador de reglas de negocio
recomendaciones a un formulario, por
ejemplo para establecer requisitos de
campo, ocultar campos o validar datos.
Los diseñadores de aplicaciones usan
una interfaz sencilla para implementar y
mantener reglas que cambian con
rapidez y son de uso frecuente.
Para abrir el Explorador de soluciones, haga clic en Basado en modelos en el panel izquierdo de PowerApps.
Después, haga clic en la pestaña Opciones avanzadas.
Pasos siguientes
Crear una entidad personalizada en PowerApps
Tutorial: Compartir una aplicación controlada por
modelos con PowerApps
09/04/2018 • 14 min to read • Edit Online
Las aplicaciones de PowerApps usan la seguridad basada en roles para su uso compartido. El concepto
fundamental en la seguridad basada en roles es que un rol de seguridad contiene los privilegios que definen un
conjunto de acciones que se pueden realizar dentro de la aplicación. Todos los usuarios de la aplicación deben
estar asignados a uno o más roles predefinidos o personalizados. O bien, los roles se pueden asignar a equipos.
Cuando un usuario o equipo se asigna a uno de estos roles, se concede al usuario o los miembros del equipo el
conjunto de privilegios asociados a ese rol.
En este tutorial realizará las tareas para compartir una aplicación controlada por modelos para que otros usuarios
puedan usarla. Obtendrá información sobre cómo:
Crear un rol de seguridad personalizado
Asignar usuarios al rol de seguridad personalizado
Asignar el rol de seguridad a una aplicación
IMPORTANTE
Preview features aren’t meant for production use and may have restricted functionality. These features are available
before an official release so that customers can get early access and provide feedback.
Requisitos previos
Para compartir una aplicación debe tener el rol Administrador de entorno de PowerApps o el rol Administrador
del sistema.
7. Como la aplicación de peluquerÃa para mascotas también tiene una relación con la entidad de cuenta, haga
clic en la pestaña Registros principales y, en la fila Cuenta, seleccione cuatro veces Lectura hasta que se
seleccione .
8. Haga clic en Guardar y cerrar.
9. En el Diseñador de roles de seguridad, en el cuadro Nombre de rol, escriba Programadores de peluquerÃa
para mascotas.
10. Haga clic en la pestaña Entidades personalizadas y, después, busque la entidad Mascota.
11. En la fila Mascota, seleccione cuatro veces cada uno de los privilegios siguientes hasta que se seleccione :
Crear, Leer, Escribir, Eliminar Anexar, Anexar a, Asignar, Compartir.
12. Como la aplicación de peluquerÃa para mascotas también tiene una relación con la entidad de cuenta y los
programadores deben poder crear y modificar registros de cuenta, haga clic en la pestaña Registros
principales y, en la fila Cuenta, seleccione cuatro veces cada uno de los privilegios siguientes hasta que se
seleccione . Crear, Leer, Escribir, Eliminar, Anexar, Anexar a, Asignar, Compartir
13. Haga clic en Guardar y cerrar.
4. Seleccione Guardar.
Administrador del sistema Crear, Leer, Escribir, Eliminar, Tiene permiso completo para
Personalizaciones, Roles de seguridad personalizar o administrar el entorno,
incluida la creación, modificación y
asignación de roles de seguridad.
Puede ver todos los datos en el
entorno. Más información: Privilegios
necesarios para la personalización
Personalizador del sistema Crear (propio), Lectura (propio), Tiene permiso total para personalizar el
Escritura (propio), Eliminar (propio), entorno. Pero solo puede ver los
Personalizaciones registros de las entidades de entorno
que crea. Más información: Privilegios
necesarios para la personalización
Usuario de Common Data Service Lectura, Crear (propio), Escritura Puede ejecutar una aplicación en el
(propio), Eliminar (propio) entorno y realizar tareas comunes para
los registros que le pertenecen.
Delegado Actuar en nombre de otro usuario Permite que el código se ejecute como
otro usuario o lo suplante. Se usa
normalmente con otro rol de seguridad
para permitir el acceso a los registros.
Más información: Suplantar a otro
usuario
Pasos siguientes
Inicio rápido: Ejecución de una aplicación controlada por modelos en un dispositivo móvil
Common Data Service for Apps
09/04/2018 • 16 min to read • Edit Online
Common Data Service permite almacenar y administrar de forma segura los datos que se usan en las
aplicaciones que ha desarrollado o las de Microsoft y proveedores de aplicaciones. Los datos de Common Data
Service se almacenan en un conjunto de entidades estándar y personalizadas. Una entidad es un conjunto de
campos que se usan para almacenar datos, de forma similar a como lo hace tabla en una base de datos.
Después de que se almacenan los datos puede usar Microsoft PowerApps para compilar aplicaciones
completas con sus datos:
Aproveche las entidades existentes o cree entidades personalizadas para proporcionar soporte al escenario y
la aplicación.
Cree PowerApps y flujos directamente con Common Data Service.
Agregue campos personalizados y relaciones a entidades estándar donde se necesite información adicional.
Cree campos calculados y consolidados para las entidades con el fin de proporcionar cálculos y análisis
coherentes en todas las aplicaciones.
Defina reglas de negocio para garantizar la calidad de datos dentro de las entidades, con independencia de
qué aplicación obtenga acceso a los datos o los modifique.
Cree flujos de trabajo y aproveche la integración con Microsoft Flow para controlar acciones y procesos de
negocio adicionales sobre los datos.
Incorpore entidades estándar y personalizadas a una aplicación que desarrolle, con la misma facilidad que lo
harÃa con los datos de otros orÃgenes.
Conéctese a los datos desde Microsoft Excel mediante los complementos de productividad de Common
Data Service.
Importe y sincronice los datos con facilidad mediante Power Query.
Proteja los datos en su organización mediante la seguridad basada en roles en las entidades estándar y
personalizadas.
Proporcione compatibilidad global para los datos y aplicaciones aprovechando la traducción de los nombres
de entidades y campos al lenguaje de los usuarios.
Cada entidad contiene un conjunto de registros que los usuarios pueden crear, leer, actualizar y eliminar en
función de sus permisos. Puede crear relaciones entre entidades para que pueda buscar información en una
entidad basada en un registro de otra entidad. Por ejemplo, puede crear una entidad personalizada que realice el
seguimiento de los eventos a los que un cliente habÃa asistido. Al agregar Cliente a una entidad personalizada
como campo de búsqueda, se establece una relación entre las dos entidades que se pueden utilizar tanto en la
aplicación como en la creación de informes.
Para más información sobre la compra de un plan para utilizar Common Data Service, consulte la información
sobre los precios.
NOTA
Si es posible, use entidades estándar (si es preciso, a los que se han agregado campos personalizados). Esto garantizará
que en el futuro podrá beneficiarse de las nuevas caracterÃsticas o aplicaciones que aprovechan estas entidades.
Lógica y validación
Las entidades de Common Data Service pueden aprovechar la lógica enriquecida y del lado de servidor, y la
validación para garantizar la calidad de los datos y reducir el código repetitivo en las aplicaciones que crean y
usan los datos de la entidad.
Las reglas de negocio pueden validar los datos en varios campos y entidades, y mostrar mensajes de
advertencia y error, independientemente de la aplicación que se use para crear los datos. Para obtener más
información, vea Create a business rule (Creación de una regla de negocio)
Los flujos de proceso de negocio guÃan a los usuarios para asegurarse de que los datos se escriben de
forma coherente y cada vez se siguen los mismos pasos. En la actualidad, los flujos de proceso de negocio solo
se admiten para aplicaciones controladas por modelos. Para obtener más información, vea Información
general sobre flujos de proceso de negocio.
Los flujos de trabajo permiten automatizar los procesos de negocio sin interacción del usuario. Para
obtener más información, vea Información general sobre flujos de trabajo.
La lógica de negocios con código admite escenarios de desarrollador más avanzados en los que ampliar
la aplicación directamente mediante código. Para obtener más información, vea Apply business logic with
code (Aplicación de lógica de negocios con código).
Introducción
Para probarlo, cree una aplicación mediante una entidad estándar, o bien cree una entidad personalizada y,
después, cree una aplicación que utilice dicha entidad.
Aviso de privacidad
Con el modelo de datos común de Microsoft PowerApps, recopilamos y almacenamos los nombres de los
campos y las entidades personalizadas en nuestros sistemas de diagnóstico. Usamos esta información para
mejorar el modelo de datos común para nuestros clientes. Los nombres de entidades y de campos creados nos
servirán para comprender qué escenarios son habituales en toda la comunidad de Microsoft PowerApps y
determinar las carencias en la cobertura de entidades estándar del servicio, por ejemplo, los esquemas
relacionados con las organizaciones. Microsoft no accede a los datos de las tablas de base de datos asociadas a
estas entidades ni los usa; tampoco los replica fuera de la región en que esté aprovisionada la base de datos.
Sin embargo, tenga en cuenta que es posible que los nombres de campos y entidades personalizadas se
repliquen entre regiones y se eliminen de acuerdo con nuestras directivas de retención de datos. Microsoft se
compromete a respetar su privacidad, como se describe con más detalle en nuestro Centro de confianza.
Inicio rápido: Creación de una entidad
personalizada
09/04/2018 • 8 min to read • Edit Online
Puede crear una entidad personalizada para almacenar datos especÃficos de su organización. Después, puede
mostrar dichos datos si desarrolla una aplicación que haga referencia a la entidad. Después de crear una
entidad, puede crear o modificar uno o varios de sus campos y crear relaciones entre entidades.
En estas instrucciones se mostrará cómo crear manualmente una entidad personalizada; también se puede
usar Power Query para crear una entidad basada en los datos existentes. Para obtener más información, vea
Creación de una entidad con Power Query.
NOTA
Antes de crear una entidad, vea la referencia de entidades. Estas entidades tratan los escenarios tÃpicos, como cuentas y
contactos. Si una de estas entidades cumple sus requisitos sin cambios o después de realizar cambios menores, puede
ahorrarse tiempo partiendo de ella.
NOTA
Los campos Nombre para mostrar se pueden actualizar en cualquier momento para mostrarlos de otra
forma en las aplicaciones; el campo Nombre no se puede cambiar después de guardar la entidad, ya que
se podrÃa interrumpir una aplicación existente.
NOTA
El nombre y el nombre para mostrar del campo Nombre principal se pueden actualizar antes de guardar la entidad
por primera vez. Por ejemplo, si quiere que este campo se denomine "Nombre del alumno" en lugar de "Nombre
principal"
5. Opcional: agregue un campo de texto a la entidad haciendo clic en Agregar campo. En el panel Nuevo
campo, escriba el Nombre para mostrar para el campo y seleccione el tipo de datos. Para más
información, consulte Administración de campos en una entidad.
6. Haga clic en Listo para agregar el campo y repita el paso 5 para agregar más campos.
7. Haga clic en Guardar entidad para guardar la entidad y que esté disponible para su uso en las
aplicaciones.
La entidad aparece en la lista de entidades de la base de datos. Para ver las entidades que ha creado, puede
cambiar el filtro en la barra de comandos de "Predeterminado" a "Personalizado".
Pasos siguientes
Administrar campos de una entidad
Definir relaciones entre entidades
Generar una aplicación mediante una base de datos de Common Data Service
Create an app from scratch using a Common Data Service database (Crear una aplicación desde cero
mediante una base de datos de Common Data Service)
Aviso de privacidad
Con el modelo de datos común de Microsoft PowerApps, recopilamos y almacenamos los nombres de los
campos y las entidades personalizadas en nuestros sistemas de diagnóstico. Usamos esta información para
mejorar el modelo de datos común para nuestros clientes. Los nombres de entidades y de campos creados nos
servirán para comprender qué escenarios son habituales en toda la comunidad de Microsoft PowerApps y
determinar las carencias en la cobertura de entidades estándar del servicio, por ejemplo, los esquemas
relacionados con las organizaciones. Microsoft no accede a los datos de las tablas de base de datos asociadas a
estas entidades ni los usa; tampoco los replica fuera de la región en que esté aprovisionada la base de datos.
Sin embargo, tenga en cuenta que es posible que los nombres de campos y entidades personalizadas se repliquen
entre regiones y se eliminen de acuerdo con nuestras directivas de retención de datos. Microsoft se compromete
a respetar su privacidad, como se describe con más detalle en nuestro Centro de confianza.
Inicio rápido: Adición de datos a una entidad en
Common Data Service mediante Power Query
09/04/2018 • 4 min to read • Edit Online
En este procedimiento, creará una entidad en Common Data Service for Apps y la rellenará con datos de una
fuente OData mediante Power Query. Puede usar las mismas técnicas para integrar datos de estos orÃgenes en
lÃnea y locales, entre otros:
SQL Server
Salesforce
IBM DB2
Access
Excel
API web
Fuente OData
Archivos de texto
También puede filtrar, transformar y combinar los datos antes de cargarlos en una entidad nueva o existente.
Si no tiene una licencia para PowerApps, puede registrarse gratuitamente.
Requisitos previos
Para seguir este tema, debe cambiar a un entorno en el que se puedan crear entidades.
2. En la lista que aparece, pulse o haga clic en Integración de datos y, después, en Nuevo proyecto
cerca de la esquina superior derecha de la ventana.
3. En la lista de orÃgenes de datos, pulse o haga clic en OData.
4. En Configuración de conexión, escriba o pegue esta dirección URL y, después, haga clic en
Siguiente:
http://services.odata.org/V4/Northwind/Northwind.svc/
5. En la lista de tablas, active la casilla Clientes y, después, pulse o haga clic en Siguiente.
6. (Opcional) Para modificar el esquema para satisfacer sus necesidades, elija qué columnas quiere incluir,
transforme la tabla de distintas maneras, agregue un Ãndice o una columna condicional, o realice otros
cambios.
7. En la esquina inferior derecha, pulse o haga clic en Siguiente.
ADVERTENCIA
Si se usa Power Query para agregar datos a una entidad existente, se sobrescribirán todos los datos de esa entidad.
Si hace clic en Load to existing entity (Cargar en la entidad existente), puede especificar una entidad a la que
agregar los datos de la tabla Customers. Por ejemplo, podrÃa agregar los datos a la entidad Account que se
incluye con Common Data Service. En Columna de origen, también se puede especificar que los datos de la
columna ContactName de la tabla Customers se deben agregar a la columna Name de la entidad Accounts.
Esta funcionalidad nos entusiasma y estamos ansiosos por recibir sus comentarios. EnvÃenos sus sugerencias y
comentarios acerca de esta caracterÃstica.
Ejemplos y otros recursos de Common Data Service
23/03/2018 • 1 min to read • Edit Online
Ejemplos
Hay varios ejemplos que usan Common Data Service. Para encontrar estos ejemplos, en powerapps.com,
seleccione Inicio en el panel de navegación.
Vídeos
Encontrará más vídeos en YouTube en los canales MS PowerApps y Microsoft Ignite.
Entradas de blog
Encontrará entradas sobre procedimientos en el blog de PowerApps.
Información general
Obtenga más información sobre Common Data Service y Common Data Model en la introducción a Common Data
Service y Common Data Model.