Está en la página 1de 433

Table of Contents

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

Aplicaciones controladas por modelos


Cuando se crea una aplicación controlada por modelos, se puede usar toda la potencia de Common Data Service
para configurar rápidamente los formularios, las reglas de negocio y los flujos de proceso. Una aplicación
controlada por modelos se crea desde el sitio de PowerApps.
La introducción a las aplicaciones controladas por modelos es sencilla y se puede empezar con estos temas:
Crear una aplicación
Crear y diseñar formularios
Comprender las vistas
Crear o editar un gráfico del sistema
Crear o editar paneles
Agregar seguridad
Agregar lógica de negocio

Common Data Service for Apps


Common Data Service permite almacenar y administrar los datos de forma segura en un conjunto de entidades
estándar y personalizadas, y agregar datos a esas entidades cuando sea necesario.
Empezar a usar Common Data Service es fácil. Por ejemplo, se puede empezar con estos elementos:
Crear una entidad personalizada
Administrar campos
Crear conjuntos de opciones personalizados
Crear una regla de negocio
Después de compilar la aplicación, se puede compartir con los miembros del equipo.
Introducción a las fórmulas
23/03/2018 • 16 min to read • Edit Online

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.

Mostrar un valor simple


En Excel, puede indicar un dato especÃ​fico, como el número 42 o la frase Hello World, escribiéndolo en una
celda. Esa celda siempre mostrará el dato exactamente como lo escribió. En PowerApps, de forma similar, puede
especificar un dato que no cambia si establece la propiedad Text de una etiqueta en la secuencia exacta de
caracteres que desee, entre comillas dobles.
1. Seleccione Nuevo en el menú Archivo (cerca del borde izquierdo de la pantalla).
2. En Create an app (Crear aplicación), seleccione Diseño de teléfono en el icono Aplicación vacÃ​a.
La barra de fórmulas se encuentra en la parte superior de la pantalla.
Esta barra tiene dos partes:
Lista de propiedades: cada pantalla y control tienen un conjunto de propiedades. Use esta lista para
seleccionar una propiedad especÃ​fica.
Fórmula: la fórmula que se calculará para esta propiedad, compuesta por valores, operadores y
funciones.
En la barra de fórmulas, puede ver y editar las propiedades del control seleccionado o de la pantalla
si no hay controles seleccionados. Se ve el nombre del control seleccionado en la pestaña
Contenido:

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:

Cambiar un valor en función de la entrada


En Excel, se escribe =SUM(A1:A2) en una celda para mostrar la suma de todos los valores que contienen las
celdas A1 y A2. Si uno o ambos de esos valores cambian, la celda que contiene la fórmula muestra
automáticamente el resultado actualizado.
En PowerApps, puede lograr un resultado similar si agrega controles y establece sus propiedades. En este
ejemplo, se muestra la etiqueta del procedimiento anterior y dos controles Entrada de texto, llamados
TextInput1 y TextInput2.

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.

Cambiar un color en función de la entrada de usuario


Puede configurar la aplicación con fórmulas para que los usuarios puedan cambiar su apariencia o
comportamiento. Por ejemplo, puede crear un filtro para mostrar solo los datos que contengan una cadena de
texto especificada por el usuario o puede permitir que los usuarios ordenen un conjunto de datos por una
columna determinada del conjunto de datos. En este procedimiento, permitirá que los usuarios cambien el color
de la pantalla mediante uno o varios controles deslizantes.
1. Quite los controles de los procedimientos anteriores o cree una aplicación vacÃ​a como hizo antes y
agréguele tres controles deslizantes:

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.

Ver una lista de propiedades por categorÃa


En la lista de propiedades, estas se muestran por orden alfabético, aunque también puede ver todas las
propiedades de un control, organizadas por categorÃ​as, si selecciona la opción Avanzada en la pestaña Vista:
Puede editar las fórmulas directamente en esta vista. Con el selector del control en la parte superior del panel,
puede buscar rápidamente un control con el que trabajar. Además, con la búsqueda de propiedades, puede
buscar rápidamente una propiedad de ese control.
En un principio, esta vista muestra las propiedades más importantes. Para mostrar todas, haga clic en la flecha
abajo de la parte inferior del panel. Cada control posee una larga lista de propiedades que controlan todos los
aspectos de su comportamiento y apariencia. Para buscar una propiedad, puede desplazarse por la lista o escribir
en el cuadro de la parte superior del panel.

Sintaxis de las fórmulas


A medida que escribe una fórmula en la barra de fórmulas, los elementos de sintaxis diferente aparecerán en
distintos colores para mejorar la legibilidad y ayudarle a comprender las fórmulas largas. Esta es la lista de
códigos de color de PowerApps.
Información sobre tablas y registros de PowerApps
23/03/2018 • 32 min to read • Edit Online

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.

Elementos de una tabla

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.

Ãmbito del informe


Algunas funciones se aplican mediante la evaluación de una fórmula en todos los registros de una tabla de
forma individual. El resultado de la fórmula se utiliza de varias maneras:
Filtrar, Búsqueda: la fórmula determina si el registro debe incluirse en la salida.
Ordenar: la fórmula ofrece el valor en función del cual ordenar los registros.
Concatenar: la fórmula determina las cadenas que se deben concatenar.
ParaTodo: la fórmula puede devolver cualquier valor, posiblemente con un efecto secundario.
Distinto: la fórmula devuelve un valor, que se usa para identificar registros duplicados.
AgregarColumnas: la fórmula proporciona el valor del campo agregado.
Media, Max, Min, Sum, DesvesTP, VarP: la fórmula proporciona el valor que se va a agregar.
Dentro de estas fórmulas, puede hacer referencia a los campos del registro que se va a procesar. Cada una de
estas funciones crea un "ámbito de registro" en el que se evalúa la fórmula, donde los campos del registro
están disponibles como identificadores de primer nivel. También puede hacer referencia a propiedades de
control y a otros valores en toda la aplicación.
Por ejemplo, considere una tabla de Productos:

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:

Puede crear esta colección con BorrarColección( X, [1, 2] ).


Y otra colección Y:

Puede crear esta colección con BorrarColección( Y, ["A", "B"] ).


Además, defina una variable de contexto denominada Valor con esta fórmula: ActualizarContexto( {Valor:
"!"} )
Se va a agrupar todo. En este contexto, la fórmula siguiente:
Desagrupar( ParaTodo( X, ParaTodo( Y, Y[@Value] & Texto( X[@Value] ) & [@Value] ) ), "Valor" )
genera esta tabla:

¿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:

ACTIVIDAD CONTROL DESCRIPCIóN

Buscar un registro Control GalerÃ​a Filtra, ordena, busca y se desplaza por


los registros de un origen de datos,
además de seleccionar un registro
especÃ​fico. Muestra solo algunos
campos de cada registro para ver
varios registros a la vez, incluso en una
pantalla pequeña.

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.

Exploración de una aplicación generada


PowerApps puede generar automáticamente una aplicación según un origen de datos que especifique. Cada
aplicación contiene tres pantallas con los controles anteriormente descritos, además de fórmulas que las
conectan. Ejecute estas aplicaciones "de uso inmediato", personalÃ​celas para lograr objetivos especÃ​ficos o
examine cómo funcionan para que pueda aprender conceptos útiles para usarlos con sus propias aplicaciones.
En las secciones siguientes, revise las pantallas, los controles y las fórmulas que crean una aplicación generada.
Pantalla de exploración

Esta pantalla incluye las siguientes fórmulas clave:

CONTROL COMPORTAMIENTO ADMITIDO FóRMULA

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.

ImageNewItem1 Muestra la pantalla Editar y crear con La propiedad OnSelect de la imagen


cada campo establecido en un valor está establecida en esta fórmula:
predeterminado para que el usuario NewForm( EditForm1 );
pueda crear fácilmente un registro. Navigate( EditScreen1, None )

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

Esta pantalla incluye las siguientes fórmulas clave:

CONTROL COMPORTAMIENTO ADMITIDO FóRMULA

DetailForm1 Muestra un registro en el origen de Establezca la propiedad DataSource


datos Assets. en Assets.

DetailForm1 Determina el registro que se mostrará. Establezca la propiedad Item de este


En una aplicación generada, muestra control en este valor:
el registro que el usuario seleccionó BrowseGallery1.Selected
en la galerÃ​a.

Controles Tarjeta En un control Mostrar formulario, Establezca la propiedad DataField en


muestra un solo campo de un registro. el nombre de un campo entre comillas
dobles (por ejemplo, "Nombre").

ImageBackArrow1 Cuando el usuario selecciona este Establezca la propiedad OnSelect en


control, se abre BrowseScreen1. esta fórmula:
Back()

ImageDelete1 Cuando el usuario selecciona este Establezca la propiedad OnSelect en


control, se elimina un registro. esta fórmula:
Remove( Assets,
BrowseGallery1.Selected )
CONTROL COMPORTAMIENTO ADMITIDO FóRMULA

ImageEdit1 Cuando el usuario selecciona este Establezca la propiedad OnSelect en


control, la pantalla Editar y crear se esta fórmula:
abre en el registro actual. Navigate( EditScreen1, None )

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:

CONTROL COMPORTAMIENTO ADMITIDO FóRMULA

EditForm1 Muestra un registro en el origen de Establezca la propiedad DataSource


datos Assets. en Assets.

EditForm1 Determina el registro que se mostrará. Establezca la propiedad Item en este


En una aplicación generada, muestra valor:
el registro que el usuario seleccionó BrowseGallery1.Selected
en BrowseScreen1.

Controles Tarjeta En un control Editar formulario, Establezca la propiedad DataField en


proporciona controles para que el el nombre de un campo entre comillas
usuario pueda editar uno o varios dobles (por ejemplo, "Nombre").
campos de un registro.

ImageCancel1 Cuando el usuario selecciona este Establezca la propiedad OnSelect en


control, se descartan los cambios en esta fórmula:
curso y se abre la pantalla Detalles. ResetForm( EditForm1 ); Back()

ImageAccept1 Cuando el usuario selecciona este Establezca la propiedad OnSelect en


control, los cambios se envÃ​an al esta fórmula:
origen de datos. SubmitForm( EditForm1 )

EditForm1 Si se aceptan los cambios, se vuelve a Establezca la propiedad OnSuccess en


la pantalla anterior. esta fórmula:
Atrás()

EditForm1 Si no se aceptan los cambios, el usuario Deje en blanco la propiedad OnFailure.


continúa en la pantalla actual para
poder corregir cualquier problema e
intente volver a enviar.

LblFormError1 Si no se aceptan los cambios, se Establezca la propiedad Text en este


muestra un mensaje de error. valor:
EditForm1.Error

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.

Identificación de los datos de prueba


Para aprovechar al máximo este tema, comience con un origen de datos con el que pueda experimentar. Debe
contener datos de prueba que pueda leer y actualizar sin tener que preocuparse.

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.

Volvamos al control GalerÃ​a y agreguemos navegación a la pantalla de detalle.


1. Vaya a la primera pantalla, que hospeda el control GalerÃ​a, y seleccione la flecha del primer elemento de
la galerÃ​a.
2. Establezca la propiedad OnSelect de la forma en esta fórmula:
Navigate( Screen2, None )

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:

Gallery1.Items = Sort( If( IsBlank(TextSearchBox1.Text),


Assets,
Filter( Assets,
TextSearchBox1.Text in Text(ApproverEmail) ) ),
ApproverEmail,
If(SortDescending1, Descending, Ascending) )

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.

Agregar una galerÃa


1. Cree una aplicación para tableta desde cero.
Todo lo que se describe en este tema aquÃ​ también se aplica a los diseños para teléfono, pero las
aplicaciones de teléfono suelen tener solo una columna vertical.
2. Agregue la entidad Pedido de ventas en Common Data Service como origen de datos de la aplicación.
Fuera de este tutorial, puede utilizar cualquier origen de datos, incluidas las listas de SharePoint y las tablas
de Excel.
3. Agregue un control GalerÃ​a vertical y en su propiedad Elementos, seleccione "Sales order".
(opcional) Para ajustarse a los ejemplos de este tutorial, cambie el diseño de la galerÃ​a para que muestre
solo el tÃ​tulo y subtÃ​tulo.

4. En la galerÃ​a, pulse o haga clic en SO004.

Este registro aparecerá en el formulario que se crea siguiendo los pasos que encontrará más adelante en
este mismo tema.

Incorporación de una barra de tÃtulo


1. Agregue una pantalla en blanco, en la que colocará el formulario.
Fuera de este tutorial, los controles GalerÃ​a y Editar formulario se pueden colocar en la misma pantalla,
pero habrá más espacio para trabajar con si se colocan en pantallas independientes.
2. En la parte superior de la pantalla, agregue un control Etiqueta y en su propiedad Texto escriba esta
expresión:
"Sales Order " & Gallery1.Selected.SalesOrderId
La etiqueta muestra el número del pedido de ventas del registro que seleccionó en la galerÃ​a.
3. (opcional) Dé formato a la etiqueta como se indica a continuación:
a. Establezca su propiedad Align en Center.
b. Establezca su propiedad Size en 20.
c. Establezca su propiedad Fill en Navy.
d. Establezca su propiedad Color en White.
e. Establezca su propiedad Width en Parent.Width.
f. Establecer sus propiedades X e Y en 0.

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:

Seleccione una tarjeta de datos


Cada campo mostrado cuenta con una tarjeta de datos correspondiente en el formulario. Esta tarjeta consta de un
conjunto de controles para el tÃ​tulo de campo, un cuadro de entrada, una estrella (que aparece si el campo es
obligatorio) y un mensaje de error de validación.
También puede seleccionar tarjetas directamente en el formulario. Cuando se selecciona una tarjeta, aparece un
subtÃ​tulo negro sobre ella.

NOTA
Para eliminar una tarjeta (no solo ocultarla), selecciónela y presione Supr.

Organización de tarjetas en columnas


De forma predeterminada, los formularios de las aplicaciones para tableta tienen tres columnas, mientras que las
aplicaciones para teléfono tienen una. Puede especificar no solo el número de columnas un formulario, sino
también si todas las tarjetas deben ajustarse a los bordes de la columna.
En este gráfico, se ha cambiado el número de columnas del formulario de tres a cuatro con la casilla Ajustar en
columnas activada. Las tarjetas del formulario se han organizado automáticamente para ajustarse al nuevo
diseño.

Cambio del tamaño de las tarjetas en varias columnas


En función de los datos que haya en cada tarjeta, es posible que desee que algunas tarjetas quepan en una sola
columna, mientras que otras que abarcan varias columnas. Si una tarjeta contiene más datos de los que desea
mostrar en una sola columna, puede ensancharla, para lo que debe seleccionarla y, después, arrastrar el
controlador de agarre de los bordes izquierdo o derecho de su cuadro de selección. Al arrastrar el controlador, la
tarjeta se "ajustará" a los lÃ​mites de la columna.
Para aumentar la flexibilidad del diseño, pero conservar cierta estructura, puede aumentar el número de
columnas a 12. Con ese cambio, puede configurar fácilmente cada tarjeta para que abarque todo el formulario, la
mitad del formulario, un tercio, un cuarto, un sexto, etc. Vamos a ver esto en acción.
1. En el panel derecho, defina el número de columnas del formulario, 12.

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:

PASO DESCRIPCIóN RESULTADO

1 Seleccione la tarjeta State para que


aparezcan controladores de agarre
alrededor.

2 Seleccione la etiqueta de la tarjeta para


que aparezcan controladores de agarre
alrededor.

3 Coloque el cursor a la derecha del texto


y elimine la parte que no sea necesaria.
PASO DESCRIPCIóN RESULTADO

4 Use los controladores de agarre de los


lados y cambie el tamaño del control
de etiqueta para ajustarlo al nuevo
tamaño del texto.

5 Seleccione el control de entrada de


texto dentro de esta tarjeta.

6 Con los controladores de agarre de los


lados, cambie el tamaño del control
de entrada de texto al que desee.

7 Arrastre el cuadro de entrada de texto


hacia arriba y a la derecha del control
de etiqueta y suelte el cuadro de
entrada de texto.

Las modificaciones en la tarjeta State


están completadas.

El resultado de la tercera lÃ​nea de dirección:

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?

COMPORTAMIENTO AJUSTAR EN COLUMNAS ACTIVADA AJUSTAR EN COLUMNAS DESACTIVADA

El cambio de tamaño se ajusta a Número de columnas que selecciona: 12 columnas


1, 2, 3, 4, 6 o 12

Se puede invalidar el ajuste de cambio No SÃ​, con la tecla Alt


de tamaño

Se cambia el diseño de las tarjetas SÃ​ No


automáticamente entre filas (se explica
más adelante)

Establecer ancho y alto


Como con todo en PowerApps, el diseño del formulario se rige por las propiedades de los controles de tarjeta.
Como ya se ha descrito, para cambiar los valores de estas propiedades tiene que arrastrar controles a ubicaciones
diferentes o arrastrar los controladores de agarre para cambiar el tamaño de los controles. Pero encontrará
situaciones en las que deseará conocer y manipular estas propiedades con mayor precisión, especialmente al
usar fórmulas para que los formularios sean dinámicos.
Diseño bà ¡sico: X, Y y Ancho
Las propiedades X e Y controlan la posición de las tarjetas. Cuando se trabaja con controles en el lienzo en blanco,
estas propiedades proporcionan una posición absoluta. En un formulario, estas propiedades tienen un significado
diferente:
X: orden dentro de una fila.
Y: número de fila.
De forma similar a los controles en el lienzo, la propiedad Ancho especifica la anchura mÃ​nima de la tarjeta (más
información sobre el aspecto mÃ​nimo en un momento).
AquÃ​ se ven las propiedades X, Y y Ancho de las tarjetas en el formulario:

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:

A la izquierda de la pantalla, la lista de controles muestra ErrorMessage1 (MensajeDeError1), que es el control de


etiqueta. Al actualizar una aplicación, puede seleccionar este control para darle cierta altura y mostrar
controladores de agarre con los que se puede colocar y ajustar su tamaño. Una "A" en un cuadro azul indica que
el control tiene la propiedad AutoHeight (AlturaAutomática) establecido en true:

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.

Personalizar una tarjeta


Las tarjetas constan de otros controles. En un control Formulario de edición, el usuario escribe datos en un
control Entrada de texto estándar que se agrega desde la pestaña Insertar.
Analicemos un ejemplo de cambio de la apariencia de la tarjeta mediante la manipulación de los controles que
aparecen en ella.
1. En primer lugar, vamos a volver a la tarjeta que insertamos más recientemente para el campo
SecurityCode. Seleccione esta tarjeta pulsándola una vez o haciendo clic en ella:

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.

Desbloquear una tarjeta


Además de contener controles, las tarjetas constituyen en sÃ​ mismas controles que tienen propiedades y
fórmulas, al igual que cualquier otro control. Cuando decide mostrar un campo en un formulario, el panel derecho
crea automáticamente la tarjeta y genera las fórmulas necesarias. Podemos ver estas fórmulas en la pestaña
Avanzado del panel derecho:
Inmediatamente vemos una de las propiedades más importantes de la tarjeta: DataField. Esta propiedad indica
qué campo del origen de datos puede ver y editar el usuario en esta tarjeta.
En la pestaña Avanzado, el banner que aparece en la parte superior indica que las propiedades de esta tarjeta
están bloqueadas. También aparece un icono de bloqueo junto a las propiedades DataField, DisplayName y
Required. El panel derecho fue el que creó estas fórmulas y el bloqueo impide que se realicen cambios
accidentales en estas propiedades.

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:

Cuatro controles hacen que esta tarjeta funcione:

NOMBRE TIPO DESCRIPCIóN

TextRequiredStar Control Etiqueta Muestra una estrella, que se utiliza


habitualmente en los formularios de
entrada de datos para indicar que un
campo es obligatorio.

TextFieldDisplayName Control Etiqueta Muestra el nombre descriptivo de este


campo. Este nombre puede diferir de lo
que aparece en el esquema del origen
de datos.

InputText Control Input text Muestra el valor inicial del campo y


permite al usuario cambiar dicho valor.

TextErrorMessage Control Etiqueta Muestra un mensaje de error


descriptivo al usuario si se produce un
problema con la validación. También
garantiza que el campo tiene un valor si
es necesario.

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.

PROPIEDAD DE CONTROL FóRMULA DESCRIPCIóN

TextRequiredStar.Visible Parent.Required La estrella solo aparece si el campo es


obligatorio. "Required" es una fórmula
controlada por usted o los metadatos
del origen de datos.
PROPIEDAD DE CONTROL FóRMULA DESCRIPCIóN

TextFieldDisplayName.Text Parent.DisplayName El control de cuadro de texto muestra el


nombre descriptivo, proporcionado por
usted o los metadatos del origen de
datos, y que se establece en la
propiedad DisplayName de la tarjeta.

InputText.Default Parent.Default Inicialmente, el control de entrada de


texto muestra el valor del campo del
origen de datos, según lo
proporcionado por el valor
predeterminado de la tarjeta.

TextErrorMessage.Text Parent.Error Si se produce un problema de


validación, la propiedad Error de la
tarjeta proporciona el correspondiente
mensaje de error.

Para extraer información de estos controles y volver a insertarla en el origen de datos, tenemos las siguientes
fórmulas clave:

NOMBRE DEL CONTROL FóRMULA DESCRIPCIóN

DataCard.DataField "ApproverEmail" El nombre del campo que el usuario


puede mostrar y editar en esta tarjeta.

DataCard.Update InputText.Text El valor que se valida y se vuelve a


insertar en el origen de datos cuando se
ejecuta SubmitForm.
Descripción de las variables en PowerApps
23/03/2018 • 28 min to read • Edit Online

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.

Traducir Excel a PowerApps


Excel
Revisemos el funcionamiento de Excel. Una celda puede contener un valor, como un número o una cadena, o una
fórmula basada en los valores de otras celdas. Cuando el usuario introduce un valor diferente en una celda, Excel
recalcula automáticamente las fórmulas que dependen del valor nuevo. No hace falta realizar ningún tipo de
programación para habilitar este comportamiento.

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:

La fórmula de TextBox1 se ha calculado automáticamente y muestra el nuevo valor.


En PowerApps, puede usar fórmulas para determinar no solo el valor principal de un control, sino propiedades
como el formato. En el ejemplo siguiente, una fórmula para la propiedad Color de la etiqueta mostrará
automáticamente los valores negativos en rojo. El aspecto de la función If deberÃ​a resultarle familiar de Excel:
If( Value(TextBox1.Text) < 0, Red, Black )

Ahora, si el resultado del cálculo en TextBox1.Text es negativo, el número se mostrará en color rojo:

Puede usar fórmulas para una amplia variedad de escenarios:


Mediante el uso del GPS de su dispositivo, un control de mapa puede mostrar su ubicación actual con una
fórmula que use Location.Latitude y Location.Longitude. A medida que se desplaza, el mapa seguirá
automáticamente su ubicación.
Otros usuarios pueden actualizar los orÃ​genes de datos. Por ejemplo, otros miembros del equipo pueden
actualizar los elementos de una lista de SharePoint. Al actualizar un origen de datos, las fórmulas
dependientes se recalculan automáticamente para que reflejen los datos actualizados. En este mismo ejemplo,
puede establecer la propiedad Items de una galerÃ​a en la fórmula Filter( SharePointList ), que mostrará
automáticamente el conjunto recién filtrado de registros.
Ventajas
El uso de fórmulas para compilar aplicaciones tiene muchas ventajas:
Si está familiarizado con Excel, sabrá usar PowerApps. El lenguaje de fórmulas y modelos es el mismo.
Si ha usado otras herramientas de programación, piense en la gran cantidad de código que serÃ​a necesario
para llevar a cabo estos ejemplos. En Visual Basic, tendrÃ​a que escribir un controlador de eventos para el
evento de cambio en cada control de entrada de texto. El código para realizar el cálculo de cada uno de ellos
es redundante y podrÃ​a desincronizarse, o tendrÃ​a que escribir una subrutina común. En PowerApps, todo
esto se consigue con una única fórmula de una lÃ​nea.
Para entender de dónde viene el texto de TextBox1, sabe exactamente dónde buscar: la fórmula de la
propiedad Text. No hay otra manera de influir en el texto de este control. En una herramienta de
programación tradicional, cualquier controlador de eventos o subrutina puede cambiar el valor de la etiqueta
desde cualquier lugar del programa. Esto puede hacer que sea difÃ​cil detectar cuándo y dónde se ha
cambiado una variable.
Si el usuario cambia un control deslizante pero después cambia de opinión, puede devolver el control
deslizante a su valor original y es como si nunca hubiera cambiado nada: la aplicación muestra los mismos
valores de control que antes. No hay repercusiones si se experimenta y se comprueba qué sucede al cambiar
algo, igual que en Excel.
En general, si puede conseguir un efecto mediante una fórmula, lo mejor es que la use. Deje que el motor de
fórmulas de PowerApps trabaje por usted.

Saber cuándo usar variables


Vamos a cambiar el sumador simple para que actúe como una máquina de sumar antigua, con un total
acumulado. Si selecciona el botón Sumar, sumará un número al total acumulado. Si selecciona el botón
Borrar, restablecerá en cero el total acumulado.
Esta máquina de sumar usa algo que no existe en Excel: un botón. En esta aplicación, no puede usar solamente
fórmulas para calcular el total acumulado, ya que su valor depende de una serie de acciones que realiza el
usuario. El total acumulado debe registrarse y actualizarse manualmente. La mayorÃ​a de las herramientas de
programación almacena esta información en una variable.
En ocasiones necesitará una variable para que la aplicación se comporte de la manera deseada, pero debe tener
en cuenta una serie de advertencias:
Debe actualizar manualmente el total acumulado. El recálculo automático no lo hará por usted.
El total acumulado ya no se puede calcular en función de los valores de otros controles. Depende del número
de veces que el usuario haya seleccionado el botón Sumar y del valor que se encontrase en cada ocasión en
el control de entrada de texto. ¿El usuario ha escrito 77 y ha seleccionado Sumar dos veces, o bien ha escrito
24 y 130 para cada una de las sumas? No es posible determinarlo una vez que el total haya alcanzado 154.
Los cambios en el total pueden proceder de diferentes acciones. En este ejemplo, tanto el botón Sumar como
el botón Borrar pueden actualizar el total. Si la aplicación no se comporta de la manera esperada, ¿qué
botón causa el problema?

Creación de una variable global


Para crear la máquina de sumar, necesitamos una variable que contenga el total acumulado. Las variables más
sencillas para trabajar con PowerApps son las variables globales.
Cómo funcionan las variables globales:
Establezca el valor de la variable global con la función Set. Set( MyVar, 1 ) establece la variable global MyVar
en un valor de 1.
Use la variable global mediante la referencia al nombre usado con la función Set. En este caso, MyVar
devolverá 1.
Las variables globales pueden contener cualquier valor, como cadenas, números, registros y tablas.
Vamos a recompilar la máquina de sumar mediante el uso de una variable de global:
1. Agregue un control de entrada de texto, denominado TextInput1, y dos botones, denominados Button1 y
Button2.
2. Establezca la propiedad Text de Button1 en "Sumar" y la propiedad Text de Button2 en "Borrar".
3. Para actualizar el total acumulado cada vez que un usuario seleccione el botón Sumar, establezca su
propiedad OnSelect en esta fórmula:
Set( RunningTotal, RunningTotal + Text1 )
La primera vez que un usuario selecciona el botón Sumar y se llama a Set, se crea RunningTotal con un
valor predeterminado en blanco. Además, se tratará como un cero.

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 )

5. Agregue un control Etiqueta y establezca su propiedad Texto en RunningTotal (TotalAcumulado).


Esta fórmula se recalculará automáticamente y mostrará al usuario el valor de RunningTotal cuando
cambie en función de los botones que el usuario seleccione.
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. 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:

TIPO DE VARIABLE Ã​MBITO DESCRIPCIóN FUNCTIONS

Variables globales App Las más sencillas de utilizar. Set


Contiene un número, una
cadena de texto, un valor
booleano, un registro, una
tabla, etc. a los que se puede
hacer referencia desde
cualquier parte de la
aplicación.

Variables de contexto Pantalla Idóneas para pasar valores UpdateContext


a una pantalla, de forma
parecida a como se pasan
los parámetros a un
procedimiento en otros
lenguajes. Solo se puede
hacer referencia a ellas
desde una pantalla.

Colecciones App Contiene una tabla a la que Collect


se puede hacer referencia etc.
desde cualquier lugar de la
aplicación. Permite que el
contenido de la tabla se
pueda modificar en lugar de
establecerla como un todo.
Se pueden guardar en el
dispositivo local para su uso
posterior.

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].

Crear una variable de contexto


Veamos cómo se crearÃ​a la máquina de sumar mediante una variable de contexto en lugar de una variable
global.
Cómo funcionan las variables de contexto:
Para crear y establecer variables de contexto, se usa la función UpdateContext. Si una variable de contexto
todavÃ​a no existe cuando se actualiza por primera vez, se creará con un valor predeterminado en blanco.
Las variables de contexto se crean y se actualizan con registros. En otras herramientas de programación,
normalmente se usa "=" para la asignación, como en "x = 1". En el caso de las variables de contexto, se usa { x:
1 }. Cuando se usa una variable de contexto, se usa su nombre directamente.
También puede establecer una variable de contexto cuando se muestra una pantalla, mediante el uso de la
función Navigate. Si considera una pantalla como una especie de procedimiento o subrutina, es como pasar
parámetros en otras herramientas de programación.
Excepto en el caso de Navigate, las variables de contexto están limitadas al contexto de una sola pantalla, que
es donde obtienen su nombre. No puede usarlas ni establecerlas fuera de este contexto.
Las variables de contexto pueden contener cualquier valor, como cadenas, números, registros, y tablas.
Vamos a volver a compilar la máquina de sumar mediante el uso de una variable de contexto:
1. Agregue un control de entrada de texto, denominado TextInput1, y dos botones, denominados Button1 y
Button2.
2. Establezca la propiedad Text de Button1 en "Sumar" y la propiedad Text de Button2 en "Borrar".
3. Para actualizar el total acumulado cada vez que un usuario seleccione el botón Sumar, establezca su
propiedad OnSelect en esta fórmula:
UpdateContext( { RunningTotal: RunningTotal + Text1 } )
La primera vez que un usuario selecciona el botón Sumar y se llama a UpdateContext, se crea
RunningTotal con un valor predeterminado en blanco. Además, se tratará como un cero.
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:
UpdateContext( { RunningTotal: 0 } )
Una vez más, se usa UpdateContext con la fórmula UpdateContext( { RunningTotal: 0 } ).

5. Agregue un control Etiqueta y establezca su propiedad Texto en RunningTotal (TotalAcumulado).


Esta fórmula se recalculará automáticamente y mostrará al usuario el valor de RunningTotal cuando
cambie en función de los botones que el usuario seleccione.

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.

Crear una colección


Por último, veamos cómo crear la máquina de sumar con una colección. Puesto que una colección contiene
una tabla que es fácil modificar, vamos a hacer que esta máquina de sumar tenga un "registro" de todos los
valores a medida que se escriben.
Cómo funcionan las colecciones:
Para crear y establecer colecciones, use la función ClearCollect. También puede usar la función Collect,
pero requerirá otra variable en vez de reemplazar la anterior.
Una colección es una clase de origen de datos y, por lo tanto, una tabla. Para obtener acceso a un valor único
de una colección, use la función First y extraiga un campo del registro resultante. Si ha usado un solo valor
con ClearCollect, este será el campo Value, como en este ejemplo:
First( VariableName ).Value
Vamos a recrear la máquina de sumar mediante una colección:
1. Agregue un control Text input, denominado TextInput1, y dos botones, denominados Button1 y
Button2.
2. Establezca la propiedad Text de Button1 en "Sumar" y la propiedad Text de Button2 en "Borrar".
3. Para actualizar el total acumulado cada vez que un usuario seleccione el botón Sumar, establezca su
propiedad OnSelect en esta fórmula:
Collect( PaperTape, TextInput1.Text )
Esta fórmula agregará el nuevo valor al final de la colección. Puesto que estamos agregando un valor
único, Collect lo colocará automáticamente en una tabla de una sola columna con el nombre Valor que
se utilizará más adelante.
4. Para borrar el registro cada vez que el usuario seleccione el botón Borrar, establezca su propiedad
AlSeleccionar en esta fórmula:
Clear( PaperTape )

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.

7. Presione la tecla Esc para volver al área de trabajo predeterminada.


8. Para mostrar el registro, inserte un control Tabla de datos y establezca su propiedad Items en esta
fórmula:
PaperTape
También debe seleccionar las columnas que se van a mostrar en el panel derecho, en nuestro caso,
vamos a mostrar la columna Valor:
9. Para ver los valores de la colección, seleccione Colecciones en el menú Archivo.

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.

11. Para Guardar, establezca la propiedad AlSeleccionar en:


SaveData( PaperTape, "StoredPaperTape" )
12. Vuelva a obtener la vista previa pulsando la tecla F5, escriba números en el control de entrada de texto y
seleccione botones. Seleccione el botón Guardar. Cierre y vuelva a cargar la aplicación y seleccione el
botón Cargar para volver a cargar 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.

Mostrar texto en un control Etiqueta


Muestre texto en un control Etiqueta estableciendo el valor de su propiedad Texto. Establezca esta propiedad
escribiendo directamente en el control o escribiendo una expresión en la barra de fórmulas.
Si escribe directamente en el control, este muestra exactamente lo que escribe.
Si escribe una expresión en la barra de fórmulas, el control muestra el resultado de la expresión.
A continuación, se ofrecen algunos ejemplos.
1. Agregue un control Etiqueta denominado ShowText y establezca su propiedad Texto en esta fórmula:
Now()
Si su equipo tiene establecida la configuración regional "en-us", la fecha y hora actuales aparecen en este
formato:
mm/dd/aaaa hh:mm AM/PM
Si su equipo tiene establecida la configuración regional "fr-fr", la fecha y hora actuales aparecen en este
formato:
dd/mm/aaaa hh:mm AM/PM
2. Establezca la propiedad Text de ShowText en esta fórmula:
DateDiff(Today(), DateValue("01/01/2020"))
El control muestra el número de dÃ​as entre hoy y el 1 de enero de 2020. Para ello, usa estas funciones:
DateDiff, que calcula el número de dÃ​as, trimestres o años entre dos fechas.
Today, que calcula el dÃ​a actual como un valor.
DateValue, que convierte una cadena literal, como la que se muestra entre comillas dobles, en un valor
en el que se pueden realizar cálculos.
3. Agregue un control Text input denominado BirthDate y colóquelo bajo ShowText.
4. En BirthDate, escriba el mes y el dÃ​a de su nacimiento (por ejemplo, 05/18).
5. Establezca la propiedad Text de ShowText en esta fórmula:
DateDiff(Today(), DateValue(BirthDate.Text))

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.

Aplicar formato a fechas y horas mediante DateTimeValue


Convierta fechas y horas de cadenas de texto a valores, a los que puede dar formato de diversas maneras y usarlos
en los cálculos. Especifique el formato con las opciones integradas y personalizadas.

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)

ShowDate muestra el dÃ​a de la semana, la fecha y la hora.


SUGERENCIA
El parámetro DateTimeFormat admite otros formatos integrados. Para mostrar esa lista, quite LongDateTime de
la fórmula.

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.

Aplicar formato a una fecha mediante DateValue


1. Agregue un control Text input denominado ArrivalDate y, luego, escriba una fecha en él (por ejemplo,
5/10/85).
2. Agregue un control Etiqueta denominado FormatDate y establezca su propiedad Texto en esta fórmula:
DateValue(ArrivalDate.Text)
FormatDate muestra la fecha que ha escrito, pero el año aparece con cuatro dÃ​gitos.
3. Establezca la propiedad Text de FormatDate en esta fórmula:
DateValue(ArrivalDate.Text, "fr")
FormatDate muestra el dÃ​a antes del mes, tal y como esperarÃ​a un usuario francés.
4. Para usar uno de los varios formatos integrados, establezca la propiedad Text de FormatDate en esta
fórmula:
Text(DateValue(ArrivalDate.Text), DateTimeFormat.LongDate)
FormatDate muestra el dÃ​a de la semana, el mes, el dÃ​a y el año.
5. Para usar un formato personalizado, establezca la propiedad Text de FormatDate en esta fórmula:
Text(DateValue(ArrivalDate.Text), "yy/mm/dd")
FormatDate muestra la fecha en el formato especificado.

Dar formato a una hora mediante DateTimeValue


1. Agregue un control Text input denominado ArrivalTime y, luego, escriba 6:15 AM en él.
2. Agregue un control Etiqueta denominado ShowTime.
3. Para usar uno de los varios formatos integrados, establezca la propiedad Text de ShowTime en esta
fórmula:
Text(DateTimeValue(ArrivalTime.Text), DateTimeFormat.LongTime)
ShowTime muestra la hora que ha especificado, incluidos los segundos.
4. Para usar un formato personalizado, establezca la propiedad Text de ShowTime en esta fórmula:
Text(DateTimeValue(ArrivalTime.Text), "hh:mm:ss.fff AM/PM")
ShowTime muestra la hora que ha especificado, incluidos los segundos y los milisegundos.

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.

Mostrar el tiempo entre fechas


1. Agregue dos controles Text input denominados Start y End.
2. Escriba 4/1/2015 en Start y 1/1/2016 en End.
3. Agregue un control Cuadro de texto denominado DateDiff y establezca su propiedad Text en esta
fórmula:
DateDiff(DateValue(Start.Text), DateValue(End.Text))

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.

Identificar una fecha antes o después de otra fecha


1. Agregue un control Text input denominado Start y escriba 5/10/1985 en él.
2. Agregue un control Etiqueta denominado DateAdd y establezca su propiedad Texto en esta fórmula:
DateAdd(DateValue(Start.Text), 3)
DateAdd muestra 5/13/1985, que es tres dÃ​as después de la fecha establecida en Start.
3. Establezca la propiedad Text de DateAdd en esta fórmula:
DateAdd(DateValue(Start.Text), -3)

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.

Calcular fechas basándose en años, meses y dÃas


1. Agregue tres controles Drop down denominados Year, Month y Day.
2. Establezca la propiedad Items de Year en esta fórmula:
Table({Year:"2014"}, {Year:"2015"}, {Year:"2016"})
3. Establezca la propiedad Items de Month en esta fórmula:
Table({Month:"1"}, {Month:"2"}, {Month:"3"}, {Month:"4"}, {Month:"5"}, {Month:"6"}, {Month:"7"},
{Month:"8"}, {Month:"9"}, {Month:"10"}, {Month:"11"}, {Month:"12"})
4. Establezca la propiedad Items de Day en esta fórmula:
Table({Day:"1"}, {Day:"2"}, {Day:"3"}, {Day:"4"}, {Day:"5"}, {Day:"6"}, {Day:"7"}, {Day:"8"},
{Day:"9"}, {Day:"10"}, {Day:"11"}, {Day:"12"}, {Day:"13"}, {Day:"14"}, {Day:"15"}, {Day:"16"},
{Day:"17"}, {Day:"18"}, {Day:"19"}, {Day:"20"}, {Day:"21"}, {Day:"22"}, {Day:"23"}, {Day:"24"},
{Day:"25"}, {Day:"26"}, {Day:"27"}, {Day:"28"}, {Day:"29"}, {Day:"30"}, {Day:"31"})
5. Agregue un control Etiqueta y establezca su propiedad Texto en esta fórmula:
Text(Date(Value(Year.Selected.Value), Value(Month.Selected.Value), Value(Day.Selected.Value)),
DateTimeFormat.LongDate)
La fecha miércoles, 1 de enero de 2014 aparece de forma predeterminada. Seleccione valores
diferentes en los controles Lista desplegable para cambiar la fecha en el control Etiqueta.
Es posible que deba convertir datos que no esperaba. Si agrega controles Text input en lugar de controles Drop
down, puede que un usuario escriba una fecha incorrecta, como 45 de mayo. La función Date se encarga de los
datos inusuales de las siguientes formas:
Si un valor de año está comprendido entre 0 y 1899 (ambos incluidos), la función agrega ese valor a 1900
para calcular el año.
Si un valor de año está comprendido entre 1900 y 9999 (ambos incluidos), la función usa ese valor como el
año.
Si un valor de año es menor que 0, o mayor o igual que 10000, la función devuelve un valor de error.
Si un valor de mes es mayor que 12, la función suma ese número de meses al primer mes del año
especificado.
Si un valor de mes es menor que 1, la función resta ese número de meses, más 1, del primer mes del año
especificado.
Si un valor de dÃ​a es mayor que el número de dÃ​as del mes especificado, la función sumará esos dÃ​as al
primer dÃ​a del mes y devolverá la fecha correspondiente de un mes posterior.
Si un valor de dÃ​a es menor que 1, la función resta esa cantidad de dÃ​as, más 1, del primer dÃ​a del mes
especificado.

Calcular tiempos basándose en horas, minutos y segundos


1. Agregue dos listas Drop-down denominadas Hour y Minute.
2. Establezca la propiedad Items de Hour en esta fórmula:
Table({Hour:"9"}, {Hour:"10"}, {Hour:"11"}, {Hour:"12"}, {Hour:"13"}, {Hour:"14"}, {Hour:"15"},
{Hour:"16"}, {Hour:"17"})
3. Establezca la propiedad Items de Minute en esta fórmula:
Table({Minute:"0"}, {Minute:"15"}, {Minute:"30"}, {Minute:"45"})
4. Agregue un control Etiqueta y establezca su propiedad Texto en esta fórmula:

Text(Time(Value(Hour.Selected.Value), Value(Minute.Selected.Value), 0),


DateTimeFormat.ShortTime)
5. Seleccione 15 en Hour y 45 en Minute.
El control Etiqueta muestra 3:45 PM.
Puede agregar entradas a Hour y Minute para que los usuarios puedan seleccionar entre un intervalo más
amplio de horas y un número más preciso de minutos. También puede agregar un tercer control Drop
down para que los usuarios puedan especificar segundos. Si agrega una tercera lista, establezca la
propiedad Texto del control Etiqueta en la siguiente expresión:
Text(Time(Value(Hour.Selected.Value), Value(Minute.Selected.Value),
Value(Second.Selected.Value)), DateTimeFormat.LongTime)
Información acerca de los orÃgenes de datos en
PowerApps
23/03/2018 • 23 min to read • Edit Online

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.

Tipos de orÃgenes de datos


Los orÃ​genes de datos pueden estar conectados a un servicio en la nube, o bien pueden ser locales a una
aplicación.
OrÃgenes de datos conectados
Los orÃ​genes de datos más frecuentes son las tablas, que se pueden usar tanto para recuperar como para
guardar información. Las conexiones con los orÃ​genes de datos se pueden usar para leer y escribir datos en
libros de Microsoft Excel, listas de SharePoint, tablas SQL y muchos otros formatos, que pueden almacenarse en
servicios en la nube, como OneDrive para la Empresa, DropBox, SQL Server, etc.
Los orÃ​genes de datos distintos de las tablas incluyen el correo electrónico, los calendarios, Twitter y las
notificaciones, pero en este artÃ​culo no se habla de otros tipos de orÃ​genes de datos.
OrÃgenes de datos locales
Con los controles GalerÃ​a, Formulario de presentación y Formulario de edición, resulta muy fácil crear
una aplicación que lea y escriba datos en un origen de datos. Para empezar, lea el artÃ​culo Understand data
forms (Introducción a los formularios de datos).
Cuando se solicita a PowerApps que cree una aplicación a partir de los datos, se utilizan estos controles. En
segundo plano, la aplicación utiliza una tabla interna para almacenar y manipular los datos procedentes del
origen de datos.
Un tipo especial de origen de datos es la colección, que está en la propia aplicación y no tiene 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. Las colecciones se pueden cargar y guardar localmente.
Tipos de tablas
Las tablas internas de una aplicación de PowerApps son valores fijos, como un número o una cadena son un
valor. Las tablas internas no se almacenan en ningún lugar, solo existen en la memoria de la aplicación. La
estructura y los datos de una tabla no se pueden modificar directamente. En su lugar, lo que puede hacer es crear
una nueva tabla a través de una fórmula: dicha fórmula se usa para hacer una copia modificada de la tabla
original.
Las tablas externas se almacenan en un origen de datos para su posterior recuperación y uso compartido.
PowerApps proporciona "conexiones" para leer y escribir los datos almacenados. En una conexión se puede
acceder a varias tablas de información. Seleccione las tablas que desea utilizar en la aplicación y cada uno de
ellas pasará a ser un origen de datos independiente.
Para más información, consulte Trabajar con tablas, donde se proporcionan más detalles acerca de las tablas
internas, pero también se explican las tablas externas que residen en un servicio en la nube.

Trabajo con tablas


Los orÃ​genes de datos en tabla se pueden usar del mismo modo que se usa una tabla interna de PowerApps. Al
igual que una tabla interna, cada origen de datos tiene registros, columnasy propiedades que se pueden usar en
las fórmulas. Asimismo:
El origen de datos tiene la mismos nombres de columna y tipos de datos que la tabla subyacente de la
conexión.

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.

El diagrama anterior muestra el flujo de información para actualizar un origen de datos:


Un control Formulario de edición proporciona un contenedor para las tarjetas de entrada, que se
componen de controles de entrada de usuario, como un control de entrada de texto o un control deslizante.
Las propiedades DataSource y Elemento se utilizan para identificar el registro que se va a editar.
Cada tarjeta de entrada tiene una propiedad Default, que normalmente se establece en el campo del registro
EsteElemento del formulario. Luego, los controles de la tarjeta de entrada tomarán sus valores de entrada
de Default. Normalmente este comportamiento no es preciso modificarlo.
Cada tarjeta de entrada expone una propiedad Actualizar. Dicha propiedad asigna la entrada del usuario a un
campo especÃ​fico del registro reescribir en el origen de datos. Normalmente este comportamiento no es
preciso modificarlo.
Un botón o un control de imagen de la pantalla permite al usuario guardar los cambios en el registro. La
fórmula AlSeleccionar del control llama a la función SubmitForm para realizar este trabajo. SubmitForm
lee todas las propiedades Actualizar de las tarjetas y lo utiliza para reescribir en el origen de datos.
A veces surgirán problemas. Una conexión de red puede estar inactiva o el servicio realiza una
comprobación de validación sin que lo sepa la aplicación. Las propiedades Error y ErrorKind del control
del formulario hacen que esta información está disponible, por lo que se puede mostrar al usuario.
Para lograr un mayor control sobre el proceso, también se pueden usar las funciones Patch y Errores. El
control Formulario de edición expone una propiedad Actualizaciones para que pueda leer los valores de los
campos del formulario. Esta propiedad también se puede utilizar para llamar a un conector personalizado en
una conexión, omitiendo completamente las funciones Patch y SubmitForm.
Validación
Antes de realizar cualquier cambio en un registro, la aplicación debe hacer todo lo posible por asegurarse de que
el cambio será aceptable. Hay dos motivos para ello:
Comentarios inmediatos para el usuario. El mejor momento para corregir un problema es cuando ocurre,
cuando está fresco en la mente del usuario. Cada vez que se toca o se pulsa una tecla, puede texto en rojo que
identifica un problema.
Menor tráfico de red y menor latencia de los usuarios. La detección de un mayor número de problemas en
la aplicación implica que habrá menos conversaciones a través de la red para detectar y solucionar
problemas. Cada conversación lleva su tiempo y el que usuario debe esperar.
PowerApps ofrece dos herramientas para la validación:
El origen de datos puede proporcionar información sobre lo que es valido, y lo que no lo es. Por ejemplo, los
números pueden tener valores mÃ​nimo y máximo, y puede que se requieran una o varias entradas. Para
acceder a esta información, puede usar la función DataSourceInfo.
La función Validate función usa esta misma información para comprobar el valor de una sola columna o
de todo un registro.
Control de errores
Ya ha validado el registro. Ha llegado el momento de actualizar el registro con Patch.
Sin embargo, aún puede haber un problema. La red no está activa, se produce un error en la validación en el
servicio o el usuario no tiene los permisos adecuados, por nombrar algunos de los posibles errores con que
puede toparse la aplicación. Es preciso que responda correctamente en situaciones de error, es decir, que
proporcione al usuario no solo información, sino también una forma de salir de dichas situaciones.
Si los errores se producen en un origen de datos, la aplicación registra automáticamente la información del
error y la pone a disposición del usuario a través de la función Errores. Los errores están asociados a los
registros que tenÃ​an los problemas. Si el problema puede corregirlo el usuario, como por ejemplo, un problema
de validación, puede volver a enviar el registro y los errores desaparecerán.
Si se produce un error cuando un registro se crea con Patch o Recopilar, no hay registro con los que se puedan
asociar los errores. En este caso, la función Patch devolverá un espacio en blanco que puede utilizarse como
argumento de registro en Errores. Los errores de creación se eliminan con la siguiente operación.
La función Errores devuelve una tabla de información del error. Dicha información puede incluir información
de una columna, en caso de que el error se pueda atribuir a una columna concreta. Utilice mensajes de error de
nivel de columna en los controles de etiqueta que estén cerca del lugar ne que se encuentra la columna en la
pantalla de edición. Utilice mensajes de error de nivel de registro donde el valor de Columna en la tabla de
errores esté en blanco, en una ubicación próxima al botón Guardar de todo el registro.
Uso de orÃgenes de datos grandes
Cuando se crean informes de orÃ​genes de datos de gran tamaño (quizás millones de registros), se desea
minimizar el tráfico de red. Supongamos que desea mostrar todos los clientes cuyo StatusCode sea "Platinum"
en New York City. Y supongamos también que la tabla de clientes contiene millones de registros.
Lógicamente, no desea incorporar todos esos millones de clientes a la aplicación para elegir los que desee. Lo
que realmente desea es que la elección se realice dentro del servicio en la nube en que está almacenada la tabla
y enviar a través de la red solo los registros seleccionados.
Aunque no todas, muchas de las funciones que puede usar para elegir los registros se pueden delegar, lo que
significa que se ejecutan en el servicio en la nube. Para aprender a hacerlo, lea la información existente acerca de
la delegación.

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.

Descripción del formulario generado predeterminado


El formulario generado predeterminado consta de los siguientes controles y sus valores predeterminados
correspondientes:
FormScreen1: esta es la pantalla que contiene el formulario.
SharePointForm1: este es el formulario que se usa para crear, mostrar o editar el elemento de lista.
Origen de datos: la lista para la que se ha personalizado el formulario.
Elemento: el elemento seleccionado de la lista. Para su comodidad, este se establece en el elemento
First() de la lista al trabajar en PowerApps Studio.
If(IsBlank(SharePointIntegration.Selected) ||
IsEmpty(SharePointIntegration.Selected),First('YourListName'),SharePointIntegration.Select
ed)
OnSuccess: una vez que el elemento se crea o se guarda correctamente, el formulario se restablece y
SharePoint oculta el formulario.
ResetForm(SharePointForm1); RequestHide()
SharePointIntegration: el control responsable de la comunicación de las acciones de los usuarios entre
SharePoint y PowerApps.
Origen de datos: la lista para la que se ha personalizado el formulario.
'YourListName'
OnNew: establece SharePointForm1 en el modo nuevo.
NewForm(SharePointForm1)
OnNew: establece SharePointForm1 en el modo de vista.
ViewForm(SharePointForm1)
OnEdit: establece SharePointForm1 en modo de edición.
EditForm(SharePointForm1)
OnSave: envÃ​a los cambios a SharePointForm1. Tras el envÃ​o correcto del formulario, se ejecuta la
fórmula SharePointForm1.OnSuccess.
SubmitForm(SharePointForm1)
OnCancel: restablece los cambios realizados en SharePointForm1. SharePoint siempre oculta el
formulario cuando un usuario pulsa o hace clic en Cancelar en SharePoint.
SubmitForm(SharePointForm1)
Estos valores predeterminados garantizan que el formulario funciona cuando se ejecuta en SharePoint (lo que
hacen es cambiar el modo del formulario de PowerApps cuando el usuario interactúa con él en SharePoint, y
garantizan que los cambios se envÃ​an a SharePoint).

Descripción del control SharePointIntegration


El control SharePointIntegration comunica las acciones de los usuarios entre SharePoint y PowerApps.

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.

El control SharePointIntegration tiene las siguientes propiedades:


Selected: el elemento seleccionado de la lista de SharePoint.
OnNew: cómo responde la aplicación cuando un usuario pulsa o hace clic en el botón Nuevo o abre el
formulario Crear elemento en SharePoint.
OnView: cómo responde una aplicación cuando un usuario pulsa o hace clic en un elemento o abre el
formulario Item detail (Detalle de elemento) en SharePoint.
OnEdit: cómo responde una aplicación cuando un usuario pulsa o hace clic en el botón Edit all (Editar todo) o
abre el formulario Editar elemento de SharePoint.
OnSave: cómo responde una aplicación cuando un usuario pulsa o hace clic en el botón Guardar en
SharePoint.
OnCancel: cómo responde una aplicación cuando un usuario pulsa o hace clic en el botón Cancelar en
SharePoint.
SelectedListItemID: identificador del elemento seleccionado en una lista de SharePoint.
Origen de datos: la lista que contiene el registro que el formulario mostrará, editará o creará. Tenga en cuenta
que si cambia esta propiedad, las propiedades Selected y SelectedItemID podrÃ​an dejar de funcionar.

Personalización del formulario predeterminado


Ahora que comprende mejor el formulario generado predeterminado y el control SharePointIntegration, puede
cambiar las fórmulas para personalizar aún más los formularios. Al personalizar formularios, tenga en cuenta
algunas de estas cosas:
Para crear experiencias personalizadas independientes con el fin de crear, mostrar o editar un elemento,
establezca las fórmulas OnNew, OnView o OnEdit del control SharePointIntegration para establecer
variables o navegar a distintas pantallas.
Use la fórmula OnSave del control SharePointIntegration para personalizar lo que sucede cuando un
usuario pulsa o hace clic en Guardar en SharePoint. Si tiene varios formularios, asegúrese de enviar los
cambios correspondientes solamente al formulario que usa actualmente.

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.

No olvide incluir RequestHide() en la fórmula OnSuccess de todos los formularios. Si lo olvida,


SharePoint no sabrá cuándo ocultar el formulario.
Como no puede controlar que se oculte un formulario cuando un usuario pulsa o hace clic en Cancelar en
SharePoint, asegúrese de restablecer los formularios de la fórmula OnCancel del control
SharePointIntegration.
PowerApps para desarrolladores empresariales,
asociados y fabricantes de software independientes
22/03/2018 • 2 min to read • Edit Online

Los desarrolladores tienen la posibilidad de ampliar PowerApps y crear soluciones aún más potentes para las
organizaciones y clientes.

PowerApps para desarrolladores empresariales


Los desarrolladores empresariales permiten que sus organizaciones compilen robustas soluciones personalizadas
en PowerApps:
Cree conectores personalizados: desarrolle conectores personalizados para conectarse a los datos y a los
servicios web de su organización a través de Microsoft Flow. Más información
Cree instancias de Azure Functions: elabore instancias de Azure Functions para ampliar las aplicaciones
con lógica de servidor personalizada. Más información
Inserte aplicaciones: inserte aplicaciones directamente en la experiencia de sus sitios web para crear
soluciones integradas y exponer aplicaciones con las que las personas de su organización ya hacen su
trabajo. Más información
Compile aplicaciones que se puedan usar sin conexión: desarrolle aplicaciones que se puedan usar sin
conexión para que los usuarios puedan ser productivos en todo momento, tanto cuando están en lÃ​nea
como cuando no tienen conexión. Más información

PowerApps para fabricantes de software independientes y asociados de


Microsoft
Tanto los fabricantes de software independientes (ISV) como los asociados de Microsoft, pueden acelerar la
incorporación de sus clientes si amplÃ​an sus productos para que se integren con los datos y procesos
empresariales de los clientes:
Cree y certifique conectores personalizados: suba cualquier producto a la nube de Microsoft mediante la
creación de un conector que permita a PowerApps comunicarse con su servicio. Más información
Presente la solución en AppSource: genere nuevos clientes potenciales para su empresa mediante la
compilación de una aplicación con PowerApps y su posterior publicación en AppSource para la prueben
los clientes nuevos. Más información
Empiece a usarlo hoy mismo de forma gratuita: regÃ​strese gratis en el Plan de la comunidad de
PowerApps y empiece a compilar aplicaciones en un entorno individual dedicado. Más información
Conectores personalizados en PowerApps
23/03/2018 • 1 min to read • Edit Online

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.

Tenga en mente las siguientes restricciones:


Los únicos usuarios de PowerApps que pueden acceder a la aplicación insertada son los que se encuentran en
el mismo inquilino.
Para acceder a PowerApps mediante Internet Explorer 11, es preciso desactivar la vista de compatibilidad.
También puede integrar PowerApps en SharePoint Online (sin usar un iframe). Para más información, consulte
Creación de una aplicación desde SharePoint mediante PowerApps.

Establecer los parámetros URI de la aplicación


Si tiene una aplicación que desea insertar, el primer paso es establecer los parámetros para el identificador
uniforme de recursos (URI), para que el iframe sepa dónde se encuentra la aplicación. El identificador URI tiene la
forma siguiente:

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]&amp;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.

2. Copie el Id. de aplicación.


3. Sustituya el valor [AppID] en el identificador URI. Para la aplicación "Pedido de activos", el identificador
URI tiene el siguiente aspecto:

https://web.powerapps.com/webplayer/iframeapp?
source=iframe&appId=/providers/Microsoft.PowerApps/apps/76897698-91a8-b2de-756e-fe2774f114f2

Insertar la aplicación en un sitio web


Ahora es muy fácil incrustar aplicaciones, solo hay que agregar el iframe al código HTML del sitio (o a cualquier
otro servicio que admita iframes, como Power BI o SharePoint):

<iframe width="[W]" height="[H]" src="https://web.powerapps.com/webplayer/iframeapp?


source=website&screenColor=rgba(165,34,55,1)&appId=/providers/Microsoft.PowerApps/apps/[AppID]"
allow="geolocation; microphone; camera"/>

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.

Cómo crear aplicaciones que puedan ejecutarse sin conexión


Lo primero que hay que pensar en escenarios sin conexión es cómo trabajan las aplicaciones con los datos. Las
aplicaciones en PowerApps tienen acceso a los datos principalmente a través de un conjunto de conectores que
proporciona la plataforma, como SharePoint, Office 365 y Common Data Service. También puede crear
conectores personalizados que permiten a las aplicaciones tener acceso a cualquier servicio que proporcione un
punto de conexión REST. PodrÃ​a tratarse de una API web o un servicio como Azure Functions. Todos estos
conectores usan HTTPS a través de Internet, lo que significa que los usuarios deben estar en lÃ​nea para acceder a
los datos y otras funcionalidades que ofrece un servicio.

Administrar datos sin conexión


Uno de los aspectos más interesantes de PowerApps es su conjunto de funcionalidades y fórmulas que le
permiten filtrar, buscar y ordenar, agregar y manipular los datos de una manera coherente independientemente del
origen de datos. Estos orÃ​genes varÃ​an desde colecciones en memoria en la aplicación a listas de SharePoint,
bases de datos SQL o Common Data Service. Esta coherencia permite redirigir fácilmente una aplicación para que
use un back-end diferente. Lo más importante es que, en este caso, también permite usar colecciones locales
para la administración de datos sin realizar apenas cambios en la lógica de la aplicación. De hecho, las
colecciones locales son el mecanismo principal para administrar datos sin conexión.

Crear una aplicación de Twitter sin conexión


Para centrarnos en los aspectos del desarrollo de aplicaciones sin conexión, mostraremos un sencillo escenario
centrado en Twitter. Vamos a crear una aplicación que permite leer entradas de Twitter y enviar tweets mientras
está sin conexión. Cuando la aplicación se conecta, la aplicación envÃ​a los tweets y vuelve a cargar los datos
locales.
De forma general, la aplicación hace lo siguiente:
1. En el inicio de la aplicación (en función de la propiedad AlEstarVisible de la primera pantalla):
Si el dispositivo está en lÃ​nea, se accede directamente al conector de Twitter para recuperar los datos y
se rellena una colección con esos datos.
Si el dispositivo está sin conexión, se cargan los datos desde un archivo de caché local mediante
LoadData.
Se permite al usuario enviar tweets; si está en lÃ​nea, se envÃ​an directamente a Twitter y se actualiza la
memoria caché local.
2. Cada 5 minutos, en está en lÃ​nea:
Se envÃ​an los tweets que tenemos en la memoria caché local.
Se actualiza la memoria caché local y se guarda con SaveData.
Paso 1: Crear una nueva aplicación de teléfono
1. Abra PowerApps Studio.
2. Pulse o haga clic en Nuevo > Aplicación en blanco > Diseño de teléfono.

Paso 2: Agregar una conexión de Twitter


1. Pulse o haga clic en Contenido > OrÃ​genes de datos; a continuación, elija Agregar origen de datos en
el panel OrÃ​genes de datos.
2. Pulse o haga clic en Nueva conexión, seleccione Twitter y pulse o haga clic en Crear.
3. Escriba sus credenciales y cree la conexión.
Paso 3: Cargar los tweets en la colección LocalTweets en el inicio de la aplicación
Seleccione la propiedad AlEstarVisible de Pantalla1 en la aplicación y copie en ella la siguiente fórmula:

If(Connection.Connected,

ClearCollect(LocalTweets, Twitter.SearchTweet("PowerApps", {maxResults: 100}));

UpdateContext({statusText: "Online data"})

LoadData(LocalTweets, "Tweets", true);

UpdateContext({statusText: "Local data"})

);

LoadData(LocalTweetsToPost, "LocalTweets", true);

SaveData(LocalTweets, "Tweets")

Esta fórmula comprueba si el dispositivo está en lÃ​nea:


Si el dispositivo está en lÃ​nea, se cargan en la colección LocalTweets hasta 100 tweets con el término de
búsqueda "PowerApps".
Si el dispositivo está sin conexión, se carga la memoria caché local desde un archivo denominado "Tweets",
si está disponible.
Paso 4: Agregar una galerÃa y enlazarla a la colección LocalTweets
1. Inserte una nueva galerÃ​a de alto flexible: Insertar > GalerÃ​a > GalerÃ​a de altura flexible en blanco.
2. Establezca la propiedad Items en LocalTweets.
3. Agregue cuatro controles Label para mostrar los datos de cada tweet y establezca sus propiedades Texto
en:
ThisItem.TweetText
ThisItem.UserDetails.FullName & " @" & ThisItem.UserDetails.UserName
"RT: " & ThisItem.RetweetCount
Text(DateTimeValue(ThisItem.CreatedAtIso), DateTimeFormat.ShortDateTime)
4. Agregue un control Imagen y establezca la propiedad Image en ThisItem.UserDetails.ProfileImageUrl.
Paso 5: Agregar una etiqueta de estado de conexión
Inserte un nuevo control Label y establezca su propiedad Texto en la fórmula siguiente:

If (Connection.Connected, "Connected", "Offline")

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,

Twitter.Tweet("", {tweetText: NewTweetTextInput.Text}),

Collect(LocalTweetsToPost, {tweetText: NewTweetTextInput.Text});

SaveData(LocalTweetsToPost, "LocalTweetsToPost")

);

UpdateContext({resetNewTweet: true});

UpdateContext({resetNewTweet: false})

Esta fórmula comprueba si el dispositivo está en lÃ​nea:


Si el dispositivo está en lÃ​nea, envÃ​a el tweet inmediatamente.
Si el dispositivo está sin conexión, captura el tweet en la colección LocalTweetsToPost y la guarda en la
aplicación.
A continuación, la fórmula restablece el texto en el cuadro de texto.
Paso 8: Agregar un temporizador para comprobar los tweets cada cinco minutos
Agregue un nuevo control Temporizador:
Establezca la propiedad Duration en 300 000.
Establezca la propiedad AutoStart en true.
Establezca OnTimerEnd en la fórmula siguiente:

If(Connection.Connected,

ForAll(LocalTweetsToPost, Twitter.Tweet("", {tweetText: tweetText}));

Clear(LocalTweetsToPost);

Collect(LocalTweetsToPost, {tweetText: NewTweetTextInput.Text});

SaveData(LocalTweetsToPost, "LocalTweetsToPost");

UpdateContext({statusText: "Online data"})


)

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.

¿Qué es una solución de versión de prueba?


Una solución de versión de prueba permite a sus clientes probar una aplicación real sin registrarse en un plan
de PowerApps ni instalar ninguna aplicación. Los clientes simplemente inician sesión en AppSource.com con su
cuenta de Azure Active Directory (AAD) y ejecutan la aplicación en un explorador web. Sin la versión de prueba,
los clientes solo pueden leer acerca de la aplicación o ver un vÃ​deo que la describe. Con la versión de prueba, los
clientes se hacen una idea mejor acerca de la solución y de la funcionalidad de la aplicación. Y tienen una
experiencia de uso real de la aplicación. Los clientes no pueden ver cómo está construida la aplicación, por lo
que la propiedad intelectual está protegida. Recopilamos y compartimos información de clientes potenciales que
han ejecutado la versión de prueba de la aplicación para ayudar en el desarrollo de su negocio.
Este es el ejemplo de la descripción de una aplicación en AppSource.com:

Al seleccionar el vÃ​nculo Evaluación gratuita en la descripción de la aplicación, se inicia directamente la


versión de prueba de la aplicación de PowerApps en el explorador del usuario:
¿Cómo se puede crear una solución de versión de prueba?
Crear una aplicación para una solución de versión de prueba es igual que crear cualquier aplicación en
PowerApps, pero se usan datos insertados en lugar de conexiones a datos externos. El uso de datos insertados
reduce la barrera de implementación de la aplicación al cliente, por lo que no supone ningún problema que la
prueben. La solución completa que en última instancia se distribuye a los clientes normalmente incluye
conexiones de datos, pero los datos insertados funcionan bien para una solución de versión de prueba.
PowerApps admite de forma nativa la creación de aplicaciones con datos insertados, por lo que basta con
disponer de datos de ejemplo para la aplicación. Estos datos se deben capturar en un archivo de Excel como una o
varias tablas. A continuación, en PowerApps se extraen los datos de las tablas de Excel en la aplicación y se
trabaja con ellos, en lugar de hacerlo a través de una conexión externa. El siguiente proceso en tres pasos
muestra cómo extraer datos y usarlos en la aplicación.
Paso 1: Importar datos en la aplicación
Suponga que tiene un archivo de Excel con dos tablas: SiteInspector y SitePhotos.

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.

Paso 2: Administración de escenarios de solo lectura y de lectura y escritura


Los datos que importó son de tipo estático, por lo tanto, de solo lectura. Si la aplicación es de solo lectura (es
decir, solo muestra los datos al usuario), se hace referencia a las tablas directamente en la aplicación. Por ejemplo,
si desea tener acceso al campo Title de la tabla SiteInspector, utilice SiteInspector.Title en la fórmula.
Si la aplicación es de lectura y escritura, extraiga primero los datos de cada tabla en una colección, que es una
estructura de datos tabulares en PowerApps. A continuación, trabaje con la colección en lugar de con la tabla.
Para extraer datos de las tablas SiteInspector y SitePhotos en las colecciones SiteInspectorCollect y
SitePhotosCollect:

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.

¿Cómo muestro mi solución de versión de prueba en


AppSource.com?
Ahora que la aplicación está lista, es el momento de publicarla en AppSource.com. Para iniciar este proceso,
rellene el formulario de solicitud en PowerApps.com.
Una vez realizada la solicitud, recibirá un correo electrónico con las instrucciones de envÃ​o de la aplicación para
que sea publicada en AppSource.com. También se puede descargar la documentación de incorporación que
contiene todo el proceso de aquÃ​.
Personalización de un formulario de lista de
SharePoint mediante PowerApps
23/03/2018 • 16 min to read • Edit Online

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!

Creación de una aplicación de formulario de lista personalizado en


PowerApps
NOTA
La opción Customize forms (Personalizar formularios) dejará de estar disponible, o puede que no funcione correctamente,
si la lista de SharePoint contiene tipos de datos que no admiten PowerApps.

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.

Personalización del formulario de lista


PowerApps ofrece muchas maneras de personalizar el formulario. Estos son algunos ejemplos:
Cambiar el tamaño y la orientación
Dar formato al texto
Agregar imágenes o gráficos
Agregar validación de datos personalizados
Agregar reglas
Crear vistas adicionales
A modo de ejemplo, supongamos que el formulario tiene un campo AccountID que no desea que se vea.

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).

Almacenamiento y publicación del formulario de lista de nuevo en


SharePoint
1. Cuando haya terminado, pulse o haga clic en Archivo y, a continuación, pulse o haga clic en Guardar. Los
cambios se guardan en la aplicación de formulario de PowerApps.
2. Para volver a publicar el formulario en SharePoint para que otros usuarios puedan usarlo, pulse o haga clic
en Publicar en SharePoint. No es necesario preocuparse de compartir el formulario, ya que este hereda
los permisos de la lista de SharePoint.
Visualización del formulario de lista en SharePoint
1. Para ver el formulario personalizado, pulse o haga clic en Volver a SharePoint y, a continuación, pulse o
haga clic en cualquier elemento de la lista de SharePoint. El formulario se abre alineado en el lado derecho
de la ventana del explorador.

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.

Alternancia entre el uso del formulario de SharePoint predeterminado


y el formulario personalizado
1. En la lista de SharePoint, pulse o haga clic en Configuración, pulse o haga clic en Configuración de
lista y, luego, pulse o haga clic en Form settings (Configuración de formulario).
2. En la página Form Settings (Configuración de formulario), pulse o haga clic en una de las siguientes
opciones y, luego, pulse o haga clic en Aceptar.
Use the default SharePoint form (Usar el formulario de SharePoint predeterminado): SharePoint
usará el formulario de SharePoint predeterminado para su lista.
Use a custom form created in PowerApps (Usar un formulario personalizado creado en
PowerApps): SharePoint usará el formulario que personalizó en PowerApps (también puede
volver a publicar el formulario desde la página Guardar de PowerApps Studio para web).
Puede alternar entre las opciones, según sea necesario.

Eliminación del formulario de lista personalizado


1. En la lista de SharePoint, pulse o haga clic en Configuración, pulse o haga clic en Configuración de
lista y, luego, pulse o haga clic en Form settings (Configuración de formulario).
2. En la página Form Settings (Configuración de formulario), pulse o haga clic en Use the default
SharePoint form (Usar el formulario de SharePoint personalizado) y, en la opción Use a custom form
created in PowerApps (Usar un formulario personalizado creado en PowerApps), pulse o haga clic en
Delete custom form (Eliminar formulario personalizado). Esta acción elimina el formulario personalizado
que ha creado en PowerApps y el formulario vuelve al predeterminado de SharePoint.

Preguntas principales sobre la personalización de formularios de lista


Personalización de formularios frente a creación de aplicaciones
P: ¿En qué se diferencia un formulario de lista personalizado de una aplicación independiente que se crea
desde SharePoint o PowerApps?
R: La aplicación de formulario de lista que se crea desde SharePoint es un tipo especial de aplicación de
PowerApps que solo se puede usar en una lista de SharePoint. Estas aplicaciones de formulario de lista no
aparecen en la lista de aplicaciones de PowerApps Studio para web o PowerApps Mobile y no se pueden ejecutar
fuera de la lista de SharePoint.
P: ¿Cuándo se debe crear un formulario de lista personalizado y cuándo una aplicación independiente?
R: Si quiere que los usuarios accedan al formulario mediante SharePoint, y quiere personalizar cómo crean, ven o
editan elementos de lista, se recomienda crear un formulario de lista personalizado dentro de SharePoint. Si
quiere crear una experiencia totalmente personalizada para los usuarios que puedan usar con independencia del
sitio de SharePoint, se recomienda crear una aplicación independiente.
P: ¿Se puede personalizar un formulario de lista y crear una aplicación independiente para la misma lista?
R: SÃ​. Las aplicaciones independientes y los formularios de lista personalizados son independientes entre sÃ​;
puede personalizarlos y administrarlos de manera individual.
P: ¿Las caracterÃ​sticas de personalización para personalizar un formulario de lista son las mismas que las que
se usan para personalizar una aplicación independiente?
R: SÃ​. También puede agregar y configurar controles, conectarse a orÃ​genes de datos disponibles o agregar
sus propios orÃ​genes de datos, exactamente igual que con las aplicaciones independientes.
P: ¿Se pueden crear formularios de lista personalizados en un entorno distinto al predeterminado de la
organización?
A: No. Actualmente solo puede crear formularios de lista personalizados en el entorno de PowerApps
predeterminado de su organización; no puede crear formularios de lista personalizados en otro entorno ni
migrarlos a otro entorno.
Administración del formulario de lista personalizado
P: ¿Cómo se obtiene un vÃ​nculo directo a un formulario de lista que se puede compartir con otros?
R: Abra el formulario en la lista de SharePoint y luego pulse o haga clic en Copiar vÃ​nculo.
P: ¿Se puede actualizar un formulario de lista sin realizar cambios visibles en otros?
R: SÃ​. Puede realizar cambios en el formulario y guardarlos tantas veces como desee, pero los cambios no serán
visibles para otros usuarios hasta que pulse o haga clic en Publicar en SharePoint.
P: Si se personaliza un formulario de lista y se comete un error, ¿se puede volver a la versión anterior?
R: SÃ​. Si realiza cambios en el formulario y guarda esos cambios y luego se da cuenta de que ha cometido algún
error, puede volver a una versión anterior del formulario mediante PowerApps:
1. 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).
2. En PowerApps Studio para web, pulse o haga clic en Archivo y, a continuación, en la página Guardar,
pulse o haga clic en Ver todas las versiones. Se abre la página Versiones en una nueva pestaña de
explorador.

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.

P: ¿Se puede mover un formulario de lista personalizado de una lista a otra?


A: No. Esta funcionalidad no se admite actualmente.
Administración de formularios de lista personalizados
P: ¿Cómo se comparte un formulario de lista personalizado con otros usuarios?
R: No es necesario compartir el formulario, ya que este hereda los permisos de la lista de SharePoint. Cuando haya
terminado de personalizarlo, solo tiene que volver a publicarlo en SharePoint para que otros usuarios puedan
usarlo.
P: ¿Quién puede personalizar los formularios de lista?
R: Cualquier persona con permisos de SharePoint para administrar, diseñar o editar la lista asociada.
P: ¿ ¿Se necesita una licencia de PowerApps para crear o utilizar formularios de lista personalizados?
R: Si tiene algún plan de Office 365 que incluya PowerApps, puede crear o utilizar formularios de lista
personalizados.
P: ¿Qué sucede cuando los usuarios invitados acceden a una lista que tiene un formulario personalizado?
R: Los usuarios invitados reciben un mensaje de error si intentan acceder a un formulario de lista que se ha
personalizado mediante PowerApps.
P: ¿Cómo reciben los administradores una lista de todos los formularios personalizados de su organización?
A: Si es un administrador de inquilinos de PowerApps o tiene permisos de administrador en el entorno
predeterminado de PowerApps de la organización, haga lo siguiente:
1. Vaya al centro de administración de PowerApps y seleccione el entorno predeterminado de su
organización en la lista de entornos.
2. En la parte superior de la página del entorno predeterminado, pulse o haga clic en Recursos.
3. En la lista de aplicaciones, busque aplicaciones con un tipo de aplicación de formulario de SharePoint,
que son los formularios personalizados.
Crear una aplicación desde cero
23/03/2018 • 16 min to read • Edit Online

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.

DÃ​A DE INICIO HORA DE INICIO VOLUNTARIO 1 VOLUNTARIO 2

Sábado 10 a.m. a mediodÃ​a Vasquez Kumashiro

Sábado mediodÃ​a a 2 p.m. Ice Singhal

Sábado 2 p.m. a 4 p.m. Myk Mueller

Domingo 10 a.m. a mediodÃ​a Li Adams

Domingo 10 a.m. a mediodÃ​a Singh Morgan

Domingo 10 a.m. a mediodÃ​a Batye Nguyen

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.

5. En el panel de la derecha, haga clic o pulse en Agregar origen de datos.


6. Realice uno de estos pasos:
Si ya tiene una conexión a su cuenta de almacenamiento en la nube, haga clic o pulse en ella.
Si no tiene una conexión a la cuenta de almacenamiento en la nube, haga clic o pulse en Agregar
conexión, después en el tipo de cuenta, posteriormente en Conectar y, finalmente (si se le
solicita), proporcione sus credenciales.
7. En Choose an Excel file (Elegir un archivo de Excel), vaya a eventsignup.xlsx y haga clic o pulse en
él.

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.

Mostrar los datos


1. En la pestaña Inicio, haga clic o pulse en Nueva pantalla y luego haga clic o pulse Pantalla de lista.
Se agrega una pantalla con varios controles predeterminados, como un cuadro de búsqueda y un
control de GalerÃ​a . La galerÃ​a cubre toda la pantalla en el cuadro de búsqueda.
2. Haga clic o pulse en cualquier parte de la galerÃ​a excepto en una flecha, como directamente debajo del
cuadro de búsqueda.

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".

Esta galerÃ​a muestra los datos de la tabla Programación.


Un cuadro de búsqueda puede filtrar la galerÃ​a según el texto que escriba el usuario. Si un usuario
escribe al menos una letra en el cuadro de búsqueda, la galerÃ​a mostrará únicamente aquellos
registros en los que el campo Voluntarios 1 contenga el texto escrito por el usuario.
El botón de ordenación puede ordenar los registros en función de los datos de la columna
Voluntarios 1. Si un usuario hace clic o pulsa ese botón, el criterio de ordenación podrá cambiar entre
ascendente y descendente.
La fórmula contiene las funciones Sort, If, IsBlank, Filter y Text. Para más información sobre estas y
otras funciones, consulte la referencia de las fórmulas
5. Escriba i en el cuadro de búsqueda y pulse o haga clic en el botón de ordenación una vez (o un
número impar de veces).
La galerÃ​a muestra estos resultados.

Más información acerca de Ordenar, Filtrar y otras funciones


6. Seleccione el control Etiqueta de la parte superior de la pantalla haciendo clic o pulsando en él.
7. En la lista de propiedades, haga clic o pulse en Texto, copie este texto y péguelo en la barra de
fórmulas.
"Ver registros"

Crear la pantalla ChangeScreen y su banner


1. Eliminar Screen1y cambiar el nombre de Screen2 a ViewScreen.

2. Agregue una pantalla y cámbiele el nombre por ChangeScreen.

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".

13. Establezca la propiedad OnSelect del botón en esta fórmula:


SubmitForm(Form1); If(Form1.ErrorKind = ErrorKind.None, Navigate(ViewScreen,
ScreenTransition.None))
Cuando el usuario hace clic o pulsa el botón, la función SubmitForm guarda los cambios en el origen
de datos y la pantalla ViewScreen vuelve a aparecer.
14. En la parte inferior de la pantalla, agregue otro botón, establezca su propiedad Text en "Remove" y
establezca la propiedad OnSelect en esta fórmula:
Remove(Schedule,BrowseGallery1.Selected);
If(IsEmpty(Errors(Schedule)),Navigate(ViewScreen,ScreenTransition.None))
Cuando el usuario hace clic o pulsa este botón, la función Remove quita el registro y la pantalla
ViewScreen vuelve a aparecer.
15. Establezca la propiedad Visible del botón Remove en esta fórmula:
Form1.Mode=FormMode.Edit
Este paso oculta el botón Quitar cuando el usuario está creando un registro.
La pantalla ChangeScreen coincide con este ejemplo:

Establecer navegación desde ViewScreen


1. En la barra de navegación izquierda, pulse o haga clic en la miniatura superior de ViewScreen.

2. Pulse o haga clic en la flecha Siguiente para ir al primer registro de la galerÃ​a.

3. Establezca la propiedad OnSelect de la flecha en esta fórmula:


Navigate(ChangeScreen,ScreenTransition.None)
4. En la esquina superior derecha, pulse o haga clic en el icono del signo más.

5. Establezca la propiedad OnSelect del icono seleccionado en esta fórmula:


NewForm(Form1);Navigate(ChangeScreen,ScreenTransition.None)`
Cuando el usuario hace clic o pulsa este icono, aparece la pantalla ChangeScreen con los campos vacÃ​-
os, de forma que el usuario puede crear un registro más fácilmente.

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

Añada diversos elementos de interfaz de usuario a su aplicación y configure aspectos de su apariencia y


comportamiento directamente, desde la barra de herramientas, en la pestaña Propiedades o en la barra de
fórmulas. Estos elementos de interfaz de usuario se denominan controles y los aspectos que configura se
denominan propiedades.

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.

Configuración directa de un control


En este procedimiento, agregará y configurará un control Etiqueta, pero puede aplicar muchos de los
mismos principios a otros controles.
1. Pulse o haga clic en la pestaña Insertar y en Etiqueta.

Al añadir un control, se selecciona de forma predeterminada. También puede seleccionar un


control existente haciendo clic en él o pulsándolo. Cuando se selecciona un control, aparece un
cuadro de selección alrededor de él y otras áreas de la interfaz de usuario cambian para que pueda
configurar el control seleccionado. Por ejemplo, un control Etiqueta seleccionado se parece a este
gráfico.
IMPORTANTE
Si ya hay un control seleccionado, al seleccionar otro o un área en blanco de la pantalla, el primer elemento
dejará de estar seleccionado.

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.

Configuración de un control desde la barra de herramientas


Al configurar un control desde la barra de herramientas, puede especificar una mayor variedad de opciones
que si lo hace directamente.
1. Con el control Etiqueta seleccionado, pulse o haga clic en la pestaña Inicio de la barra de
herramientas.

2. Pulse o haga clic en Rellenar y, a continuación, pulse o haga clic en un color como aguamarina.

El control Etiqueta reflejará la selección.

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. Pulse o haga clic en la pestaña Etiqueta, en Alineación vertical y, después, en Superior.

El control Etiqueta reflejará la selección.

Configuración de un control mediante la pestaña Propiedades


Mediante la pestaña Propiedades, puede configurar un control sin necesidad de escribir una fórmula. En
este procedimiento, agregará y configurará un control Etiqueta, pero puede aplicar muchos de los mismos
principios a otros controles.
1. Agregue otro control Etiqueta como ya se describió anteriormente en este tema.
2. Con el nuevo control seleccionado, pulse o haga clic en la pestaña Propiedades del panel derecho.

3. En el cuadro Texto, escriba pestaña Propiedades.

El control Etiqueta muestra el texto escrito.

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.

5. Haga clic o pulse en la propiedad Color del panel de propiedades.

El valor de la propiedad Color está resaltado en la barra de fórmulas.

6. Para eliminar el segundo control Etiqueta, pulse o haga clic en él y presione Suprimir.

Configuración de un control en la barra de fórmulas


Mediante el uso de la barra de fórmulas, puede establecer propiedades que no se pueden definir
directamente en la pestaña Propiedades ni con la barra de herramientas. Por ejemplo, puede definir que
aparezca información sobre herramientas cuando un usuario señale el control, pero no haga clic en él ni
lo pulse. También puede especificar fórmulas complejas que aumentan la capacidad de la aplicación.
Cada cambio que ha realizado anteriormente en este tema actualiza el valor de una propiedad para el control
que ha configurado.
Al cambiar el tamaño del control, ha cambiado su propiedad Width.
Al mover el control, ha cambiado sus propiedades X e Y.
Al cambiar el texto que muestra el control, ha cambiado su propiedad Texto.
En lugar de configurar un control directamente en la pestaña Propiedades o desde la barra de
herramientas, también puede actualizar el valor de una propiedad seleccionándola en la lista de
propiedades y, a continuación, especificando un valor en la barra de fórmulas. Con este enfoque, puede
buscar una propiedad por orden alfabético y especificar otros tipos de valores.
1. Con el control Etiqueta restante seleccionado, pulse o haga clic en Texto en la lista de propiedades y
escriba "Nombre de mi empresa" (comillas incluidas) en la barra de fórmulas.
Al incluir una cadena de texto entre comillas, especifica que debe tratarse exactamente tal como la
escribió. Como alternativa, puede definir una fórmula para el valor de una propiedad.
2. Con el control Etiqueta seleccionado, pulse o haga clic en Texto en la lista de propiedades y escriba
Today() (sin comillas) en la barra de fórmulas.
El control mostrará la fecha actual.

SUGERENCIA
Hay varias formas de dar formato a las fechas y horas, además de realizar cálculos en ellas.

Configuración de dos controles para interactuar entre sÃ


En este procedimiento, agregará una casilla y, a continuación, configurará la etiqueta que ya tiene para que
aparezca solo cuando se activa la casilla.
1. Pulse o haga clic en la pestaña Insertar.

2. Pulse o haga clic en Controles y, a continuación, pulse o haga clic en Casilla.

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

5. Haga clic o pulse en el control Etiqueta para seleccionarlo.


6. En la pestaña Propiedades, haga clic o pulse en la propiedad Visible.

7. En la barra de fórmulas, elimine true y, a continuación, escriba o pegue esta fórmula:


If(MyCheckbox.Value = true, true, false)
Esta función If indica que la etiqueta debe aparecer solo cuando se activa la casilla. Al estar
desactivada la casilla, el control Etiqueta desaparece (excepto el cuadro de selección).

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:

9. Desactive el control Casilla para ocultar el control Etiqueta.


Este ejemplo es básico, pero puede configurar el comportamiento y la apariencia de la aplicación mediante
la creación de una o varias fórmulas que vayan aumentando su nivel de complejidad.

Cambio de nombre de una pantalla o un control


Al cambiar el nombre de una pantalla o un control, puede crear fórmulas que son más fáciles de leer y
recordar.
1. Pulse o haga clic en la pantalla o el control cuyo nombre desea cambiar.
2. En el panel derecho, haga clic o pulse en el nombre del control (justo encima de la pestaña
Propiedades) y, a continuación, escriba el nombre que desee.

Buscar y seleccionar una pantalla o un control


Puede buscar y seleccionar una pantalla o un control, incluso si está oculto o se solapa con otro; solo tiene
que buscarlo en el panel izquierdo. Este panel muestra una miniatura de cada pantalla de la aplicación o una
vista jerárquica de cada pantalla y de los controles que contiene.
Para cambiar entre las miniaturas y la vista jerárquica, pulse o haga clic en un icono de la
esquina superior derecha del panel.

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.

Agregar una pantalla y cambiarle el nombre


1. En la pestaña Inicio, pulse o haga clic en Nueva pantalla.

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.

3. Agregue otra pantalla y asÃ​gnele el nombre Target.

Agregar la funcionalidad de navegación


1. Con la pantalla Source seleccionada, abra la pestaña Insertar y pulse o haga clic en Iconos y en Flecha
siguiente.
2. (Opcional) Mueva la flecha hasta que aparezca en la esquina inferior derecha de la pantalla.
3. Sin dejar de seleccionar la flecha, pulse o haga clic en la pestaña Acción y en Navegar.
La propiedad AlSeleccionar de la flecha se establece automáticamente en la función Navegar.

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.

Información general sobre las conexiones de datos


La mayorÃ​a de las aplicaciones de PowerApps utilizan información externa (lo que se denomina orÃ​genes de
datos) que está guardada en servicios en la nube. Uno de los ejemplos más frecuentes son tablas que
pertenecen a archivos de Excel guardados en OneDrive para la Empresa. Las aplicaciones pueden acceder a
estos orÃ​genes de datos a través de los conectores.
Los orÃ​genes de datos más frecuentes son las tablas, que se pueden usar tanto para recuperar como para
guardar información. Puede utilizar los conectores con los orÃ​genes de datos para leer y escribir información
en libros de Microsoft Excel, listas de SharePoint, tablas SQL y muchos otros formatos, que pueden guardarse en
servicios en la nube, como OneDrive para la Empresa, DropBox, SQL Server, etc.
Los orÃ​genes de datos que no son tablas incluyen correo electrónico, calendarios, Twitter y notificaciones.
Con los controles GalerÃ​a, Formulario de presentación y Formulario de edición, resulta muy fácil crear
una aplicación que lea y escriba datos en un origen de datos. Para empezar, lea el artÃ​culo Understand data
forms (Introducción a los formularios de datos).

Agregar una conexión


1. Haga clic o pulse en Nuevo en el menú Archivo (cerca del borde izquierdo).
2. En el icono Aplicación vacÃ​a, pulse o haga clic en Diseño de teléfono.

3. En el panel central, pulse o haga clic en conectar a datos.


4. Si la lista de conexiones del panel Data (Datos) incluye la que desea, haga clic en ella o púlsela para
agregarla a la aplicación. De lo contrario, vaya al paso siguiente.

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.

Visualización o cambio de un origen de datos


Si va a actualizar una aplicación, es posible que necesite identificar o cambiar el origen de datos que aparece en
una galerÃ​a, un formulario u otro control que tenga una propiedad Item. Por ejemplo, puede trabajar en una
aplicación creada por otra persona o puede desea que se le recuerde un origen de datos que configuró hace
un tiempo.
1. Seleccione el control en el que desea identificar el origen de datos.
Por ejemplo, seleccione una galerÃ​a (no un control de la galerÃ​a) pulsando o haciendo clic en la lista
jerárquica de las pantallas y controles que está cerca del borde izquierdo.
El nombre del origen de datos aparece en la pestaña Propiedades del panel derecho.

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.

Adición de un control GalerÃa


1. Abra PowerApps y haga clic o pulse en Nueva aplicación cerca del borde izquierdo.
2. En el icono Blank app (Aplicación vacÃ​a), pulse o haga clic en Phone layout (Diseño de teléfono).
3. En el cuadro de diálogo PowerApps Studio, pulse o haga clic en Skip (Omitir).
4. Agregue una conexión a la tabla FlooringEstimates del archivo de Excel.
5. (opcional) Agregue un control GalerÃ​a a la pantalla predeterminada, para lo que debe hacer clic o pulsar la
pestaña Insertar, pulsar o hacer clic en GalerÃ​a y, después, pulsar o hacer clic en un control GalerÃ​a
que esté vacÃ​o (en blanco) o que contenga un conjunto predeterminado de controles.
Estas opciones incluyen controles GalerÃ​a que se desplazan de forma horizontal o vertical. También se
puede agregar un control GalerÃ​a que base automáticamente su tamaño en la cantidad de contenido
de cada elemento.

6. En la pestaña Inicio, pulse o haga clic en Nueva pantalla.


Puede agregar una pantalla que esté vacÃ​a, que se desplace, que contenga un control GalerÃ​a o que
contenga un formulario.
7. Pulse o haga clic en Pantalla de lista para agregar una pantalla que contenga un control GalerÃ​a y otros
controles, como una barra de búsqueda.

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.

8. Pulse o haga clic en el control GalerÃ​a de la pantalla que acaba de agregar.


9. En la pestaña Propiedades del panel derecho, pulse o haga clic en CustomGallerySample.
10. En el panel Data (Datos), pulse o haga clic en CustomGallerySample y, después, en
FlooringEstimates.

El control GalerÃ​a muestra los datos de ejemplo.


La ordenación y la búsqueda se configurarán en este mismo tema más adelante.

Agregar un control al control GalerÃa


Antes de realizar cualquier personalización, elija un diseño del control GalerÃ​a. El primer conjunto de controles
de un control GalerÃ​a es la plantilla, que determina el aspecto de todos los datos de dicho control.
1. Seleccione la plantilla, para lo que debe hacer clic o pulsar cerca de la parte inferior del control GalerÃ​a y,
después, pulsar o hacer clic en el icono del lápiz en la esquina superior izquierda.

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).

5. En dicha lista, pulse o haga clic en Price.


El control GalerÃ​a muestra los valores nuevos.

Filtro del control GalerÃa


La propiedad Elementos de una control GalerÃ​a determina los elementos que muestra. En este procedimiento,
se configura esa propiedad para que el control GalerÃ​a muestre solo los elementos para los que el nombre del
producto contenga el texto de TextSearchBox1.

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.

1. Establezca la propiedad Elementos del control GalerÃ​a en esta fórmula:


Sort(If(IsBlank(TextSearchBox1.Text), FlooringEstimates, Filter(FlooringEstimates,
TextSearchBox1.Text in Text(Name))), Name, If(SortDescending1, SortOrder.Descending,
SortOrder.Ascending))
2. Seleccione el icono de ordenación para cambiar el criterio de ordenación del control GalerÃ​a por los
nombres de los productos.
Para ordenar y filtrar un control GalerÃ​a:
Reemplace las dos instancias de DataSource de esta fórmula por el nombre del origen de datos.
Reemplace las dos instancias de ColumnName por el nombre de la columna por la que desea ordenar y
filtrar.
Sort(If(IsBlank(TextSearchBox1.Text), DataSource, Filter( DataSource, TextSearchBox1.Text in Text(
ColumnName ))), ColumnName, If(SortDescending1, SortOrder.Descending, SortOrder.Ascending))

Resalte del elemento seleccionado


En la propiedad RellenoDePlantilla del control GalerÃ​a escriba una fórmula similar a la de este ejemplo:
If(ThisItem.IsSelected, LightCyan, White)

Cambio de la elección predeterminada


En la propiedad Default del control GalerÃ​a, especifique el registro que desea que se seleccione de manera
predeterminada. Por ejemplo, especifique el quinto elemento del origen de datos FlooringEstimates:
Last(FirstN(FlooringEstimates, 5))
En este ejemplo, especifique el primer elemento de la categorÃ​a Hardwood del origen de datos
FlooringEstimates:
First(Filter(FlooringEstimates, Category = "Hardwood"))

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.

Agregar datos a una aplicación en blanco


1. Descargue este archivo de Excel, que contiene nombres, información general y vÃ​nculos a imágenes de
productos para el suelo.
2. Cargue el archivo de Excel en una cuenta de almacenamiento en la nube, como OneDrive, Dropbox o Google
Drive.
3. En PowerApps Studio, pulse o haga clic en Nuevo en el menú Archivo.
4. En el icono Blank app (Aplicación vacÃ​a), pulse o haga clic en Phone layout (Diseño de teléfono).

5. Agregue una conexión a la tabla FlooringEstimates del archivo de Excel.


Para más información, consulte Agregar una conexión.

Agregar datos a una galerÃa


1. En la pestaña Insertar, haga clic o pulse en GalerÃ​a y luego haga clic o pulse en Altura flexible.

2. Cambie el tamaño de la galerÃ​a para que ocupe toda la pantalla.


3. Establezca la propiedad Elementos de la galerÃ​a en FlooringEstimates.

Mostrar los nombres de producto


1. En la esquina superior izquierda de la galerÃ​a, haga clic o pulse en el icono de lápiz para seleccionar la
plantilla de la galerÃ​a.

2. Con la plantilla de la galerÃ​a seleccionada, agregue un control Etiqueta.


3. Establezca la propiedad Text del control Etiqueta en esta expresión:
ThisItem.Name

Mostrar las informaciones generales de producto


1. Con la plantilla de la galerÃ​a seleccionada, agregue otro control Etiqueta y muévalo debajo del primer
control Etiqueta.
2. Establezca la propiedad Texto del segundo control Etiqueta en esta expresión:
ThisItem.Overview
3. Con el segundo control Etiqueta seleccionado, haga clic o pulse en el icono de etiqueta de nombre en la
pestaña Contenido y cambie el nombre del control a OverviewText.

4. Establezca la propiedad AutoHeight del cuadro OverviewText en true.


Este paso garantiza que el cuadro aumentará o reducirá su tamaño para ajustarse al contenido.
Mostrar las imágenes de producto
1. Cambie el tamaño de la plantilla para que sea dos veces más alta de lo que era.
Puede agregar controles a la plantilla más fácilmente cuando compile la aplicación y este cambio no
afectará al aspecto de la aplicación cuando esta se ejecute.
2. Con la plantilla de la galerÃ​a seleccionada, agregue un control Imagen y muévalo debajo del cuadro
OverviewText.
3. Asegúrese de que la propiedad Imagen del control Imagen esté establecida en esta expresión:
ThisItem.Image
4. Establezca la propiedad Y del control Imagen en función de la posición y el tamaño del cuadro
OverviewText, como se muestra en esta expresión:
OverviewText.Y + OverviewText.Height + 5

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.

Agregar un formulario y mostrar datos


1. Agregue un control Lista desplegable, denomÃ​nelo ChooseProduct y establezca este valor para su
propiedad Elementos:
FlooringEstimates.Name

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.

La lista muestra nombres de productos para el suelo del origen de datos.


2. Agregue un control Formulario de edición, sitúelo bajo ChooseProduct y cambie el tamaño del
formulario para que cubra la mayor parte de la pantalla.
NOTA
En este tema se describe el control Formulario de edición, pero se aplican los mismos principios al control
Formulario de presentación.

3. Establezca la propiedad DataSource del formulario en FlooringEstimates y la propiedad Item del


formulario en esta fórmula:
First(Filter(FlooringEstimates, Name=ChooseProduct.Selected.Value))
Esta fórmula especifica que, cuando termine de configurar el formulario, aparecerá el registro que el
usuario selecciona en ChooseProduct.
4. En el panel Data (Datos), haga clic o pulse en la casilla de cada campo para mostrarlo.

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.

El control Formulario de edición reflejará el cambio.

Establecimiento del tipo de tarjeta de un campo


1. Con el formulario seleccionado, pulse o haga clic en el selector de tarjeta de Price en el panel Data (Datos).

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.

Guardar cambios (Solo para Edit form)


1. En el panel izquierdo, seleccione el formulario y, después, pulse o haga clic en los puntos suspensivos (...).

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.

4. Establezca la propiedad AlSeleccionar del botón Save en esta fórmula:


SubmitForm(EditForm)
5. Para abrir el modo de vista previa, seleccione el botón de reproducción situado cerca de la esquina
superior derecha (o presione F5).

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.

Mostrar los detalles del usuario


1. En la pestaña Insertar, haga clic o pulse en Multimedia y, a continuación, en Image.

2. Establezca la propiedad Image en esta fórmula:


User().Image

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:

5. Agregue otra etiqueta y establezca su propiedad Text en esta fórmula:


User().Email

Al hacerlo, la etiqueta se rellena automáticamente con su dirección de correo electrónico. Mueva la


etiqueta para que esté bajo la primera etiqueta, de forma similar a la siguiente:
Adición de un cuadro de lista, una lista desplegable
o botones de selección
23/03/2018 • 5 min to read • Edit Online

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.

Adición de un cuadro de lista


1. En la pestaña Insertar, seleccione Controles y, a continuación, seleccione Cuadro de lista:

2. Cambie el nombre del control Cuadro de lista por MyListBox:

3. Establezca la propiedad Elementos en la siguiente expresión:


["circle","triangle","rectangle"]

El diseñador tendrá un aspecto similar al siguiente:


4. En la pestaña Insertar, seleccione Iconos, seleccione el cÃ​rculo y sitúelo bajo el control Cuadro de lista:

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:

FORMA ESTABLECER FUNCIóN DE VISIBLE EN

cÃ​rculo If("circle" in MyListBox.SelectedItems.Value,


true)

triángulo If("triangle" in MyListBox.SelectedItems.Value,


true)

rectángulo If("rectangle" in MyListBox.SelectedItems.Value,


true)

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.

Adición de botones de selección


1. En la pestaña Inicio, seleccione Nueva pantalla.
2. En la pestaña Insertar, seleccione Controles y, a continuación, seleccione Botón de selección.

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.

Adición de una lista desplegable


1. Añada una pantalla y, a continuación, un control Lista desplegable.
2. Cambie el nombre del control a DDChoices y establezca la siguiente fórmula para la propiedad
Elementos:
["red","green","blue"]
3. Añada un cÃ​rculo, sitúelo debajo del control Lista desplegable y defina la siguiente fórmula para la
propiedad Fill del cÃ​rculo:
If(DDChoices.Selected.Value = "red", RGBA(192, 0, 0, 1), DDChoices.Selected.Value = "green", RGBA(0, 176,
80, 1), DDChoices.Selected.Value = "blue", RGBA(0, 32, 96, 1))

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.

Crear las listas en SharePoint


En este tutorial, se vinculan dos listas personalizadas de SharePoint, por ejemplo, Assets y RepairShop. La lista
Assets se usa para realizar un seguimiento de los equipos de hardware en un equipo. Puesto que el hardware se
estropea con el tiempo, usamos la lista RepairShop para realizar un seguimiento de las tiendas locales que pueden
arreglarlo.
Los campos de búsqueda usados en este ejemplo
La lista RepairShop usa el campo ContactEmail para identificar la tienda. Esta lista se define en primer lugar para
que cada fila de la lista Assets apunte a un algún elemento.
La lista Assets tiene dos campos de búsqueda:
uno denominado RepairShop, del tipo Búsqueda, que usa direcciones de correo electrónico para apuntar a
las entradas de la lista RepairShop;
uno denominado AssetType, del tipo Elección, en el que se enumeran los tipos de hardware que podrÃ​a ser
este recurso.
Lo más probable es que defina campos adicionales en función de la información de la que necesite realizar un
seguimiento.
Definir la lista RepairShop y agregar datos
Esto se hace en primer lugar, para que cuando agregue datos a la lista Assets, haya entradas de RepairShop
disponibles para su elección en el campo de búsqueda Assets.RepairShop.
1. En el sitio de SharePoint, cree una nueva lista RepairShop.

2. Agregue un campo ContactEmail del tipo Una lÃ​nea de texto.

3. Agregue los demás campos que necesite.


4. Pulse o haga clic en + Nuevo para escribir datos de ejemplo en la lista; al menos tres filas con distintos
valores de ContactEmail. Cuando resulte necesario reparar un recurso, elija uno de esos valores.

Definir la lista Assets


1. En el sitio de SharePoint, cree una nueva lista Assets.
2. Pulse o haga clic el signo más y elija Más.

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.

Crear una aplicación de la lista Assets


Puede usar esta aplicación para agregar datos a la lista Assets.
1. Abra PowerApps Studio. Si no está familiarizado con PowerApps, regÃ​strese gratuitamente con la
dirección de correo electrónico de su organización y siga las instrucciones para descargar PowerApps
Studio desde la Tienda Windows.
2. En el menú Archivo (en el borde izquierdo), pulse o haga clic en Nuevo y, luego, pulse o haga clic en
SharePoint.

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.

Agregar datos a la lista Assets


Ahora puede ejecutar la aplicación y ver el aspecto de la pantalla para ver detalles de los campos de búsqueda.

1. Presione F5 o seleccione la vista previa ( ).


2. Pulse o haga clic en el sÃ​mbolo + situado en la esquina superior derecha para agregar una entrada.
3. Escriba un TÃ​tulo para este recurso.
4. Pulse o haga clic en la flecha desplegable de AssetType. Los valores mostrados son aquellos que especificó
cuando creó este campo. Elija una de las entradas.

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:

Puede crear y usar estos gráficos en PowerApps. Empecemos.

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.

Importar los datos de ejemplo


En estos pasos importaremos los datos de ejemplo en una colección, denominada ProductRevenue.
1. En la pestaña Insertar, seleccione Controles e Importar:
2. Establezca la propiedad OnSelect del control en la función siguiente:
Collect(ProductRevenue, Import1.Data)

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.

6. Presione Esc para volver al área de trabajo predeterminada.

Agregar un gráfico circular


1. En la pestaña Insertar, seleccione Gráficos y Gráfico circular.
2. Mueva el gráfico circular bajo el botónImportar datos.
3. En el control de gráfico circular, seleccione el centro del gráfico circular:
4. Establezca la propiedad Elementos del gráfico circular en esta expresión: ProductRevenue.Revenue2014

El gráfico circular muestra los datos de los ingresos de 2014.

Agregar un gráfico de barras para mostrar los datos


Ahora vamos a usar esta colección ProductRevenue en un gráfico de barras:
1. En la pestaña Inicio, agregue una pantalla.]
2. En la pestaña Insertar, seleccione Gráficos y Gráfico de columnas.
3. Seleccione el centro del gráfico de columnas. Establezca la propiedad Items del gráfico de columnas en
ProductRevenue :

El gráfico de columnas muestra los datos de los ingresos de 2012:

4. En el gráfico de columnas, seleccione el cuadrado central:

5. En la pestaña Gráfico, seleccione Número de series y escriba 3 en la barra de fórmulas:


El gráfico de columnas muestra los datos de los ingresos de cada producto durante tres años:
Utilizar archivos multimedia en PowerApps
23/03/2018 • 10 min to read • Edit Online

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.

Agregar contenido multimedia desde un archivo o la nube


Puede elegir el tipo de contenido multimedia que desea agregar; por ejemplo, imágenes, vÃ​deo o audio.
1. En la pestaña Contenido, seleccione Multimedia.
2. En Multimedia, seleccione Imágenes, VÃ​deos o Audio y después Examinar:

3. Elija el archivo que desea agregar y seleccione Abrir.


Se abrirá la carpeta Imágenes de su equipo y podrá seleccionar una imagen o acceder a otra carpeta.
4. Cuando haya terminado de agregar archivos, presione Esc para volver al área de trabajo predeterminada.
5. En la pestaña Insertar, seleccione Multimedia y después Imagen, VÃ​deo o Audio:

6. Si agrega un control de imagen, establezca la propiedad Imagen en el archivo que agregó:


NOTA
El nombre de archivo debe especificarse sin la extensión y entre comillas simples.

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.

Agregar contenido multimedia desde Azure Media Services


1. Desde su cuenta de Azure Media Services, cargue y publique sus recursos de vÃ​deo desde AMS >
Configuración > Activos.
2. Una vez publicado el vÃ​deo, copie su dirección URL.
3. Desde PowerApps, agregue el control VÃ​deo desde Insertar > Multimedia.
4. Establezca la propiedad Multimedia en la dirección URL que copió.
Como se muestra en este gráfico, puede elegir cualquier dirección URL de streaming que admita Azure
Media Services:

Agregar imágenes a la aplicación desde la nube


En este ejemplo, tiene imágenes guardadas en una cuenta de almacenamiento en la nube de OneDrive para la
Empresa. Además, utiliza una tabla de Excel donde se almacenan las rutas de acceso de las imágenes y estas
imágenes se muestran en la aplicación mediante un control de la galerÃ​a.
En este ejemplo, vamos a utilizar CreateFirstApp.zip, que contiene algunos archivos .jpeg.
NOTA
Las rutas de acceso a estas imágenes que se utilizan en el archivo de Excel deben escribirse usando barras diagonales.
Cuando PowerApps guarda las rutas de las imágenes en una tabla de Excel, las rutas contienen barras diagonales inversas.
Si utiliza rutas de imágenes que proceden, por ejemplo, de una tabla, debe cambiar las rutas de la tabla de Excel para que
contengan barras diagonales en lugar de barras diagonales inversas. De lo contrario, no se mostrarán las imágenes.

1. Descargue CreateFirstApp.zip y extraiga la carpeta Assets en la cuenta de almacenamiento en la nube.


2. Cambie el nombre de la carpeta Assets por Assets_images.
3. En una hoja de cálculo de Excel, cree una tabla de una sola columna y rellénala con los siguientes datos:

4. Asigne el nombre Jackets a la tabla y el nombre Assets.xlsx al archivo de Excel.


5. En la aplicación, agregue la tabla Jackets como origen de datos.
6. Agregue un control Solo imagen (pestaña Insertar > GalerÃ​a) y establezca la propiedad Elementos en
Jackets :

La galerÃ​a se actualiza automáticamente con las imágenes:

Cuando defina la propiedad Elementos, automáticamente se agregará la columna PowerAppsId


(IdDePowerApps) a la tabla de Excel.
En la tabla de Excel, la ruta de acceso de una imagen también puede ser una dirección URL. Una muestra
de ello serÃ​a el archivo de ejemplo Flooring Estimates. Puede descargar este archivo en la cuenta de
almacenamiento en la nube, agregar la tabla FlooringEstimates como origen de datos de la aplicación y
establecer el control de la galerÃ​a en FlooringEstimates . La galerÃ​a se actualiza automáticamente con las
imágenes.

Cargar dibujos en la nube


En este ejemplo, aprenderá a cargar dibujos en el origen de datos, OneDrive para la Empresa, y descubrirá
cómo se guardan allÃ​ los dibujos.
1. En Excel, escriba Image [image] en la celda A1.
2. Siga estos pasos para crear una tabla:
a. Seleccione la celda A1.
b. En la cinta Insertar, seleccione Tabla.
c. En el cuadro de diálogo, seleccione La tabla tiene encabezados y Aceptar.

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:

3. Guarde el archivo de Excel en OneDrive para la Empresa como SavePen.xlsx.


4. En PowerApps, cree una aplicación en blanco.
5. En la aplicación, agregue la cuenta de OneDrive para la Empresa como origen de datos:
a. Pulse o haga clic en la pestaña Vista y, luego, en OrÃ​genes de datos.

b. Pulse o haga clic en Agregar origen de datos y en OneDrive para la Empresa.

c. Pulse o haga clic en SavePen.xlsx.


d. Seleccione la tabla Drawings y pulse o haga clic en Conectar.
Ahora, la tabla Drawings aparece como origen de datos.
6. En la pestaña Insertar, seleccione Texto y Entrada manuscrita.
7. Cambie el nombre del control a MyPen:

8. En la pestaña Insertar, agregue el control Botón y establezca la propiedad AlSeleccionar en esta


fórmula:
Patch(Drawings, Defaults(Drawings), {Image:MyPen.Image})
9. Agregue un control de la GalerÃ​a de imágenes (pestaña Insertar > GalerÃ​a) y establezca la propiedad
Elementos en Drawings . La propiedad Image (Imagen) del control de la galerÃ​a se establece
automáticamente en ThisItem.Image .
Organice los controles tal y como se muestra a continuación:
10. Presione F5 o seleccione Vista previa ( ).
11. Dibuje algo en MyPen y seleccione el botón.
En la primera imagen del control de la galerÃ​a aparecerá lo que ha dibujado.
12. Agregue algo más al dibujo y seleccione el botón.
En la segunda imagen del control de la galerÃ​a aparecerá lo que ha dibujado.
13. Cierre la ventana de vista previa con la tecla Esc.
En la cuenta de almacenamiento en la nube, se crea automáticamente la carpeta SavePen_images. Esta
carpeta contiene las imágenes guardadas junto con los identificadores de los nombres de archivo. Para ver
la carpeta, deberá actualizar la ventana del explorador (por ejemplo, pulsando F5).
En SavePen.xlsx, la ruta de las nuevas imágenes se especifica en la columna Image.
Limitaciones conocidas
Para más información sobre cómo compartir datos de Excel en su organización, repase estas limitaciones.

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.

Crear una aplicación en blanco


1. SuscrÃ​base a PowerApps y, a continuación, haga lo siguiente:
Abra PowerApps en un explorador en un dispositivo con cámara.
Instale PowerApps desde la Tienda de Windows en un dispositivo con cámara. Abra PowerApps, inicie
sesión y haga clic o pulse en Nuevo en el menú Archivo (a lo largo del borde izquierdo).
2. En Comenzar con una plantilla o un lienzo en blanco, haga clic o pulse en Diseño de teléfono en
el icono Aplicación vacÃ​a.

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).

Agregar un control Barcode


1. En la pestaña Insertar, haga clic o pulse en Multimedia y, a continuación, en Barcode.

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.

Cambiar el tipo de código de barras


1. En la pestaña Insertar, pulse o haga clic en Controles y, a continuación, en Drop down.
2. Mueva el control Drop down de forma que aparezca debajo de los otros controles en la pantalla.

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]

4. En la pestaña Inicio, cambie el nombre del control Drop down a ChooseType.

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.

PowerApps se agrega como el desencadenador predeterminado.

3. Seleccione Nuevo paso y, después, seleccione Agregar una acción.

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.

b. Si se le solicita, especifique las credenciales para conectarse a SharePoint.


c. En el cuadro Dirección del sitio web, escriba o pegue la dirección URL de un sitio de SharePoint
Online que contenga una lista.

NOTA
Especifique la dirección URL del sitio, sin incluir la lista.

d. En el cuadro Nombre de lista , seleccione la lista que desea utilizar.


e. Haga clic o pulse en el cuadro TÃ​tulo y seleccione Agregar contenido dinámico.

f. En la lista de parámetros, seleccione Preguntar en PowerApps.


5. (opcional) Especifique una o varias acciones adicionales, como el envÃ​o de correo electrónico de
aprobación a una dirección que especifique o la creación de una entrada relacionada en otro origen de
datos.
6. Cerca de la parte superior de la pantalla, escriba o pegue el nombre del flujo y, después, seleccione Crear
flujo.

Agregar un flujo a una aplicación


1. En el menú Archivo de PowerApps, seleccione Nuevo.
2. En el icono Aplicación vacÃ​a, seleccione Diseño de teléfono.
3. Agregue un control Entrada de texto y llámelo RecordTitle.
4. Agregue un control Botón y muévalo debajo de RecordTitle.
5. Con el control Botón seleccionado, seleccione Flujos en la pestaña Acción.

6. En el panel que aparece, seleccione el flujo que creó en el procedimiento anterior.

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).

2. Escriba o pegue el texto en RecordTitle y haga clic en el control Botón.


Se crea un elemento de SharePoint en la que lista especificó con el texto que especificó como tÃ​tulo. Si la
lista estaba abierta cuando se ejecutó el flujo, tendrá que actualizar la ventana del explorador para mostrar
los cambios.
Agregar una pantalla de desplazamiento en
PowerApps
22/03/2018 • 3 min to read • Edit Online

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.

Crear una pantalla de desplazamiento


1. En la pestaña Inicio, pulse o haga clic en Nueva pantalla:

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.

2. En la pestaña Insertar, pulse o haga clic en Gráficos y, a continuación, en Gráfico de columnas.


El gráfico de columnas aparece en la primera tarjeta de la pantalla:

3. En la pestaña Insertar, pulse o haga clic en Texto y en Entrada manuscrita:

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:

Se agrega una nueva tarjeta a la pantalla:

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

. (punto) . (punto) , (coma) ; (punto y coma)

, (coma) , (coma) ; (punto y coma) ;; (doble punto y coma)

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.

Creación de una aplicación global


La aplicación que cree puede adaptarse a distintos idiomas y proporcionar una experiencia de usuario óptima a
usuarios de todo el mundo.
Función Language
La función Language devuelve la etiqueta de idioma del usuario actual. Por ejemplo, esta función devuelve "en-
GB" para los usuarios de Gran Bretaña y "de-DE" para los usuarios de Alemania.
Entre otras cosas, puede usar Language para mostrar texto traducido a los usuarios. La aplicación puede incluir
una tabla de valores traducidos en la aplicación:

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.

Compatibilidad con el teclado


Cuando pruebe la accesibilidad de la aplicación, asegúrese de que esta se puede utilizar solo con el teclado, con
los modos de accesibilidad de iOS y Android, y que se puede navegar por ella correctamente con el lector de
pantalla habilitado.
Para la navegación con el teclado (con o sin el lector de pantalla), asegúrese de que se sigue un orden lógico
cuando se utiliza la tecla TAB para navegar por los campos de entrada mediante el establecimiento de la propiedad
TabIndex de cada control:
Controles Label, Image, Icon y Shape: si representan elementos interactivos (por ejemplo, botones), establezca
TabIndex en 0; si son elementos decorativos o texto, establezca TabIndex en -1.
Evite establecer el Ã​ndice de tabulación en un valor mayor que cero.

Soporte técnico para el lector de pantalla


Las siguientes combinaciones de software son las recomendaciones admitidas para consumir PowerApps con un
lector de pantalla:
Windows: Edge / Narrador
macOS: Safari / VoiceOver
Android: aplicación PowerApps / Talkback
iOS: aplicación PowerApps / VoiceOver
Para garantizar una experiencia satisfactoria con el lector de pantalla, se recomienda:
Asegurarse de que todos los controles de entrada tienen la propiedad AccessibilityLabel establecida.
Para las imágenes, establezca AccessibilityLabel en una descripción adecuada.
Si no se utiliza una imagen como un botón o un vÃ​nculo (es decir, el icono simplemente se utiliza como
decoración) y no la debe leer el lector de pantalla, asegúrese de que la propiedad AccessibilityLabel
está vacÃ​a o no está establecida.
Si una imagen o un icono se utiliza como un botón, establezca entonces TabIndex en 0 y
AccessibilityLabel en la descripción del vÃ​nculo.

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.

Trabajo con firmas


Si tiene un campo de firma que utiliza el control PenInput, debe habilitar un método alternativo de entrada de
firma. La manera recomendada es mostrar un control TextInput donde un usuario puede escribir su nombre.
Asegúrese de que las instrucciones para firmar se colocan en la propiedad AccessibilityLabel y el control se pone
cerca de la entrada de lápiz (a la derecha o inmediatamente debajo).
Relacionado: Propiedades de accesibilidad
Introducción a powerapps.com
23/03/2018 • 12 min to read • Edit Online

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.

En Common Data Service, aparecerá un botón diferente en función de su licencia o permiso.


Si aparece el botón Iniciar perÃ​odo de prueba, carece de licencia de P2 de PowerApps, que es necesaria para
Common Data Service. Haga clic o pulse en este botón para abrir la página donde puede registrarse en una
prueba gratuita de 90 dÃ​as de esta licencia. Más información sobre las licencias de PowerApps.
Si aparece el botón Introducción, se encuentra en un entorno que carece de base de datos de Common
Data Service o no tiene acceso a ella. Haga clic o pulse en este botón para crear un entorno y una base de
datos a la vez, para que pueda empezar a usar Common Data Service para las aplicaciones. Más
información acerca de cómo crear entornos.

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.

Página de nuevas aplicaciones


Puede acceder a la página Aplicaciones por medio de la barra de navegación izquierda en powerapps.com.

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.

Comprobación de los permisos


1. Inicie sesión en PowerApps y haga clic o pulse Aplicaciones en el menú Archivo (en el borde izquierdo).

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.

Edición de un aplicación en PowerApps Studio para Windows


1. Abra PowerApps Studio para Windows.
2. En la página que aparece de forma predeterminada, busque la aplicación que desea editar.
Para encontrar más fácilmente una aplicación, haga clic o pulse el icono de búsqueda cerca de la esquina
superior derecha y escriba uno o varios caracteres del nombre de la aplicación. También puede ordenar la
lista por nombre, fecha de última modificación o fecha apertura más reciente. Si aún así la aplicación que
desea todavía no aparece, confirme que se encuentra en el entorno de PowerApps adecuado, tal como se
describe en el primer procedimiento.

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

Personalice una aplicación cambiando el tamaño y la orientación de la pantalla.

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).

Cambiar el tamaño y la orientación de la pantalla


1. En Configuración de aplicación, haga clic o pulse en Tamaño y orientación de pantalla.

2. En la lista Orientación, haga clic o pulse en Vertical u Horizontal.


3. (Solo para aplicaciones de tabletas) En Relación de aspecto, haga clic o pulse en la relación que coincida
con el dispositivo de destino para esta aplicación.

4. En Bloquear relación de aspecto, especifique Activar o Desactivar.


Si bloquea la relación de aspecto, la aplicación conservará la adecuada para un teléfono. Si la aplicación se
ejecuta en otro tipo de dispositivo, no se mostrará correctamente y es posible que los resultados no sean los
deseados. Si desbloquea la relación de aspecto, la aplicación se ajustará a la del dispositivo en el que se está
ejecutando.
5. En Lock orientation (Bloquear orientación), especifique Activar o Desactivar.
Si bloquea la orientación de la aplicación, la aplicación conservará la que especifique. Si la aplicación se
ejecuta en un dispositivo cuya pantalla esté en una orientación diferente, no se mostrará correctamente y es
posible que los resultados no sean los deseados. Si desbloquea la orientación de la aplicación, se ajustará a
la del dispositivo en el que se está ejecutando.
6. Seleccione Aplicar para guardar los cambios.

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

Personalice una aplicación cambiando su nombre e icono.

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).

Cambiar el nombre de una aplicación


En App name (Nombre de aplicación), haga clic o pulse Rename this app (Cambiar el nombre de esta
aplicación) y escriba un nombre diferente.

Cambiar el icono de una aplicación


Siga uno o varios de estos pasos:
Pulse o haga clic en un color de fondo diferente en la lista de opciones.

Pulse o haga clic en un icono de la lista de iconos predeterminados.

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.

Guardar cambios en una aplicación


En PowerApps Studio, pulse o haga clic en Guardar en el menú Archivo (en el borde izquierdo) y siga cualquiera
de estos pasos:
Si no ha guardado la aplicación nunca, proporciónele un nombre y pulse o haga clic en Guardar.

Si alguna vez ha guardado la aplicación, pulse o haga clic en Guardar.


PowerApps también puede guardar la aplicación periódicamente cada 2 minutos. Si ha guardado la aplicación
una vez, PowerApps volverá a guardar una versión de ella periódicamente sin que el usuario tenga que hacer clic
o pulsar la acción Guardar. Los autores pueden habilitar o deshabilitar la opción Guardado automático de la
pestaña Cuenta del menú Archivo.

Publicar una aplicación


1. En PowerApps Studio, pulse o haga clic en Guardar en el menú Archivo (en el borde izquierdo) y,
después, en Publicar esta versió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.

Identificar la versión activa


En powerapps.com, pulse o haga clic en Aplicaciones en el menú Archivo (en el borde izquierdo), después en
el icono de detalles para una aplicación y, por último, en la pestaña Versiones.
La versión Activa está publicada para todos los usuarios con quien se comparte la aplicación. La versión más
reciente de cualquier aplicación está disponible solo para quienes tienen permisos de edición para ella.

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.

Eliminar una aplicación de la cuenta


1. Abra powerapps.com y pulse o haga clic en Aplicaciones en la barra de navegación izquierda.

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.

5. En el cuadro de diálogo que aparece, pulse o haga clic en Eliminar de la nube.

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.

Restaurar una aplicación desde su cuenta


1. Abra powerapps.com y haga clic o pulse Aplicaciones en la barra de navegación izquierda.

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.

Información general sobre las conexiones de datos


La mayorÃ​a de las aplicaciones de PowerApps utilizan información externa (lo que se denomina orÃ​genes de
datos) que está guardada en servicios en la nube. Uno de los ejemplos más frecuentes son tablas que
pertenecen a archivos de Excel guardados en OneDrive para la Empresa. Las aplicaciones pueden acceder a estos
orÃ​genes de datos a través de las conexiones.
El tipo más común de origen de datos son las tablas, que pueden usarse tanto para recuperar como para
guardar información. Puede utilizar las conexiones con los orÃ​genes de datos para leer y escribir información en
libros de Microsoft Excel, listas de SharePoint, tablas SQL y muchos otros formatos, que pueden guardarse en
servicios en la nube, como OneDrive para la Empresa, DropBox, SQL Server, etc.
También existen otros tipos de orÃ​genes de datos que no son tablas, como correos electrónicos, calendarios,
Twitter y (próximamente) notificaciones.
Con los controles GalerÃ​a, Formulario de presentación y Formulario de edición, resulta muy fácil crear
una aplicación que lea y escriba datos en un origen de datos. Para empezar, lea el artÃ​culo Understand data
forms (Introducción a los formularios de datos).
Además de crear y administrar conexiones en powerapps.com, también puede crearlas realizando estas tareas:
Generar automáticamente un aplicación de datos, como una lista de SharePoint personalizada.
Actualizar una aplicación existente o crear una desde cero como se describe en Agregar una conexión.
Abrir una aplicación que otro usuario ha creado y compartido con usted.
NOTA
Si desea usar PowerApps Studio en su lugar, abra el menú Archivo y haga clic o pulse Conexiones, y se abre
powerapps.com, donde puede crear y administrar las conexiones de allÃ​.

Creación de una nueva conexión


1. Si aún no lo ha hecho, inicie sesión en powerapps.com.
2. En la barra de navegación izquierda, pulse o haga clic en Conexiones.

3. En la esquina superior derecha, pulse o haga clic en Nueva conexión.

4. Pulse o haga clic en un conector de la lista que aparece y siga las instrucciones.

5. Pulse o haga clic en el botón Crear.


6. Siga las instrucciones. Algunos conectores le solicitarán que escriba las credenciales, que especifique un
conjunto de datos o que realice otros pasos. Esto no ocurre con otros conectores, como Microsoft
Translator.
Por ejemplo, estos conectores requieren información adicional antes de usarlos.
SharePoint
SQL Server
Aparecerá el nuevo conector en Conexiones y podrá agregarlo a una aplicación.

Actualizar o eliminar una conexión


En la lista de conexiones, pulse o haga clic en la conexión que desea actualizar o eliminar y en el botón de puntos
suspensivos (tres puntos) que encontrará a la derecha de la conexión.

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.

Especificar una conexión de SharePoint


1. Si aún no lo ha hecho, suscrÃ​base a PowerApps.
2. Inicie sesión en powerapps.com con las mismas credenciales que utilizó para suscribirse.
3. En la barra de navegación izquierda, haga clic o pulse en Administrar y, después, en Conexiones.

4. Cerca de la esquina superior derecha, haga clic o pulse en Nueva conexión.

5. En la lista de conexiones, haga clic o pulse SharePoint.

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.

Conectarse a un sitio de SharePoint Online


1. Haga clic o pulse Conectar directamente (servicios en la nube) y, después, haga clic o pulse en
Agregar conexión.
2. Vaya a Pasos siguientes al final de este tema.

Conectarse a un sitio de SharePoint local


1. Haga clic o pulse en Conectar mediante una puerta de enlace de datos local.

NOTA
Las puertas de enlace y las conexiones locales solo se pueden crear y usar en el entorno predeterminado del usuario.

2. Especifique el nombre de usuario y la contraseña.


Si las credenciales incluyen un nombre de dominio, especifÃ​quelo como Dominio\Alias.

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.

OrÃgenes de datos delegables


En la lista de delegación se encuentran todos los orÃ​genes de datos que admiten la delegación orÃ​genes y en
hasta qué punto lo hacen.
A continuación agregaremos compatibilidad con la delegación a los orÃ​genes de datos existentes y
agregaremos más orÃ​genes de datos.
Los libros de Excel importados (que usan el origen de datos "Agregar datos estáticos a la aplicación"), las
colecciones y las tablas almacenadas en variables de contexto no requieren delegación. Todos estos datos ya
están en la memoria y se puede aplicar el lenguaje de PowerApps completo.

Funciones que se pueden delegar


El siguiente paso es usar solo aquellas fórmulas que se puedan delegar. AquÃ​ se incluyen los elementos de las
fórmulas que se pueden delegar. Sin embargo, todos los orÃ​genes de datos son diferentes, y no todos ellos
admiten todos estos elementos. Consulte las sugerencias de los puntos azules de su fórmula concreta.
Estas listas cambiarán con el tiempo, ya que en el futuro habrá más funciones y operadores que admitan la
delegación.
Funciones de filtro
Filtrar, Buscar y Búsqueda se pueden delegar.
En las funciones Filtrar y Buscar, se puede usar lo siguiente en las columnas de la tabla para seleccionar los
registros apropiados:
And (incluyendo &&), Or (incluyendo ||), Not (incluyendo ! )
In (En)
=, <>, >=, <=, >, <
+, -
TrimEnds (RecortarExtr)
EsBlanco
StartsWith (EmpiezaPor)
Valores constantes que son iguales en todos los registros, como las propiedades del control y las variables
globales y de contexto.
También se pueden utilizar las partes de la fórmula que se evalúan como un valor constante para todos los
registros. Por ejemplo, Izquierda (Lenguaje(), 2) no depende de ninguna columna del registro y, por tanto,
devuelve el mismo valor para todos los registros. Efectivamente es una constante. El uso de variables de contexto,
colecciones y señales puede no ser constante y, por tanto, impedirá la delegación de Filtrar y Buscar.
Algunos elementos importantes que faltan en la lista anterior:
If (Si)
*, /, Mod
Concatenar (incluyendo &)
ExactIn (ExactoEn)
Funciones de manipulación de cadenas: Minusc, Mayusc, Izquierda, Extrae, Largo, ...
Señales: Ubicación, Aceleración, Brújula, ...
Volátiles: Ahora, Hoy, Casual, ...
Colecciones
Funciones de ordenación
Ordenar y SortByColumns (OrdenarPorColumnas) se pueden delegar.
En Ordenar, la fórmula solo puede ser el nombre de una columna individual y no puede incluir otros operadores
o funciones.
Funciones de agregado
Suma, Promedio, Min y Max pueden delegarse. En este momento, solo un número limitado de orÃ​genes de
datos admite esta delegación. Para más información, consulte la lista de delegación.
Las funciones de recuento como CountRows (ContarFilas), ContarA y Contar no se pueden delegar.
Otras funciones de agregado, como StdevP y VarP, no se pueden 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.

Cambio del lÃmite


El número predeterminado de registros es de 500. Para cambiar este número, vaya a la pestaña Archivo,
seleccione Configuración de la aplicación en el panel de navegación, situado a la izquierda, y busque en
CaracterÃ​sticas experimentales. AhÃ​ encontrará la opción "LÃ​mite de filas de datos para las consultas no
delegables", que puede cambiar de 1 a 2000. Esta configuración se aplica a toda la aplicación.
En algunos casos sabrá que 2000 (o 1000 o 1500) será suficiente para satisfacer las necesidades de su
escenario. Puede aumentar esta cifra con precaución para que se ajuste a su escenario. Tenga en cuenta que, a
medida que aumenta esta cifra, el rendimiento de la aplicación puede verse afectado, sobre todo en las tablas
anchas que contienen muchas columnas. La mejor respuesta sigue siendo delegar siempre lo que se pueda.
Para asegurarse de que la aplicación se pueda adaptar a grandes conjuntos de datos, reduzca esta opción a 1.
Todo lo que no se pueda delegar ahora devolverá un único registro, que deberÃ​a ser fácil de detectar al probar
la aplicación. De esta manera se pueden evitar sorpresas al intentar llevar a cabo una prueba de concepto de la
aplicación para producción.

Sugerencias de puntos azules


Para que sea más fácil saber lo que se va a delegar y lo que no, se proporciona sugerencias de puntos azules
cuando una fórmula algo que no se puede delegar.
Los puntos azules solo se muestran en las fórmulas que operan en orÃ​genes de datos delegables. Si no ve un
punto azul y cree que la fórmula no se delega correctamente, compruebe el tipo de origen de datos en la lista
anterior de orÃ​genes de datos que se pueden delegar.

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.

Lista de orígenes de datos y delegación admitida


Esta lista de orígenes de datos, y funciones y predicados delegables se actualizará periódicamente para reflejar el
estado actual de la compatibilidad con la delegación en PowerApps.
Funciones delegables de nivel superior
COMMON DATA
SERVICE SHAREPOINT SQL SERVER DYNAMICS 365 SALESFORCE

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

1Solo para campos de cadena

Predicados delegables de Filtrar y Buscar


COMMON DATA
SERVICE SHAREPOINT SQL SERVER DYNAMICS 365 SALESFORCE

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

<, <=, =, <>, >, Sí Sí (solo =) Sí Sí Sí


>=

Y (&&), O (||), No Sí2 Sí (excepto No (!)) Sí Sí Sí


(!)

in No No Sí No Sí

StartsWith No Sí No No No

2Solo para operadores. Función Y/O/No no delegada.


Administración de una puerta de enlace de datos
local en PowerApps
23/03/2018 • 6 min to read • Edit Online

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.

Instalar una puerta de enlace


1. En la barra de navegación izquierda de powerapps.com, pulse o haga clic en Puertas de enlace.

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.

Ver y administrar los permisos de la puerta de enlace


1. En la barra de navegación izquierda de powerapps.com, pulse o haga clic en Puertas de enlace y, luego,
pulse o haga clic en una puerta de enlace.
2. Agregue un usuario a una puerta de enlace haciendo clic o pulsando en Usuarios, especificando un usuario
o grupo y, finalmente, especificando un nivel de permiso:
Puede usar: usuarios que pueden crear conexiones en la puerta de enlace para las aplicaciones y los
flujos, pero no pueden compartir la puerta de enlace. Use este permiso para los usuarios que ejecutan
aplicaciones pero no las comparten.
Puede usar + compartir: usuarios que pueden crear una conexión en la puerta de enlace para las
aplicaciones y los flujos, y compartir automáticamente la puerta de enlace cuando se comparte una
aplicación. Use este permiso con usuarios que tienen que compartir aplicaciones con otros usuarios o
con la organización.
Administración: administradores que tienen control total sobre la puerta de enlace, lo que incluye
agregar usuarios, establecer permisos, crear conexiones a todos los orÃ​genes de datos disponibles y
eliminar la puerta de enlace.
Para los niveles de permiso Puede usar y Puede usar y compartir, seleccione los orÃ​genes de datos a los que
puede conectarse el usuario mediante la puerta de enlace.

Ver y administrar las conexiones de puerta de enlace


1. En la barra de navegación izquierda de powerapps.com, pulse o haga clic en Puertas de enlace y, luego,
pulse o haga clic en una puerta de enlace.
2. Pulse o haga clic en Conexiones y luego pulse o haga clic en una conexión para ver sus detalles, editar la
configuración o eliminarla.
3. Para compartir una conexión, haga clic o pulse en Compartir y, a continuación, agregue o quite usuarios.

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.

Solución de problemas y configuración avanzada


Para más información sobre la solución de problemas con las puertas de enlace o la configuración del servicio
de puerta de enlace de la red, consulte Información sobre las puertas de enlace de datos locales.

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.

NOMBRES DE DOMINIO PUERTOS DE SALIDA DESCRIPCIÓN

*.analysis.windows.net 443 HTTPS

*.login.windows.net 443 HTTPS

*.servicebus.windows.net 5671-5672 Advanced Message Queuing Protocol


(AMQP)

*.servicebus.windows.net 443, 9350-9354 Agentes de escucha de Service Bus


Relay a través de TCP (requiere el
puerto 443 para la adquisición de
tokens de Access Control)

*. frontend.clouddatahub.net 443 HTTPS

*.core.windows.net 443 HTTPS

login.microsoftonline.com 443 HTTPS

*.msftncsi.com 443 Se usa para probar la conectividad a


Internet si la puerta de enlace no está
accesible para el servicio Power BI.

Cuenta de inicio de sesión


Los usuarios iniciarán sesión con una cuenta de trabajo o académica. Esta es la cuenta de su organización. Si se
registró para una oferta de Office 365 y no ha proporcionado su correo electrónico de trabajo real, podría
aparecer como nancy@contoso.onmicrosoft.com. La cuenta, en un servicio en la nube, se almacena en un
inquilino de Azure Active Directory (AAD). En la mayoría de los casos, el UPN de la cuenta AAD coincidirá con la
dirección de correo electrónico.
Cuenta de servicio de Windows
La puerta de enlace de datos local está configurada para usar NT SERVICE\PBIEgwService como credenciales de
inicio de sesión del servicio de Windows. De forma predeterminada, tiene derecho a iniciar como un servicio. Esto
es así en el contexto de la máquina en la que va a instalar la puerta de enlace.
Esta no es la cuenta utilizada para conectarse a orígenes de datos locales ni la cuenta profesional o académica con
la que inicia sesión en los servicios en la nube.
Si tiene problemas de autenticación con el servidor proxy, puede cambiar la cuenta de servicio de Windows por
una cuenta de usuario de dominio o una cuenta de servicio administrado, tal y como se describe en la
configuración del servidor proxy.

Preguntas más frecuentes


General
Pregunta: ¿Qué orígenes de datos admite la puerta de enlace?
Respuesta: En el momento de redactar este documento:
SQL Server
SharePoint
Oracle
Informix
Filesystem
DB2
Pregunta: ¿Necesito una puerta de enlace para orígenes de datos en la nube, como SQL Azure?
Respuesta: No. Una puerta de enlace solo se conecta a orígenes de datos locales.
Pregunta: ¿Cómo se llama en realidad el servicio de Windows?
Respuesta: En servicios, la puerta de enlace se llama Servicio Power BI Enterprise Gateway.
Pregunta: ¿Hay conexiones de entrada hacia la puerta de enlace desde la nube?
Respuesta: No. La puerta de enlace utiliza conexiones de salida hacia Azure Service Bus.
Pregunta: ¿Qué ocurre si bloqueo las conexiones de salida? ¿Qué tengo que abrir?
Respuesta: Consulte más arriba la lista de puertos y hosts que utiliza la puerta de enlace.
Pregunta: ¿La puerta de enlace debe estar instalada en el mismo equipo que el origen de datos?
Respuesta: No. La puerta de enlace se conectará con el origen de datos con la información de conexión que se
proporcionó. En este sentido, piense en la puerta de enlace como en una aplicación de cliente. Solo tendrá que
poder conectar con el nombre del servidor que se proporcionó.
Pregunta: ¿Qué es la latencia para ejecutar consultas a un origen de datos desde la puerta de enlace? ¿Cuál es la
mejor arquitectura?
Respuesta: Para reducir la latencia de red, instale la puerta de enlace lo más cerca del origen de datos como sea
posible. Si puede instalar la puerta de enlace en el mismo origen de datos, minimizará la latencia. Tenga en cuenta
también los centros de datos. Por ejemplo, si el servicio usa el centro de datos del oeste de Estados Unidos y tiene
SQL Server hospedado en una máquina virtual de Azure, querrá tener la máquina virtual de Azure también en el
oeste de Estados Unidos. Esto minimizará la latencia y evitará cargos en la máquina virtual de Azure.
Pregunta: ¿Hay algún requisito de ancho de banda de red?
Respuesta: Se recomienda tener una conexión de red con buena capacidad. Cada entorno es diferente, y la
cantidad de datos que se envíen afectará a los resultados. El uso de ExpressRoute puede ayudar a garantizar un
nivel de rendimiento entre las instalaciones locales y los centros de datos de Azure.
Puede usar la herramienta de terceros Azure Speed Test para evaluar cuál es su rendimiento.
Pregunta: ¿El servicio de Windows de la puerta de enlace puede ejecutarse con una cuenta de Azure Active
Directory?
Respuesta: No. El servicio de Windows debe tener una cuenta de Windows válida. De forma predeterminada, se
ejecutará con el SID de servicio, NT SERVICE\PBIEgwService.
Pregunta: ¿Cómo se envían resultados a la nube?
Respuesta: Esto se consigue mediante Azure Service Bus. Para más información, consulte cómo funciona.
Pregunta: ¿Dónde se almacenan las credenciales?
Respuesta: Las credenciales que especifique para un origen de datos se almacenan cifradas en el servicio de
puerta de enlace en la nube. Las credenciales se descifran en la puerta de enlace local.
Pregunta: ¿puedo colocar la puerta de enlace en una red perimetral (también conocida como DMZ, zona
desmilitarizada y subred filtrada)?
Respuesta: La puerta de enlace requiere conectividad con el origen de datos. Si el origen de datos no se
encuentra en la red perimetral, es posible que la puerta de enlace no pueda conectarse a él. Por ejemplo, el equipo
que ejecuta SQL Server no puede estar en la red perimetral y no puede conectarse a ese equipo desde la red
perimetral. Si ha colocado la puerta de enlace en la red perimetral, la puerta de enlace no podrá comunicarse con
el equipo que ejecuta SQL Server.
Recuperación ante desastres y alta disponibilidad
Pregunta: ¿Existen planes para habilitar escenarios de alta disponibilidad con la puerta de enlace?
Respuesta: Está en la hoja de ruta, pero aún no tenemos una previsión de tiempo.
Pregunta: ¿Qué opciones hay disponibles para la recuperación ante desastres?
Respuesta: Puede usar la clave de recuperación para restaurar o mover una puerta de enlace. Cuando se instala
la puerta de enlace, especifique la clave de recuperación.
Pregunta: ¿Cuál es la ventaja de la clave de recuperación?
Respuesta: Proporciona un mecanismo para migrar o recuperar la configuración de puerta de enlace después de
un desastre.
Solución de problemas
Pregunta: ¿Donde están los registros de puerta de enlace?
Respuesta: Consulte Herramientas más adelante en este tema.
Pregunta: ¿Cómo se puede ver qué consultas se envían al origen de datos local?
Respuesta: Puede habilitar el seguimiento de consultas, que incluirá las consultas que se envían. No olvide
cambiar el valor original cuando haya finalizado la solución de problemas. Deja habilitado el seguimiento de
consultas hará que los registros sean mayores.
También puede mirar las herramientas que el origen de datos tiene para realizar el seguimiento de las consultas.
Por ejemplo, puede usar Extended Events o SQL Profiler para SQL Server y Analysis Services.

Cómo funciona la puerta de enlace


Cuando un usuario interactúa con un elemento que está conectado a un origen de datos local:
1. El servicio en la nube crea una consulta, junto con las credenciales cifradas del origen de datos, y envía la
consulta a la cola de la puerta de enlace para su procesamiento.
2. El servicio de puerta de enlace en la nube analiza la consulta y envía la solicitud a Azure Service Bus.
3. La puerta de enlace de datos local sondea Azure Service Bus para ver si hay solicitudes pendientes.
4. La puerta de enlace obtiene la consulta, descifra las credenciales y se conecta a los orígenes de datos con
esas credenciales.
5. La puerta de enlace envía la consulta al origen de datos para su ejecución.
6. Los resultados se envían desde el origen de datos a la puerta de enlace y, a continuación, al servicio en la
nube. A continuación, el servicio utiliza los resultados.

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:

*Unable to create or retrieve a mashup for the current database*

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 los usuarios den su consentimiento


para que las aplicaciones accedan a los datos de la empresa
Puede ponerse en contacto con el administrador de inquilinos de AAD para que este realice los pasos siguientes, lo
que permite que los usuarios den su consentimiento para que todas las aplicaciones accedan a los datos de la
compañía:
1. Visite https://portal.azure.com
2. Abra la hoja Azure Active Directory.
3. Seleccione Configuración de usuario.
4. Seleccione Sí en Los usuarios pueden permitir que las aplicaciones accedan a los datos de la compañía
en su nombre y, después, seleccione Guardar.
5. Una vez que haya completado ese proceso, se resolverá el problema.
Es posible que este enfoque sea el más sencillo, pero permite para permisos menos restrictivos que la opción
siguiente.

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.

SUSCRIPCIóN O HERRAMIENTA VÃ​NCULO

Suscripción a Office 365 Business Premium Suscripción de prueba

Suscripción a Power BI Pro Suscripción de prueba (haga clic en PROBAR GRATIS)

Power BI Desktop Descarga gratuita (haga clic en DESCARGAR GRATIS)

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.

Paso 1: Información de las listas


La primera lista es Project Requests, en la que un solicitante del proyecto agrega una solicitud. A continuación, el
aprobador de proyecto examina la solicitud y la aprueba o rechaza.

COLUMNA DE LISTA TIPO DE DATOS NOTAS

TÃ​tulo Una lÃ​nea de texto Columna predeterminada, se utiliza para


el nombre del proyecto

Descripción Una lÃ​nea de texto

ProjectType Una lÃ​nea de texto Valores: hardware nuevo, hardware


actualizado, software nuevo, software
actualizado

RequestDate Fecha

Requestor Una lÃ​nea de texto

EstimatedDays Número Permite la comparación de la


estimación del solicitante con la
estimación del jefe de proyecto con la
fecha real

Approved Una lÃ​nea de texto Valores: pendiente, sÃ​ o no


NOTA
También utilizamos la columna ID, que genera SharePoint y que está oculta de forma predeterminada. Utilizamos tipos de
datos básicos para simplificar, pero una aplicación real podrÃ​a utilizar tipos más complejos, como Persona o grupo en la
columna Requestor. Para obtener información sobre los tipos de datos que admite PowerApps, consulte Conexión de
Microsoft PowerApps a SharePoint.

La segunda lista es Project Details, que realiza un seguimiento de los detalles de todos los proyectos aprobados,
como el jefe de proyecto asignado.

COLUMNA DE LISTA TIPO DE DATOS NOTAS

TÃ​tulo Una lÃ​nea de texto Columna predeterminada, se utiliza para


el nombre del proyecto

RequestID Número Coincide con el valor de la lista Project


Requests de la columna ID

ApprovedDate Fecha

Estado Una lÃ​nea de texto Valores: no iniciado, en curso,


completado

ProjectedStartDate Fecha El momento en que el jefe de proyecto


estima que se va a iniciar el proyecto

ProjectedEndDate Fecha El momento en que el jefe de proyecto


estima que se va a finalizar el proyecto

ProjectedDays Número DÃ​as hábiles; normalmente se


calcularÃ​an, pero no en este escenario

ActualDays Número Para los proyectos completados

PMAssigned Una lÃ​nea de texto Jefe de proyecto

Paso 2: Creación y revisión de las listas


Para continuar con el escenario, debe crear las dos listas de SharePoint y rellenarlas con datos de ejemplo. Le
mostraremos cómo hacerlo mediante la creación de la lista y el pegado en ella de datos de ejemplo. Asegúrese
de que dispone de los archivos de Excel del paquete de descarga.

NOTA
Use Internet Explorer para este paso.

Creación de las listas


1. En Internet Explorer, en el sitio de SharePoint, haga clic o pulse en New (Nuevo) y , luego, en List (Lista).
2. Escriba el nombre "Project Requests" y haga clic o pulse Create (Crear).

Se crea la lista Project Requests con el campo predeterminado Title.

Adición de columnas a la lista


1. Haga clic o pulse en el y , después, en Single line of text (Una lÃ​nea de texto).

2. Escriba el nombre "Description" y haga clic o pulse en Save (Guardar).


3. Repita los pasos 1. y 2. para las demás columnas de la lista:
a. Single line of text (Una lÃ​nea de texto) > "ProjectType"
b. Date (Fecha) > "RequestDate"
c. Single line of text (Una lÃ​nea de texto) > "Requestor"
d. Number (Número) > "EstimatedDays"
e. Single line of text (Una lÃ​nea de texto) > "Approved"
Copia de datos en la lista
1. Haga clic o pulse en Quick edit (Edición rápida).

2. Seleccione las celdas de la cuadrÃ​cula.

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.

Paso 3: Actualización de conexiones a ejemplos (opcional)


Como se mencionó en la introducción a esta serie de tutoriales, en el paquete de descarga se han incluido dos
aplicaciones de ejemplo y un informe. Este escenario se puede completar sin usar estos ejemplos, pero si desea
usarlos, es preciso que actualice las conexiones a las listas de SharePoint. ActualÃ​celas para que usen sus listas
como origen de datos, en lugar de las nuestras.
Actualizar las conexiones de las aplicaciones de ejemplo
1. En PowerApps Studio, haga clic en Abrir (o púlselo) en el panel izquierdo.
2. Haga clic o pulse Examinar y abra el archivo project-management-app.msapp que descargó.
3. Haga clic o pulse Permitir para que PowerApps pueda usar SharePoint.
4. En la cinta de opciones, en la pestaña Vista, pulse o haga clic en OrÃ​genes de datos.

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.

6. Pulse o haga clic en Agregar origen de datos.

7. Le mostraremos dos formas de conectarse a la lista, en función de si PowerApps ya ha establecido


automáticamente una conexión de SharePoint, o no:
Si ve una conexión de SharePoint, haga clic o pulse en ella.

Si ve ninguna conexión de SharePoint, haga clic o pulse en Nueva conexión.

A continuación, haga clic o pulse SharePoint y, después, Crear.


8. Escriba la dirección URL del sitio de SharePoint Online que contiene las listas que creó y pulse o haga clic
en Ir.

9. Seleccione la lista Project Details y pulse o haga clic en Conectar.

El panel Datos muestra la conexión que creó.

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.

3. Pulse o haga clic en Cambiar origen.

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.

Paso 1: Generación de una aplicación a partir de una lista de


SharePoint
1. En la lista Project Requests que ha creado, pulse o haga clic en PowerApps y, después en, Crear una
aplicación.

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.

Paso 2: Examen de la aplicación en PowerApps Studio


1. En PowerApps Studio, la barra de navegación izquierda muestra de forma predeterminada una vista
jerárquica de las pantallas y los controles de la aplicación.
2. Haga clic o pulse en el icono de la miniatura para cambiar de vista.

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.

3. En el panel derecho, en Propiedades, haga clic o pulse Project Requests.


4. Actualice los campos para que coincidan con los de la siguiente lista:
RequestDate
Requestor
Title

5. Con BrowseGallery1 aún seleccionado, seleccione la propiedad Elementos.

6. Cambie la fórmula a SortByColumns(Filter('Project Requests', StartsWith(Title,


TextSearchBox1.Text)), "Title", If(SortDescending1, Descending, Ascending)).

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.

Paso 4: Revisión de la pantalla de detalles y la pantalla de edición de


la aplicación
1. Haga clic o pulse en la pantalla de detalles.
Esta pantalla tiene un diseño diferente que contiene un formulario de presentación que muestra los
detalles de un elemento seleccionado en la galerÃ​a. Tiene controles para editar y eliminar elementos, y para
volver a la pantalla de exploración.
2. Haga clic o pulse en la pantalla de edición.
Esta pantalla contiene un formulario de edición para editar el elemento seleccionado o para crear uno
nuevo (si se accede a él directamente desde la pantalla de exploración). Tiene controles para guardar o
descartar los cambios.

Paso 5: Ejecución de la aplicación desde la lista


1. En la lista Project Requests, pulse o haga clic en Todos los elementos y en Project Requests app.

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.

4. Haga clic o pulse para editar el elemento.


5. Actualice el campo Description: cambie la última palabra de "group" a "team" y, luego, pulse o haga clic en
el

6. Cierre la pestaña del explorador.


7. Vuelva a la lista Project Requests, pulse o haga clic en Project Requests app y en Todos los elementos.

8. Compruebe el cambio que realizó en la aplicació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.

Análisis en profundidad de una fórmula


Esta sección es opcional, pero le ayudará a conocer mejor cómo funcionan las fórmulas. En el paso 3 de esta
tarea, se modificó la fórmula de la propiedad Elementos de BrowseGallery1. En concreto, se cambió la forma
en que se realizaban las acciones de ordenación y búsqueda para utilizar el campo Title, en lugar del campo que
PowerApps seleccionaba. Esta es la fórmula modificada:
SortByColumns ( Filter ( 'Project Requests', StartsWith ( Title, TextSearchBox1.Text ) ), "Title", If (
SortDescending1, Descending, Ascending ) )
Pero, ¿qué hace esta fórmula? Determina el origen de datos que aparece en la galerÃ​a, filtra los datos en
función del texto que se escriba en el cuadro de búsqueda y ordena los resultados en función del botón de
ordenación de la aplicación. La fórmula usa funciones para realizar todas estas acciones. Las funciones toman
parámetros (es decir, entrada), realizan una operación (por ejemplo, filtrado) y un devuelven un valor (es decir,
salida):
La función SortByColumns ordena una tabla según una o varias columnas.
La función Filter busca los registros en una tabla que satisface una fórmula que se especifica.
La función StartsWith comprueba si una cadena de texto comienza por otra.
La funciónIf devuelve un valor si una condición es true y otro valor si es false.
Cuando se juntan las funciones en la fórmula, ocurre lo siguiente:
1. Si escribe texto en el cuadro de búsqueda, la función StartsWith compara dicho texto con el principio de
cada cadena de la columna Title de la lista.
StartsWith (Title, TextSearchBox1.Text)
Por ejemplo, si escribe "de" en el cuadro de búsqueda, verá cuatro resultados, incluidos los elementos que
comienza por "Desktop" y "Device". No verá todos los elementos de "Mobile devices" porque no empiezan
por "de".
2. La función Filter devuelve filas de la tabla Project Requests. Si no hay texto en el cuadro de búsqueda
con el que comparar, Filter devuelve todas las filas.
Filter ('Project Requests', StartsWith (Title, TextSearchBox1.Text)
3. La función If examina si la variable SortDescending1 está establecida en true o false (la establece el
botón de ordenación de la aplicación). A continuación, la función devuelve uno de estos dos valores:
Descending o Ascending.
If (SortDescending1, Descending, Ascending)
4. Ahora la función SortByColumns puede ordenar la galerÃ​a. En este caso, la ordena por el campo Title,
pero puede ser un campo que no se en el que se busca.
Si ha seguido la explicación, esperamos que conozca mejor cómo funciona esta fórmula y cómo puede
combinar funciones y otros elementos para lograr el comportamiento que las aplicaciones requieren. Para más
información, consulte Referencia sobre fórmulas para PowerApps.

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.

Paso 1: Configuración de la plantilla de flujo


1. En la lista Project Requests, pulse o haga clic en Flujo y, luego, en Crear un flujo.

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.

4. En el cuadro Asignado a, escriba un nombre que sea válido en el inquilino.

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.

Paso 2: Crear acciones en caso de Approve = yes


De forma predeterminada, esta rama envía un correo electrónico de aprobación al solicitante. También se
actualizará la lista Project Requests lista y se agregará un elemento a la lista Project Details porque el proyecto
se ha aprobado.
1. En la rama En caso positivo, pulse o haga clic en Inform item creator of approval (Informar al creador
del elemento de la aprobación) y, después, en Edit (Editar) para ver las opciones predeterminadas del
mensaje de correo electrónico enviado al solicitante.

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.

3. Pulse o haga clic en Agregar una acción.

4. En Elegir una acción, busque "SharePoint", a continuación, haga clic o pulse en SharePoint: actualizar
elemento.

5. Escriba el nombre de lista y la dirección URL del sitio de SharePoint.


6. Seleccione el cuadro Identificador y pulse o haga clic en Identificador en el cuadro de diálogo Contenido
dinámico.

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.

11. Escriba el nombre de lista y la dirección URL del sitio de SharePoint.

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.

Paso 3: Revisar las acciones en caso de Approve = no


De forma predeterminada, esta rama envía un correo electrónico de rechazo al solicitante. También se actualizará
la lista Project Requests. El proyecto no va a avanzar, así que no se agrega ningún elemento a la lista Project
Details.
1. En la rama En caso negativo, pulse o haga clic en Inform item creator of rejection (Informar al creador
del elemento del rechazo) y, después, en Edit (Editar) para ver las opciones predeterminadas del mensaje de
correo electrónico enviado al solicitante.

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.

3. Pulse o haga clic en Agregar una acción.

4. En Elegir una acción, busque "SharePoint", a continuación, haga clic o pulse en SharePoint: actualizar
elemento.

5. Escriba el nombre de lista y la dirección URL del sitio de SharePoint.

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.

9. En la parte superior derecha de la pantalla, pulse o haga clic en Crear flujo.


El flujo está completo y debería ser similar a la siguiente imagen si se contraen los cuadros.
10. En la parte superior derecha de la pantalla, pulse o haga clic en Listo.

Paso 4: Ejecución del flujo de aprobación


1. En la lista Solicitudes de proyecto, haga clic en editar rápido y agregar un elemento como el siguiente:
Title = "New monitor for Megan"
Description = "Megan needs a 24" monitor"
ProjectType = "New hardware"
RequestDate = "02/03/2017"
Requestor = "Megan Bowen"
EstimatedDays = "1"
Approved = "Pending"

2. Haga clic en Listo en la parte superior de la página cuando haya terminado.

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.

Repaso rápido de PowerApps Studio


Usó PowerApps Studio para web en la última tarea, pero aquÃ​ el objetivo es confirmar que comprende todas las
partes antes de seguir adelante. Puede seguir trabajando en PowerApps Studio para web o puede usar PowerApps
Studio para Windows.
PowerApps Studio tiene tres paneles y una cinta de opciones que hacen que crear aplicaciones sea similar a crear
un conjunto de diapositivas en PowerPoint:
1. Barra de navegación izquierda, que muestra una vista jerárquica de todas las pantallas y los controles de la
aplicación, asÃ​ como miniaturas de las pantallas.
2. Panel central, que contiene la pantalla de la aplicación con la que está trabajando.
3. Panel derecho, donde se establecen opciones como los orÃ​genes de datos y el diseño.
4. Lista desplegable Propiedad, donde se seleccionan las propiedades a las que se aplican las fórmulas.
5. Barra de fórmulas, donde se agregan las fórmulas (como en Excel) que definen el comportamiento de la
aplicación.
6. Cinta de opciones, donde puede agregar controles y personalizar los elementos de diseño.
Paso 1: Creación de pantallas
Una vez terminado el repaso, empiece a crear una aplicación.
Crear y guardar la aplicación
1. En PowerApps Studio, pulse o haga clic en Nuevo, en Aplicación vacÃ​a y en Diseño de teléfono.

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.

4. Haga clic o pulse para volver a la aplicación.


Agregar cuatro pantallas a la aplicación
En este paso, se van a crear cuatro pantallas en blanco para la aplicación. Se usarán diseños de pantalla
diferentes, según el propósito de la pantalla. Se agregarán más pantallas en pasos posteriores.

PANTALLA PROPóSITO

SelectTask Pantalla de apertura; navegar a otras pantallas.

AssignManager Asignar un administrador a un proyecto aprobado.

ViewProjects Ver una lista de proyectos, con información de resumen.

UpdateDetails Ver y actualizar los detalles de un proyecto.

1. En la pestaña Inicio, pulse o haga clic en Nueva pantalla y en Pantalla desplazable.

2. Cambie el nombre de la pantalla a SelectTask.

3. Cree y cambie el nombre de pantallas adicionales:


a. Pulse o haga clic en Nueva pantalla y en Pantalla desplazable. Cambie el nombre de la pantalla a
AssignManager.
b. Pulse o haga clic en Nueva pantalla y en Pantalla de lista. Cambie el nombre de la pantalla a
ViewProjects.
c. Pulse o haga clic en Nueva pantalla y en Pantalla de formulario. Cambie el nombre de la pantalla a
UpdateDetails.
4. Seleccione los puntos suspensivos (…) junto a Screen1 y pulse o haga clic en Eliminar.

Ahora la aplicación deberÃ​a parecerse a la siguiente imagen.


Paso 2: Conexión a una lista de SharePoint
En este paso, se conectará a la lista de SharePoint Detalles del producto. Solo se usa una lista en esta
aplicación, pero puede conectarse fácilmente a ambas si desea ampliarla.
1. En la barra de navegación izquierda, pulse o haga clic en la pantalla SelectTask.
2. En el panel derecho, pulse o haga clic en Agregar origen de datos.

3. Pulse o haga clic en Nueva conexión.

4. Pulse o haga clic en SharePoint.

5. Seleccione Conectar directamente (servicios en la nube) y pulse o haga clic en Crear.


6. Escriba una dirección URL de SharePoint y pulse o haga clic en Ir.

7. Seleccione la lista Project Details y pulse o haga clic en Conectar.

La pestaña OrÃ​genes de datos en el panel derecho muestra ahora la conexión que ha creado.

Paso 3: Preparación de la pantalla SelectTask


En este paso, se proporciona una forma de navegar hasta las restantes pantallas de la aplicación mediante el uso
de algunos de los controles, las fórmulas y las opciones de formato que proporciona PowerApps.
Actualizar el tÃtulo e insertar el texto de introducción
1. En la barra de navegación izquierda, seleccione la pantalla SelectTask.
2. En el panel central, seleccione el valor predeterminado [TÃ​tulo] y, en la barra de fórmulas, actualice la
propiedad Texto a "Contoso Project Management".

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…"

Agregar dos botones de navegación


1. En la pestaña Insertar, pulse o haga clic en Botón y arrastre el botón debajo de la etiqueta.

2. En la barra de fórmulas, establezca las siguientes propiedades para el botón:


Propiedad AlSeleccionar = Navigate(AssignManager, Fade). Cuando ejecute la aplicación y
haga clic en este botón, irá a la segunda pantalla de la aplicación, con una transición de fundido
entre las pantallas.
Propiedad Texto = "Assign Manager"
3. Cambie el tamaño del botón para dar cabida al texto.

4. Inserte otro botón con las siguientes propiedades:


Propiedad AlSeleccionar = Navigate(ViewProjects, Fade).
Propiedad Texto = "Update Details"
NOTA
El botón se etiqueta como Update Details, pero primero va a ir a la pantalla ViewProjects para seleccionar
un proyecto para actualizar.

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.

Paso 4: Preparación de la pantalla AssignManager


En este paso, se va a usar una galerÃ​a para mostrar todos los proyectos que se han aprobado pero aún carecen
de administrador. Se agregarán otros controles, para que pueda asignar un administrador.

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.

1. Guarde los cambios que haya realizado hasta ahora.


2. En la barra de navegación izquierda, pulse o haga clic en la pantalla AssignManager.
Actualizar el tÃtulo e insertar el texto de introducción
1. Cambie [TÃ​tulo] a Assign Manager.
2. Agregue una etiqueta con las siguientes propiedades:
Propiedad Color = GrisOscuro
Propiedad Tamaño = 18
Propiedad Texto = "Select a project, then assign a manager"

Agregar una flecha Atrà ¡s para volver a la pantalla SelectTask


1. Pulse o haga clic en la barra azul en la parte superior de la pantalla.
2. En la pestaña Insertar, pulse o haga clic en Iconos y en Izquierda.
3. Mueva la flecha al lado izquierdo de la barra azul y establezca las siguientes propiedades:
Propiedad Color = Blanco
Propiedad Alto = 40
Propiedad AlSeleccionar = Navigate(SelectTask, Fade)
Propiedad Ancho = 40

Agregar y modificar una galerÃa


1. En la pestaña Insertar, pulse o haga clic en GalerÃ​a y en Vertical.

2. Seleccione TÃ​tulo, subtÃ​tulo y cuerpo en el menú Diseño en el panel derecho.


La galerÃ​a tiene ahora el diseño correcto, pero aún contiene el texto de ejemplo predeterminado. Esto se
va a solucionar a continuación.

3. Establezca las siguientes propiedades para la galerÃ​a:


Propiedad GrosorDelBorde = 1
Propiedad EstiloDelBorde = Punteado
Propiedad Elementos = Filter('Project Details', PMAssigned="Unassigned"). Solo se incluyen
en la galerÃ​a los proyectos que no tienen ningún administrador asignado.

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).

Ahora la pantalla deberÃ​a parecerse a la siguiente imagen.

Cambiar el color de un elemento si està ¡ seleccionado


1. Seleccione la galerÃ​a y establezca la propiedad RellenoDePlantilla en If (ThisItem.IsSelected=true,
Orange, White).
2. Seleccione un elemento en la galerÃ​a. Ahora la pantalla deberÃ​a parecerse a la siguiente imagen.

Agregar una etiqueta, entrada de texto y un botón OK para asignaciones de administrador


1. Pulse o haga clic fuera de la galerÃ​a en la que ha estado trabajando.
2. En la pestaña Insertar, pulse o haga clic en Etiqueta. Arrastre la etiqueta debajo de la galerÃ​a, a la
izquierda. Establezca las siguientes propiedades para la etiqueta:
Propiedad Tamaño = 20
Propiedad Texto = "Manager:"

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

Ahora la pantalla completada deberÃ​a parecerse a la siguiente imagen.


Paso 5: Preparación de la pantalla ViewProjects
En este paso, se cambiarán las propiedades para la galerÃ​a en la pantalla ViewProjects. Esta galerÃ​a muestra
elementos de la lista Project Details. Seleccione un elemento en esta pantalla y edite los detalles en la pantalla
UpdateDetails.
1. En la barra de navegación izquierda, pulse o haga clic en la pantalla ViewProjects.
2. Cambie [TÃ​tulo] a "View Projects".
3. En la barra de navegación izquierda, pulse o haga clic en BrowseGallery1 en ViewProjects.
4. Seleccione TÃ​tulo, subtÃ​tulo y cuerpo en el menú Diseño en el panel derecho.

La galerÃ​a tiene ahora el diseño correcto, con el texto de ejemplo predeterminado.


5. Seleccione el botón Actualizar y establezca su propiedad AlSeleccionar en Refresh('Project Details').
6. Seleccione el botón Nuevo elemento y establezca su propiedad AlSeleccionar en
NewForm(EditForm1); Navigate(UpdateDetails, ScreenTransition.None).
Agregar una flecha Atrà ¡s para volver a la pantalla SelectTask
1. En la barra de navegación izquierda, pulse o haga clic en la pantalla AssignManager.
2. Seleccione la flecha Atrás que agregó allÃ​ y cópiela.
3. Pegue la flecha en la pantalla ViewProjects y colóquela a la izquierda del botón Actualizar.

La acompañan todas sus propiedades, incluida la propiedad AlSeleccionar de Navigate(SelectTask,


Fade).
Cambiar el origen de datos de la galerÃa BrowseGallery1 (GalerÃaExamen1)
1. Seleccione la galerÃ​a BrowseGallery1 y establezca la propiedad Elementos de la galerÃ​a en
SortByColumns(Filter('Project Details', StartsWith(Title, TextSearchBox1.Text)), "Title",
If(SortDescending1, Descending, Ascending)).
Esto establece el origen de datos de la galerÃ​a en la lista Project Details y usa el campo TÃ​tulo para
búsquedas y clasificación.

2. Seleccione en el primer elemento de la galerÃ​a y establezca la propiedad AlSeleccionar en


Navigate(UpdateDetails, None).

3. En el panel derecho, actualice los campos para que coincidan con la siguiente lista:
Status
PMAssigned
Title

Ahora la pantalla completada deberÃ​a parecerse a la siguiente imagen.

Paso 6: Preparación de la pantalla UpdateDetails


En este paso, se conectará el formulario de edición en la pantalla UpdateDetails al origen de datos, y se harán
algunos cambios en propiedades y campos. En esta pantalla, puede editar los detalles de un proyecto que haya
seleccionado en la pantalla View Projects.
1. En la barra de navegación izquierda, pulse o haga clic en la pantalla UpdateDetails.
2. Cambie [TÃ​tulo] a "Update Details".
3. En la barra de navegación izquierda, pulse o haga clic en EditForm1 en UpdateDetails.
4. Establezca las siguientes propiedades para el formulario:
Propiedad OrigenDeDatos = 'Project Details'
Propiedad Elemento = BrowseGallery1.Selected
5. Con el formulario aún seleccionado, en el panel derecho, pulse o haga clic en la casilla de los siguientes
campos, en el orden mostrado:
Title
PMAssigned
Status
ProjectedStartDate
ProjectedEndDate
ProjectedDays
ActualDays

6. Seleccione el botón Cancelar y establezca su propiedad AlSeleccionar en ResetForm(EditForm1);


Back().
7. Seleccione el botón Guardar y consulte la fórmula de AlSeleccionar: SubmitForm(EditForm1).
Como se va a usar el control de formulario de edición, se puede utilizar Submit() en lugar de Patch(),
como antes.
La pantalla completada deberÃ​a parecerse a la siguiente imagen (si los campos están vacÃ​os, asegúrese de
seleccionar un elemento en la pantalla View Projects).

Paso 7: Ejecución de la aplicación


Ahora que la aplicación está completa, ejecútela para ver cómo funciona. Se agregará un vÃ​nculo en el sitio
de SharePoint a la aplicación. Podrá ejecutar la aplicación en el explorador, pero es posible que tenga que
compartirla para que otras personas la ejecuten. Para más información, consulte Uso compartido de las
aplicaciones.
Agregar un vÃnculo a la aplicación
1. En el iniciador de aplicaciones de Office 365, pulse o haga clic en PowerApps.
2. En PowerApps, pulse o haga clic en el botón de puntos suspensivos (…) para Project Management app
y en Abrir.

3. Copie la dirección (URL) de la aplicación en el explorador.

4. En SharePoint, pulse o haga clic en EDITAR VÃ​N CULOS.


5. Pulse o haga clic en (+) vÃ​nculo.

6. Escriba "Project Management app" y pegue la dirección para la aplicación.

7. Pulse o haga clic en Aceptar y en Guardar.

Asignar un administrador a un proyecto


Ahora que la aplicación está en este sitio de SharePoint, se va a asumir el rol de aprobador de proyecto; se
buscarán proyectos sin administrador asignado y se asignará un administrador a uno de ellos. A continuación,
se asumirá el rol de administrador del proyecto y se agregará alguna información sobre un proyecto que se
tenga asignado.
1. En primer lugar, se va a echar un vistazo a la lista Project Details en SharePoint. Dos proyectos tienen el
valor Sin asignar en la columna PMAssigned. Se verán en la aplicación.

2. Pulse o haga clic en el vÃ​nculo que ha creado a la aplicación.


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 New
BI software.

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. 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.

2. En la pantalla View Projects, escriba "New" en el cuadro de búsqueda.

3. Haga clic en para el elemento New BI software.

4. En la pantalla Update Details, establezca los valores siguientes:


El campo ProjectedStartDate = "3/6/2017"
El campo ProjectedEndDate = "3/24/2017"
El campo ProjectedDays = "15"

5. Haga clic o pulse para aplicar el cambio a la lista de SharePoint.


6. Cierre la aplicación y vuelva a la lista. Verá que la entrada del proyecto se ha actualizado con los cambios
de fecha y dÃ​a.

Análisis en profundidad de una fórmula


Se trata de la segunda sección opcional sobre las fórmulas de PowerApps. En la primera, se analizó una de las
fórmulas que PowerApps genera para la galerÃ​a de examen en una aplicación de tres pantallas. En este análisis
en profundidad, se examinará una fórmula que se usa para la pantalla AssignManager de nuestra segunda
aplicación. Esta es la fórmula:
Patch ( 'Project Details', LookUp ( 'Project Details', ID = Gallery1.Selected.ID ), {PMAssigned:
TextInput1.Text} )
¿Qué hace esta fórmula? Cuando selecciona un elemento en la galerÃ​a y hace clic en el botón Aceptar, la
fórmula actualiza la lista Project Details, lo que establece la columna PMAssigned en el valor que especifique en
la entrada de texto. La fórmula usa funciones para realizar su trabajo:
La función Revisión modifica uno o varios registros de un origen de datos.
La función Búsqueda busca el primer registro de una tabla que satisfaga una fórmula.
Cuando se juntan las funciones en la fórmula, ocurre lo siguiente:
1. Al hacer clic en el botón Aceptar, se llama a la función Revisión para actualizar la lista Project Details.
2. En la función Revisión, la función Búsqueda identifica qué fila de la lista Project Details se debe
actualizar. Para ello, compara el identificador del elemento seleccionado de la galerÃ​a con el identificador de
la lista. Por ejemplo, el identificador 12 significa que la entrada de New BI software debe actualizarse.
3. Ahora que la función Revisión tiene el identificador correcto, actualiza el campo PMAssigned con el
valor de TextInput1.Text.

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.

Repaso rápido de Power BI Desktop


Antes de profundizar en la creación de informes, revisemos Power BI Desktop. Es una herramienta eficaz, con gran
cantidad de características, por lo que nos centraremos en proporcionar información general de las áreas que se
van a utilizar en esta tarea. En Power BI Desktop hay tres áreas de trabajo o vistas principales: vista Informe, vista
Datos y vista Relaciones. Power BI Desktop también incluye el Editor de consultas, que se abre en una ventana
independiente.
La siguiente pantalla muestra los iconos de las tres vistas a la izquierda de Power BI Desktop: Informe, Datos y
Relaciones, de arriba a abajo. La barra amarilla de la izquierda indica la vista activa; en este caso, se muestra la
vista Informe. Para cambiar de vista, seleccione cualquiera de los tres iconos.

La vista Informe tiene cinco áreas principales:


1. La cinta de opciones, que muestra tareas comunes asociadas a informes y visualizaciones.
2. La vista Informe, o lienzo, donde las visualizaciones se crean y se organizan.
3. El área de la pestaña Páginas de la parte inferior, que permite seleccionar o agregar una página del informe.
4. El panel Visualizaciones, donde se cambian las visualizaciones, se personalizan los colores o ejes, se aplican
filtros, se arrastran los campos, etc.
5. El panel Campos, en el que los elementos de consulta y los filtros se pueden arrastrar a la vista Informe, o bien
al área Filtros del panel Visualizaciones.

La vista Datos tiene tres áreas principales:


1. La cinta de opciones, que tiene la pestaña Modelado seleccionada a continuación. En esta pestaña, se crean
tablas y columnas calculadas, y se realizan otros cambios en el modelo de datos.
2. El panel central, que muestra los datos de la tabla seleccionada.
3. El panel Campos, donde se controla cómo se muestran los campos en los informes.

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.

Paso 1: Obtención de datos en Power BI Desktop


En este paso, en primer lugar se conectará a las dos listas. Luego limpiará los datos, para lo que debe eliminar las
columnas que no sean necesarias para el análisis de datos. También cambiará los tipos de datos de algunas de las
columnas restantes para que los cálculos se realicen correctamente. Para más información acerca de cómo obtener
y limpiar datos en Power BI Desktop, consulte la sección Obtención de datos del curso de aprendizaje guiado.
Conexión a listas de SharePoint
1. En Power BI Desktop, en la pestaña Inicio, haga clic o pulse en Obtener datos y luego en Más...
2. En el cuadro de diálogo Obtener datos, haga clic o pulse en Lista de SharePoint Online y, luego, en
Conectar.

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. Seleccione Project Details y Project Requests, y haga clic o pulse en Editar.


Las listas se muestran como tablas en el Editor de consultas.

Eliminación de columnas innecesarias de las tablas


1. En el panel de navegación izquierdo, haga clic o pulse en Project Details.
2. En el panel central, seleccione la columna FileSystemObjectType y, después, haga clic o pulse Quitar
columnas.
3. Quitar las dos columnas después de la columna Id: ServerRedirectedEmbedURL y ContentTypeId. > [!TIP] >
Utilice la tecla Máyus para seleccionar ambas columnas y, después, haga clic o pulse Quitar columnas.
4. Quite todas las columnas a la derecha de la columna PMAssigned (un total de 22 columnas). La tabla debe
coincidir con la de la siguiente imagen:

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:

Cambiar el tipo de datos en las columnas de Project Details


1. Seleccione la columna ProjectedDays, haga clic o pulse Tipo de datos: cualquiera y , luego, Número
entero.
2. Repita el paso anterior en la columna ActualDays.
3. Seleccione la columna ApprovedDate, haga clic o pulse Tipo de datos: cualquiera y, luego, Fecha.

4. Repita el paso anterior en las columnas ProjectedStartDate y ProjectedEndDate.


Cambio del tipo de datos en las columnas de Project Requests
1. Seleccione la columna EstimatedDays, haga clic o pulse Tipo de datos: cualquiera y , luego, Número
entero.
2. Seleccione la columna RequestDate, haga clic o pulse Tipo de datos: cualquiera y, luego, Fecha.
Aplicación y guardado de cambios
1. En la pestaña Inicio, haga clic en Cerrar y aplicar para cerrar el Editor de consultas y vuelva a la ventana
principal de Power BI Desktop.

2. Haga clic o pulse en Archivo y , luego, en Guardar y guarde el proyecto con el nombre project-
analysis.pbix.

Paso 2: Mejora del modelo de datos


Ahora que los datos de las listas de SharePoint se encuentran en Power BI Desktop, pasaremos al modelado de
datos. El modelado de datos puede ser un proceso lento, pero le mostraremos sucintamente varias cosas
interesantes que puede hacer para sacar el máximo partido a los datos de las listas en Power BI Desktop:
Cambiar las relaciones entre dos tablas cualesquiera
Agregar una tabla de fechas para poder realizar cálculos basados en los días laborables
Agregar columnas calculadas para calcular los intervalos de tiempo entre los hitos del proyecto
Agregar medidas para calcular la varianza en los días previstos frentes a los días reales de un proyecto
Una vez completados estos pasos, se pueden crear visualizaciones que saquen provecho de las mejoras en nuestro
modelo. Para más información acerca del modelado de datos en Power BI Desktop, consulte la sección Modelado
del curso de aprendizaje guiado.
Cambiar las relaciones entre tablas
Cuando Power BI Desktop introdujo las listas, creó una relación entre ellas basada en la columna Id de ambas
tablas. En realidad, la relación se establecería entre la columna Id de la tabla Project Requests y la columna
RequestId de la tabla Project Details. Vamos a solucionar ese problema:
1. Haga clic o pulse el icono de la vista Datos.

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.

4. Haga clic en Nuevo para crear otra relación.


5. En el cuadro de dialogo Crear relación:
a. Para la primera tabla, seleccione Project Requestsy la columna Id.
b. Para la segunda tabla, seleccione Project Detailsy la columna RequestId.
c. La pantalla debe ser como la de siguiente imagen. Cuando esté listo, haga clic o pulse en Aceptar y,
después, en Cerrar.
Adición de una tabla de fechas para facilitar los cálculos de fecha
1. Haga clic o pulse Nueva tabla.

2. Escriba esta fórmula en la barra de fórmulas: Dates = CALENDARAUTO().

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.

Adición de una calculada a la tabla Dates


1. Aún en la tabla de fechas, haga clic o pulse en Nueva columna.

2. Escriba esta fórmula en la barra de fórmulas: IsWeekDay = SWITCH(WEEKDAY(Dates[Date]), 1,0,7,0,1).


Esta fórmula determina si una fecha de la columna Date es un día laborable. Si la fecha es un día laborable,
la columna IsWeekDay obtiene el valor 1; de lo contrario, obtiene el valor 0.
3. Presione Entrar para agregar la columna IsWeekDay a la tabla Dates.

Adición de una columna calculada a la tabla Project Details


1. En el panel derecho, haga clic o pulse en la tabla Project Details y , después, en Nueva columna.

2. Escriba esta fórmula en la barra de fórmulas:

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.

Adición de una columna calculada a la tabla Project Requests


1. En el panel derecho, haga clic o pulse en la tabla Project Requests y , después, en Nueva columna.
2. Escriba esta fórmula en la barra de fórmulas:

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.

Adición de una medida a la tabla Project Details


1. En el panel derecho, haga clic o pulse en la tabla Project Details y , después, en Nueva medida.

2. Escriba esta fórmula en la barra de fórmulas:

VarProjectedActual = DIVIDE(

SUM('Project Details'[ActualDays]) - SUM('Project Details'[ProjectedDays]),

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.

2. Escriba esta fórmula en la barra de fórmulas:

MaxDaysPending = MAXX(

FILTER('Project Requests', 'Project Requests'[Approved]="Pending"),

'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.

Paso 3: Creación de visualizaciones de informes


Ahora estamos en el paso en el que mucha gente piensa cuando piensan en el análisis de datos: la creación de
visualizaciones para poder buscar patrones en los datos. En este paso, crearemos cuatro visualizaciones:
Un gráfico de columnas que muestra los días previstos frente a días reales de los proyectos
Un gráfico de columnas que muestra la varianza de cada proyecto
Una tarjeta que muestra el proyecto que lleva más tiempo pendiente
Una tabla que muestra el tiempo transcurrido entre la aprobación del proyecto y la fecha de inicio previsto
Una vez que hemos creado estas visualizaciones de informes en Power BI Desktop, publicaremos los datos e
informes para el servicio Power BI, con el fin de que podamos crear y compartir paneles. Para más información
acerca de la creación de informes en Power BI Desktop, consulte la sección Visualizaciones del curso de aprendizaje
guiado.
Creación de un gráfico de barras que muestre las fechas previstas frente a las reales
1. Haga clic o pulse el icono de la vista Informe. Permaneceremos en esta vista durante el resto de nuestro
tiempo en Power BI Desktop.

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.

4. Arrastre ActualDays y ProjectedDays de Project Details, en el panel Campos, a Valores, en el panel


Visualizaciones.

5. Ahora la visualización debería parecerse a la siguiente imagen.


6. Arrastre Status desde el panel Campos de Project Details hasta el área Filtros del panel Visualizaciones
y seleccione la casilla Completado.

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.

4. Arrastre VarProjectedActual de Project Details, en el panel Campos, a Valores, 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.

Ahora la visualización debería parecerse a la siguiente imagen.


En este gráfico se puede ver la variabilidad que hay para los proyectos que ejecutó Irvin Sayers frente a los
que ejecutó Joni Sherman. Explore en profundidad para ver la variabilidad por proyecto y si el número de
días previstos era superior o inferior al de días reales.

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. Haga clic o pulse en Formato (rodillo de pintura) y, después, en Borde, a Activar.

5. En Título, seleccione Activar y agregue el título "Max days pending approval".

Ahora la visualización debería parecerse a la siguiente imagen.


Después de publicar este informe, vamos a usar este icono para desencadenar una alerta si el valor máximo
de un proyecto pendiente llega a un umbral determinado.
Creación de una tabla que muestre el tiempo transcurrido entre la aprobación del proyecto y la fecha de inicio
previsto
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 en Tabla.

3. Arrastre PMAssigned, Title y ApprovedStartDiff de Project Details, en el panel Campos, a Valores, 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.

Paso 1: Publicación del conjunto de datos y el informe


1. En Power BI Desktop, en la pestaña Inicio, haga clic o pulse en Publicar.

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.

3. Escriba una contraseña 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.

Paso 2: Configuración de las credenciales para la actualización


1. En el servicio, haga clic o pulse en el en la esquina superior derecha. Después, haga clic o pulse en
Configuración.
2. Haga clic o pulse en Conjuntos de datos y, después, en project-analysis.
3. Expanda Credenciales de origen de datos y, a continuación, haga clic o pulse en Editar credenciales.

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.

Cuando se complete el proceso, obtendrá el siguiente mensaje en el servicio.

Paso 3: Creación de un panel


1. Para volver al informe, en INFORMES, haga clic o pulse en project-analysis.
2. Haga clic o pulse en el gráfico de la esquina superior izquierda y, después, haga clic o pulse en .
3. Escriba un nombre para el panel al que desea anclarlo y, a continuación, haga clic o pulse en Anclar.

4. Haga clic o pulse en el gráfico de la esquina superior derecha y, después, haga clic o pulse en .

5. Seleccione el panel existente, después, haga clic o pulse en Anclar.


6. Repita el proceso de anclaje con los otros dos objetos visuales.
7. En el panel de navegación izquierdo, haga clic o pulse en el nombre del panel.

8. Revise el panel. Si hace clic en un icono, volverá al informe.

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.

Paso 1: Generación de un vínculo de inserción


1. Inicie sesión en Power BI y, en el panel de navegación izquierdo, haga clic o pulse en el nombre del informe.

2. Haga clic o pulse en Archivo y, luego, en Insertar en SharePoint Online.


3. Copie el vínculo de inserción del cuadro de diálogo a un archivo y, a continuación, haga clic o pulse en
Cerrar. Usaremos el vínculo después de haber creado una página de SharePoint.

Paso 2: Inserción del informe


1. Inicie sesión en SharePoint y, a continuación, haga clic o pulse en Contenidos del sitio.

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.

3. Escriba un nombre para la página, como "Project Analysis".


4. Haga clic o pulse en el y , a continuación, en Power BI.
5. Haga clic o pulse en Agregar informe.

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.

Paso 1: Creación de una alerta


1. En el servicio Power BI, abra el panel que creó en la última tarea.
2. En la tarjeta con un solo número, pulse o haga clic en el botón de puntos suspensivos (…).

3. Haga clic o pulse .

4. En el panel derecho, pulse o haga clic en Agregar regla de alertas.

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.

Paso 2: Creación de un flujo que responda a la alerta


1. Inicie sesión en flow.microsoft.com y pulse o haga clic en Servicios y en Power BI.

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).

6. En el cuadro A, escriba una dirección de correo electrónico válida.

7. Pulse o haga clic en Editar para ver otros campos que se pueden actualizar.

8. En la parte superior derecha de la pantalla, haga clic en Crear flujo y en Listo.

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.

Paso 1: Incorporación de un proyecto a la lista Project Requests


1. En la lista Project Requests, pulse o haga clic en Todos los elementos y en Project Requests app.

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 para crear un elemento.


4. Rellene el formulario con los siguientes valores:
Title = "Mobile devices for design team"
Approved = "Pending"
Description = "The design team will now use Contoso-supplied devices"
EstimatedDays = "30"
ProjectType = "New hardware"
RequestDate = "03/01/2017"
Requestor = "Emily Braun"
5. Haga clic o pulse y cierre la pestaña de explorador.
6. Vuelva a la lista Project Requests, pulse o haga clic en Project Requests app y en Todos los elementos.

7. Compruebe la nueva entrada en la lista.

Paso 2: Aprobación del proyecto


1. Cuando agrega el elemento en el paso 1, se debería ejecutar el flujo y enviar un correo electrónico de
aprobación. Compruebe la bandeja de entrada de la cuenta de correo electrónico del aprobador.
2. Haga clic en Aprobar. El flujo ejecuta otro proceso, y obtiene información similar a la siguiente
directamente en el correo electrónico.

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.

4. Compruebe la entrada actualizada en la lista.

Paso 3: Asignación de un administrador al proyecto


1. En primer lugar, se va a echar un vistazo a la lista Project Details en SharePoint. El nuevo proyecto tiene el
valor Sin asignar en la columna PMAssigned.

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.

Paso 4: Incorporación de las estimaciones de tiempo para el proyecto


1. Pulse o haga clic en para volver a la primera pantalla y en Update Details.

2. En la pantalla View Projects, escriba "Mobile" en el cuadro de búsqueda.


3. Haga clic en para el elemento Mobile devices for design team.

4. En la pantalla Update Details, establezca los valores siguientes:


El campo Status = "Not started"
El campo ProjectedStartDate = "3/6/2017"
El campo ProjectedEndDate = "3/24/2017"
El campo ProjectedDays = "15"
5. Haga clic o pulse para aplicar el cambio a la lista de SharePoint.
6. Cierre la aplicación y vuelva a la lista. Verá que la entrada del proyecto se ha actualizado con los cambios
de fecha y día.

Paso 5: Revisión de datos de informe para proyectos existentes


1. En SharePoint Online, pulse o haga clic en Contenidos del sitio y en Páginas del sitio.
2. Abra la página Project Analysis que se creó antes.
3. Revise la visualización de varianza.

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.

Paso 6: Respuesta a retrasos en proyectos pendientes


1. En el servicio Power BI, pulse o haga clic en el conjunto de datos project-analysis y después en
ACTUALIZAR AHORA. La actualización desencadena la alerta que se configuró para proyectos pendientes.
2. Una vez completada la actualización, el Centro de notificaciones en la parte superior derecha muestra un
nuevo icono de notificación.

Esto puede tardar un tiempo, así que vuelva a consultarlo si no lo ve de inmediato.


3. Abra el Centro de notificaciones para ver los detalles de la alerta que se ha activado.

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.

Introducción a Microsoft Cognitive Services


Microsoft Cognitive Services es un conjunto de API, SDK y servicios disponibles para hacer que sus aplicaciones
sean más inteligentes, atractivas y detectables. Estos servicios permiten agregar fácilmente a sus aplicaciones
características inteligentes tales como detección de emociones y vídeo; reconocimiento facial, visual y de voz; y
comprensión de narración y lenguaje.
Nos centraremos en la "comprensión del lenguaje" en este artículo, y trabajaremos con la API Text Analytics. La API
permite detectar la opinión, las frases clave, los temas y el idioma del texto. Para empezar, vamos a probar una
demostración de la API; regístrese para obtener una versión preliminar.
Prueba de Text Analytics API
La API tiene una demostración en línea, en la que puede ver cómo funciona y ver el código JSON que el servicio
devuelve.
1. Vaya a la página Text Analytics API.
2. En la sección Véala en acción, utilice el texto de ejemplo o escriba su propio texto. Luego pulse o haga clic
en Analizar.

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).

5. En la esquina inferior izquierda, pulse o haga clic en Crear.


6. En el Panel, pulse o haga clic en la API que acaba de crear.

7. Haga clic o pulse en Claves.

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.

2. En el panel central de PowerApps Studio, elija conectar a datos.


3. En el panel Datos, haga clic o pulse en Nueva conexión > Text Analytics.
4. Copie la clave en Clave de cuenta y haga clic o pulse en Crear.
Adición de controles a la aplicación
El siguiente paso para crear aplicación es agregar todos los controles. Normalmente, al crear aplicaciones, agrego
las fórmulas a los controles sobre la marcha pero, en este caso, nos centraremos primero en los controles y,
después, agregaremos algunas fórmulas en la sección siguiente. La siguiente imagen muestra la aplicación con
todos los controles.

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)

Vamos a ver con detalle lo que sucede:


Las instrucciones If son sencillas: si se selecciona una casilla específica, se realiza la llamada a la API para esa
operación.
Dentro de cada llamada, especifique los parámetros adecuados:
En las tres llamadas, especifique tiTextToAnalyze.Text como texto de entrada.
En DetectLanguage(), se codifica numberOfLanguagesToDetect de forma rígida como 1, pero
puede pasar este parámetro en función de alguna lógica de la aplicación.
En KeyPhrases() y DetectSentiment(), language se codifica de forma rígida como "en", pero puede
pasar este parámetro en función de alguna lógica de la aplicación. Por ejemplo, puede detectar
primero el idioma y luego establecer este parámetro en función de lo que devuelva
DetectLanguage().
Para cada llamada que se realiza, agregue los resultados a la colección correspondiente:
En languageCollect, agregue el valor de name del idioma que se identificó en el texto.
En phrasesCollect, agregue los valores de keyPhrase que se identificaron en el texto.
En sentimentCollect, agregue el valor de score de la opinión del texto, que es un valor entre 0 y 1,
donde 1 es 100 % positivo.
Presentación de los resultados de las llamadas a la API
Para mostrar los resultados de las llamadas a la API, haga referencia a la colección adecuada en cada control:
1. Establezca la propiedad Text de la etiqueta de idioma en:
"The language detected is " & First(languageCollect).name .
La función First() devuelve el primer registro (y único en este caso) de languageCollect y la aplicación
muestra el valor de name (el único campo) asociado con ese registro.
2. Establezca la propiedad Text de la etiqueta de opinión en:
"The sentiment score is " & Round(First(sentimentCollect.Value).Value, 3)\*100 & "% positive." .
Esta fórmula utiliza también la función First(), obtiene el valor de Value (0-1) del primer y único registro y, a
continuación, le da formato como un porcentaje.
3. Establezca la propiedad Items de la galería de frases clave en: phrasesCollect .
Ahora trabaja con una galería, por lo que no necesita la función First() para extraer un valor único. Usted
hace referencia a la colección y la galería muestra las frases clave en forma de lista.

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

Las fórmulas combinan numerosos elementos. A continuación se enumera lo siguiente:


Las funciones toman parámetros, realizar una operación y devuelven un valor. Por ejemplo, Sqrt(25)
devuelve 5. Las funciones se basan en las funciones de Microsoft Excel. Algunas funciones tienen efectos
secundarios, como SubmitForm, y solo son adecuadas en una fórmula de comportamiento como
Button.OnSelect.
Las señales devuelven información sobre el entorno. Por ejemplo, Location devuelve las coordenadas
GPS actuales del dispositivo. Las señales no toman parámetros ni tienen efectos secundarios.
Las enumeraciones devuelven un valor constante predefinido. Por ejemplo, Color es una enumeración
que tiene valores predefinidos para Color.Red, Color.Blue, etc. AquÃ​ se incluyen enumeraciones comunes;
las enumeraciones especÃ​ficas de funciones se describen con la función.
Los operadores con nombre, como ThisItem y Parent, proporcionan acceso a información desde un
contenedor.
Otros elementos incluyen:
Todos los operadores
Controles y sus propiedades

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.

Propiedades comunes por categorÃa


Color y borde: configure el color y borde de un control que puede cambiar cuando un usuario interactúa con
él.
Núcleo: configure si el usuario puede ver un control e interactuar con él.
Imagen: configure qué imagen se muestra y cómo rellena el control.
Tamaño y ubicación: configure el tamaño de un control (o un elemento de un control) y dónde se
encuentra en relación con la pantalla en la que está.
Texto: configure la apariencia del texto en los controles, como las caracterÃ​sticas de la fuente, la alineación y el
alto de lÃ​nea.

Todas las propiedades


A
ActualZoom: el zoom real del control, que puede diferir del zoom solicitado con la propiedad Zoom. Se aplica al
control Visor de PDF.
Align: la ubicación del texto respecto al centro horizontal de su control. Se aplica a muchos controles.
TodosLosElementos: todos los elementos de una galerÃ​a, entre los que se incluyen valores de control
adicionales que formen parte de la plantilla de la galerÃ​a. Se aplica al control GalerÃ​a.
AutoDisableOnSelect: deshabilita automáticamente el control mientras se ejecuta el comportamiento
AlSeleccionar. Se aplica a los controles Botón e Imagen.
AutoHeight (AlturaAutomática): indica si una etiqueta aumenta automáticamente su altura si su propiedad
Texto contiene más caracteres de los que el control permite mostrar. Se aplica al control Etiqueta.
PausarAutomáticamente: indica si un clip de audio o vÃ​deo se detiene automáticamente si el usuario se
desplaza a otra pantalla. Se aplica a los controles Audio, Temporizador y VÃ​deo.
IniciarAutomáticamente: indica si un control de audio o vÃ​deo empieza a reproducir automáticamente un
clip cuando el usuario navega a la pantalla que contiene ese control. Se aplica a los controles Audio,
Temporizador y VÃ​deo.
B
ImagenDeFondo: nombre de un archivo de imagen que aparece en el fondo de una pantalla. Se aplica al control
Pantalla.
BorderColor: el color de un borde del control. Se aplica a muchos controles.
BorderStyle: si el borde del control es Solid, Dashed, Dotted o None. Se aplica a muchos controles.
BorderThickness: el grosor de un borde del control. Se aplica a muchos controles.
Brillo: la claridad que el usuario es probable que perciba en una imagen. Se aplica al control Cámara.
C
CalculateOriginalDimensions: habilita las propiedades AltoOriginal y AnchoOriginal. Se aplica al control
Imagen.
Cámara: en los dispositivos que tienen más de una cámara, el identificador numérico de la cámara que usa
la aplicación. Se aplica al control Cámara.
CheckboxBackgroundFill (RellenoDeFondoDeCasilla): el color de fondo del cuadro que rodea la marca de
verificación en un control de casilla. Se aplica al control Casilla.
CheckboxBorderColor: el color del borde que rodea la marca de verificación en un control de casilla. Se aplica
al control Casilla.
TamañoDeCasilla: el ancho y alto del cuadro que rodea la marca de verificación en un control de casilla. Se
aplica al control Casilla.
CheckmarkFill: el color de la marca de verificación en un control de casilla. Se aplica al control Casilla.
ChevronBackground: el color detrás de la flecha hacia abajo en una lista desplegable. Se aplica al control
Desplegable.
ChevronFill: el color de la flecha hacia abajo en una lista desplegable. Se aplica al control Desplegable.
Clear: si un control de entrada de texto muestra una "X" que el usuario puede pulsar o hacer clic para borrar el
contenido del control. Se aplica al control Entrada de texto.
Color: el color del texto en un control. Se aplica a muchos controles.
Contraste: indica cómo el usuario puede distinguir fácilmente colores similares en una imagen. Se aplica al
control Cámara.
CurrentFindText: el término de búsqueda que está en uso en ese momento. Se aplica al control Visor de
PDF.
CurrentPage: el número de la página de un archivo PDF que se muestra realmente. Se aplica al control Visor
de PDF.
D
Data: el nombre de una colección que desea exportar a un archivo local. Se aplica al control Exportar.
DataField: el nombre del campo de un registro que esta tarjeta muestra y edita. Se aplica al control Tarjeta.
DataSource: el origen de datos que contiene el registro que el usuario mostrará, editará o creará. Se aplica a
los controles Formulario de presentación y Formulario de edición.
Predeterminado: el valor inicial de un control antes de que lo cambie el usuario. Se aplica a muchos controles.
DefaultDate: el valor inicial de un control de fecha antes de que lo cambie el usuario. Se aplica al control
Selector de fecha.
DefaultMode: el modo inicial de un control de formulario, ya sea Edit, New o View. Se aplica al control
Formulario de edición.
Dirección: indica si el primer elemento de una galerÃ​a con orientación horizontal aparece cerca del borde
izquierdo o derecho. Se aplica al control GalerÃ​a.
Disabled: indica si el usuario puede interactuar con el control. Se aplica a muchos controles.
DisabledBorderColor: el color de un borde del control si la propiedad Disabled del control está establecida en
true. Se aplica a muchos controles.
DisabledColor: el color del texto en un control si su propiedad Disabled está establecida en true. Se aplica a
muchos controles.
DisabledFill: el color de fondo de un control si su propiedad Disabled está establecida en true. Se aplica a
muchos controles.
DisplayName: el nombre descriptivo de un campo de un origen de datos. Se aplica al control Tarjeta.
DisplayMode: los valores pueden ser Edit, View o Disabled. Configura si el control permite entradas de usuario
(Edit), solo muestra datos (View) o si está deshabilitado (Disabled).
Documento: la dirección URL, entre comillas dobles, de un archivo PDF. Se aplica al control Visor de PDF.
Duración: tiempo de ejecución del temporizador. Se aplica al control Temporizador.
E
EndYear: el último año en el que el usuario puede establecer el valor de un control selector de fecha. Se aplica
al control Selector de fecha.
Error: el significado de esta propiedad depende del control:
Control Agregar imagen: si aparece algún problema al cargar una imagen, esta propiedad contendrá una
cadena de error apropiada.
Control Tarjeta: el mensaje de error descriptivo que se muestra en este campo cuando se produce un error de
validación.
Control Formulario de edición: un mensaje de error descriptivo que se muestra en este formulario cuando
se produce un error en la función SubmitForm.
ErrorKind: si se produce un error durante la ejecución de SubmitForm, el tipo de error que se produjo. Se aplica
a los controles Formulario de presentación y Formulario de edición.
Seccionar: las distancia entre las cuñas de un gráfico circular. Se aplica al control Gráfico circular.
F
Fill: el color de fondo de un control. Se aplica a muchos controles.
FindNext: busca la siguiente instancia de FindText en el documento. Se aplica al control Visor de PDF.
FindPrevious: busca la instancia anterior de FindText en el documento. Se aplica al control Visor de PDF.
FindText: el término que se busca en el documento. Se aplica al control Visor de PDF.
Font: el nombre de la familia de fuentes en la que aparece el texto. Se aplica a muchos controles.
FontWeight: el peso del texto en un control: Bold, Semibold, Normal o Lighter. Se aplica a muchos controles.
G
GridStyle: indica si un gráfico de columnas o de lÃ​neas muestra su eje x, su eje, ambos o ninguno. Se aplica a los
controles Gráfico de columnas y Gráfico de lÃ​neas.
H
RellenoDeControladorActivo: el color del controlador de un control deslizante cuando el usuario cambia el
valor. Se aplica al control Control deslizante.
RellenoDeControlador: el color del controlador (el elemento que cambia de posición) en un control de
alternancia o control deslizante. Se aplica al control Control deslizante.
RellenoDeControladorAlMantener: el color del texto del controlador cuando el usuario mantiene el puntero
sobre él. Se aplica al control Control deslizante.
Height: la distancia entre los bordes superior e inferior de un control. Se aplica a muchos controles.
TextoDeSugerencia: texto de color gris claro que aparece en un control de entrada de texto si está en blanco. Se
aplica al control Entrada de texto.
HoverBorderColor: el color de un borde del control cuando el usuario mantiene el puntero del mouse sobre ese
control. Se aplica a muchos controles.
HoverColor: el color del texto de un control cuando el usuario mantiene el puntero del mouse sobre él. Se
aplica a muchos controles.
HoverFill: el color de fondo de un control cuando el usuario mantiene el puntero del mouse sobre él. Se aplica
a muchos controles.
Texto HTML: texto que aparece en un control de texto HTML y que puede contener etiquetas HTML. Se aplica al
control Texto HTML.
I
Imagen: el nombre de la imagen que aparece en un control de imagen, audio o micrófono. Se aplica a los
controles Audio, Image, Microphone y Video.
PosiciónDeLaImagen: posición (Rellenar, Ajustar, Estirar, Icono o Centrar) de una imagen en una pantalla o
un control, si no tiene el mismo tamaño que la imagen. Se aplica a muchos controles.
Input: entrada. Se aplica al control Entrada manuscrita.
Italic: indica si el texto de un control está en cursiva. Se aplica a muchos controles.
Elemento: el registro en el origen de datos que el usuario mostrará o editará. Se aplica a los controles
Formulario de presentación y Formulario de edición.
ItemBorderColor: el color del borde que rodea cada cuña de un gráfico circular. Se aplica al control Gráfico
circular.
ItemBorderThickness: el grosor del borde que rodea cada cuña de un gráfico circular. Se aplica al control
Gráfico circular.
ItemColorSet: color de cada punto de datos de un gráfico. Se aplica a los controles Gráfico de columnas,
Gráfico de lÃ​neas y Gráfico circular.
ItemPaddingLeft: la distancia entre el texto de un cuadro de lista y su borde izquierdo. Se aplica al control
Cuadro de lista.
Elementos: origen de datos que aparece en un control, como una galerÃ​a, una lista o un gráfico. Se aplica a
muchos controles.
ItemsGap: la distancia entre las columnas de un gráfico de columnas. Se aplica al control Gráfico de
columnas.
Grande
LabelPosition: ubicación de las etiquetas en un gráfico circular con respecto a sus cuñas. Se aplica al control
Gráfico circular.
LastSubmit: el último registro enviado correctamente, incluidos todos los campos que ha generado el servidor.
Se aplica al control Formulario de edición.
Layout: indica si el usuario se desplaza por la galerÃ​a o ajusta un control deslizante de arriba a abajo (Vertical) o
de izquierda a derecha (Horizontal). Se aplica a los controles GalerÃ​a y Control deslizante.
AlturaDeLÃ​nea: distancia entre, por ejemplo, lÃ​neas de texto o elementos de una lista. Se aplica a los controles
Cuadro de lista, Botón de selección, Etiqueta y Entrada de texto.
Bucle: indica si un clip de audio o de vÃ​deo empieza de nuevo automáticamente en cuanto termina de
reproducirse. Se aplica a los controles Audio y VÃ​deo.
Mediana
Marcadores: indica si un gráfico de columnas o de lÃ​neas muestra el valor de cada punto de datos. Se aplica a
los controles Gráfico de columnas y Gráfico de lÃ​neas.
MarkerSuffix: texto que aparece después de cada valor en un gráfico de columnas en el que la propiedad
Marcadores está establecida en true. Se aplica al control Gráfico de columnas.
Max: el valor máximo para el que el usuario puede establecer un control deslizante o una clasificación. Se aplica
a los controles Clasificación y Control deslizante.
MaxLength: el número de caracteres que el usuario puede escribir en un control de entrada de texto. Se aplica al
control Entrada de texto.
Multimedia: un identificador de la secuencia que reproduce un control de audio o de vÃ​deo. Se aplica a los
controles Agregar imagen, Audio y VÃ​deo.
Micrófono: en un dispositivo que tenga varios micrófonos, el identificador numérico del micrófono que usa
la aplicación. Se aplica al control Micrófono.
MÃ​n: el valor mÃ​nimo para el que el usuario puede establecer un control deslizante. Se aplica al control Control
deslizante.
AnchoDeBarraMÃ​nimo: el ancho mÃ​nimo posible de las columnas de un gráfico de columnas. Se aplica al
control Gráfico de columnas.
Mode: el significado de esta propiedad depende del control:
Control Formulario de edición: el control está en modo Edición o Nuevo.
Control Entrada manuscrita: el control está en los modos Dibujar, Borrar o Selección.
Control Entrada de texto: el control se encuentra en modo LÃ​neaÚnica, MultilÃ​nea o Contraseña.
N
PasoDeNavegación: lo lejos que se desplaza una galerÃ​a si su propiedad MostrarNavegación está
establecida en true y el usuario selecciona una flecha de navegación de cualquier extremo de esa galerÃ​a. Se
aplica al control GalerÃ​a.
NúmeroDeSeries: el número de columnas de datos reflejadas en un gráfico de columnas o de lÃ​neas. Se
aplica a los controles Gráfico de columnas y Gráfico de lÃ​neas.
O
AlCambiar: el comportamiento de una aplicación cuando el usuario cambia el valor de un control (por ejemplo,
al ajustar un control deslizante). Se aplica a muchos controles.
AlActivar: el comportamiento de una aplicación cuando el valor de una casilla o de un control Alternar cambia a
true. Se aplica a los controles Casilla y Alternancia.
AlFinalizar: el comportamiento de una aplicación cuando finaliza la reproducción de un clip de audio o de vÃ​-
deo. Se aplica a los controles Audio y VÃ​deo.
OnFailure (ConError): el comportamiento de una aplicación cuando una operación de datos ha sido incorrecta.
Se aplica al control Formulario de edición.
AlEstarOculto: el comportamiento de una aplicación cuando el usuario navega fuera de una pantalla. Se aplica
al control Pantalla.
AlPausar: el comportamiento de una aplicación cuando el usuario pausa el clip que reproduce un control de
audio o de vÃ​deo. Se aplica a los controles Audio y VÃ​deo.
OnReset (AlRestablecer): el comportamiento de una aplicación cuando se restablece un control Formulario de
edición. Se aplica al control Formulario de edición.
AlSeleccionar: el comportamiento de una aplicación cuando el usuario pulsa o hace clic en un control. Se aplica
a muchos controles.
AlIniciar: el comportamiento de una aplicación cuando el usuario la abre o comienza a grabar con un control de
micrófono. Se aplica a los controles Audio, Micrófono, Pantalla y VÃ​deo.
OnStateChange (AlCambiarEstado): el comportamiento de una aplicación cuando cambia el estado del control.
Se aplica al control Visor de PDF.
AlDetener: el comportamiento de una aplicación cuando el usuario detiene la grabación con un control de
micrófono. Se aplica al control Micrófono.
EnSecuencia: el comportamiento de una aplicación cuando se actualiza la propiedad Secuencia. Se aplica al
control Cámara.
OnSuccess (ConResultadoCorrecto): el comportamiento de una aplicación cuando una operación de datos ha
sido correcta. Se aplica al control Formulario de edición.
AlFinalizarTemporizador: el comportamiento de una aplicación cuando se termina de ejecutar un
temporizador. Se aplica al control Temporizador.
AlIniciarTemporizador: el comportamiento de una aplicación cuando se empieza a ejecutar un temporizador.
Se aplica al control Temporizador.
AlDesactivar: el comportamiento de una aplicación cuando el valor de una casilla o de un control Alternar
cambia a false. Se aplica a los controles Casilla y Alternancia.
AlEstarVisible: el comportamiento de una aplicación cuando el usuario navega a una pantalla. Se aplica al
control Pantalla.
AltoOriginal: el alto original de una imagen, habilitada con la propiedad CalculateOriginalDimensions. Se
aplica al control Imagen.
AnchoOriginal: el ancho original de una imagen, habilitada con la propiedad CalculateOriginalDimensions. Se
aplica al control Imagen.
Desbordamiento: indica si aparece una barra de desplazamiento en una etiqueta si su propiedad Wrap (Ajuste)
está establecida en verdadero y el valor de la propiedad Texto del control contiene más caracteres de los que
el control permite mostrar a la vez. Se aplica al control Etiqueta.
P
Padding: la distancia entre el texto de un botón Exportar o Importar y los bordes de ese botón. Se aplica a los
controles Add picture, Export y Import.
RellenoInferior: distancia entre el texto de un control y el borde inferior de ese control. Se aplica a muchos
controles.
RellenoIzquierdo: distancia entre el texto de un control y el borde izquierdo de ese control. Se aplica a muchos
controles.
RellenoDerecho: distancia entre el texto de un control y el borde derecho de ese control. Se aplica a muchos
controles.
RellenoSuperior: distancia entre el texto de un control y el borde superior de ese control. Se aplica a muchos
controles.
Página: el número de la página que desea mostrar. Se aplica al control Visor de PDF.
PageCount: el número de páginas de un documento. Se aplica al control Visor de PDF.
Paused: true si un control de reproducción multimedia está actualmente en pausa; en caso contrario, false. Se
aplica a los controles Audio y VÃ​deo.
Foto: la imagen que se captura cuando el usuario hace una foto. Se aplica al control Cámara.
Presionado: true mientras se presiona un control; en caso contrario, false. Se aplica al control Botón.
PressedBorderColor: el color de un borde del control cuando el usuario toca o hace clic en ese control. Se aplica
a muchos controles.
PressedColor: el color de texto de un control cuando el usuario toca o hace clic en ese control. Se aplica a muchos
controles.
PressedFill: el color de fondo de un control cuando el usuario toca o hace clic en ese control. Se aplica a muchos
controles.
R
RadioBackgroundFill: el color de fondo de los cÃ​rculos en un control de botón de radio. Se aplica al control
Radio.
RadioBorderColor: el color del cÃ​rculo de cada opción de un control de botón de radio. Se aplica al control
Radio.
RadioSelectionFill: el color que aparece dentro del cÃ​rculo de la opción seleccionada en un control de botón
de radio. Se aplica al control Radio.
TamañoDeBotónDeRadio: el diámetro de los cÃ​rculos de un control de botón de radio. Se aplica al control
Radio.
RadiusBottomLeft: el grado al que se redondea la esquina inferior izquierda de un control. Se aplica a muchos
controles.
RadiusBottomRight: el grado al que se redondea la esquina inferior derecha de un control. Se aplica a muchos
controles.
RadiusTopLeft: el grado al que se redondea la esquina superior izquierda de un control. Se aplica a muchos
controles.
RadiusTopRight: el grado al que se redondea la esquina superior derecha de un control. Se aplica a muchos
controles.
RellenoDeRaÃ​l: color de fondo del rectángulo en un control Alternar cuando su valor es false o color de la lÃ​-
nea a la derecha del identificador en un control deslizante. Se aplica a los controles Control deslizante y
Alternancia.
RellenoRaÃ​lAlMantenerPuntero: al mantener el puntero sobre un control Alternar o deslizante, color de fondo
del rectángulo del primero cuando su valor es false o color de la lÃ​nea a la derecha del identificador del
segundo. Se aplica a los controles Control deslizante y Alternancia.
RellenoDeClasificación: el color de las estrellas de un control de clasificación. Se aplica al control
Clasificación.
ReadOnly: indica si un usuario puede cambiar el valor de un control deslizante o el control de clasificación. Se
aplica a los controles Clasificación y Control deslizante.
Repetir: si un temporizador se reinicia automáticamente cuando finaliza la ejecución. Se aplica al control
Temporizador.
Required: indica si una tarjeta, al editar el campo de un origen de datos, debe contener un valor. Se aplica al
control Tarjeta.
Reset: indica si un control vuelve a su valor predeterminado. Se aplica a muchos controles. Consulte también la
función Reset.
S
Seleccionados: el elemento seleccionado. Se aplica a los controles Desplegable y GalerÃ​a.
SelectedDate: la fecha seleccionada actualmente en un control de fecha. Se aplica al control Selector de fecha.
ColorDeSelección: color del texto de los elementos seleccionados en una lista o de la herramienta de selección
de un control de entrada manuscrita. Se aplica a los controles Desplegable, Cuadro de lista y Entrada
manuscrita.
RellenoDeSelección: el color de fondo de uno o varios elementos seleccionados en una lista o un área
seleccionada de un control de entrada manuscrita. Se aplica a los controles Desplegable y Cuadro de lista.
GrosorDeSelección: el grosor de la herramienta de selección de un control de entrada manuscrita. Se aplica al
control Entrada manuscrita.
SelecciónMúltiple: si un usuario puede seleccionar más de un elemento en un cuadro de lista. Se aplica al
control Cuadro de lista.
SeriesAxisMax: el valor máximo del eje y en un gráfico de columnas o de lÃ​neas. Se aplica al control Gráfico
de columnas.
SeriesAxisMin: un número que determina el valor mÃ​nimo del eje y de un gráfico de columnas. Se aplica al
control Gráfico de columnas.
MostrarControles: indica si se muestra un reproductor de audio o vÃ​deo, por ejemplo, un botón de
reproducción y un control deslizante de volumen, y un control de entrada manuscrita muestra, por ejemplo,
iconos para dibujar, borrar y borrar todo. Se aplica a los controles Audio, Visor de PDF, Entrada manuscrita y
VÃ​deo.
ShowLabels: si un gráfico circular muestra el valor asociado a cada una de sus cuñas. Se aplica al control
Gráfico circular.
MostrarNavegación: si aparece una flecha en cada extremo de una galerÃ​a para que un usuario pueda
desplazarse por los elementos de la galerÃ​a haciendo clic en una flecha o pulsando en ella. Se aplica al control
GalerÃ​a.
MostrarBarraDesplazamiento: si aparece una barra de desplazamiento cuando el usuario mantiene el puntero
sobre una galerÃ​a. Se aplica al control GalerÃ​a.
MostrarValor: indica si el valor de un control deslizante o una clasificación aparece cuando el usuario cambia
ese valor o mantiene el puntero sobre el control. Se aplica a los controles Clasificación y Control deslizante.
Size: el tamaño de la fuente del texto que aparece en un control. Se aplica a muchos controles.
Ajustar: si, cuando un usuario se desplaza por una galerÃ​a, se ajusta automáticamente para que aparezca el
siguiente elemento en su totalidad. Se aplica al control GalerÃ​a.
Inicio: indica si se reproduce un clip de audio o vÃ​deo. Se aplica a los controles Audio, Temporizador y VÃ​deo.
HoraDeInicio: la hora después del inicio de un clip de audio o de vÃ​deo en que el clip empieza a reproducirse.
Se aplica a los controles Audio y VÃ​deo.
StartYear: el primer año en el que el usuario puede establecer el valor de un control de selector de fecha. Se
aplica al control Selector de fecha.
Secuencia: la imagen se actualiza automáticamente en la propiedad TasaSecuencia. Se aplica al control
Cámara.
TasaSecuencia: la frecuencia de actualización de la imagen en la propiedad Secuencia, en milisegundos. Este
valor puede oscilar entre 100 (1/10 centésimas de segundo) y 3 600 000 (1 hora). Se aplica al control Cámara.
Strikethrough: indica si aparece una lÃ​nea sobre el texto de un control. Se aplica a muchos controles.
T
RellenoDePlantilla: el color de fondo de una galerÃ​a. Se aplica al control GalerÃ​a.
EspaciadoInternoDePlantilla: la distancia entre los elementos de una galerÃ​a. Se aplica al control GalerÃ​a.
TamañoDePlantilla: el alto de la plantilla en una galerÃ​a con orientación vertical o el ancho de la plantilla en
una galerÃ​a con orientación horizontal. Se aplica al control GalerÃ​a.
Text: texto que aparece en un control o que el usuario escribe en un control. Se aplica a muchos controles.
Time: posición actual de un control multimedia. Se aplica a los controles Audio y VÃ​deo.
Información sobre herramientas: texto explicativo que aparece cuando el usuario mantiene el puntero sobre
un control. Se aplica a muchos controles.
Transición: el efecto visual (Emergente, Insertar o Ninguno) cuando el usuario mantiene el puntero sobre un
elemento de la galerÃ​a. Se aplica al control GalerÃ​a.
Transparencia: el grado de visibilidad de los controles de detrás de una imagen. Se aplica al control Imagen.
U
Underline: indica si aparece una lÃ​nea debajo del texto de un control. Se aplica a muchos controles.
Sin guardar: true si el control Formulario de edición contiene cambios de usuario que no se guardaron. Se
aplica al control Formulario de edición.
Actualizar: el valor que se reescribe en el origen de datos de un campo. Se aplica al control Tarjeta.
Actualizaciones: los valores que se escriben en el origen de datos de un registro cargado en un control de
formulario. Se aplica al control Formulario de edición.
V
Válido: si un control Tarjeta o Formulario de edición contiene entradas válidas listas para enviarse al origen
de datos. Se aplica a los controles Tarjeta y Formulario de edición.
Valor: el valor de un control de entrada. Se aplica a los controles Casilla, Radio, Control deslizante y
Alternancia.
RellenoDeValor: color de fondo del rectángulo en un control Alternar cuando su valor es true o color de la lÃ​-
nea a la izquierda del identificador en un control deslizante. Se aplica a los controles Control deslizante y
Alternancia.
RellenoValorAlMantenerPuntero: al mantener el puntero sobre un control Alternar o Control deslizante, color
de fondo del rectángulo del primero cuando su valor es true o color de la lÃ​nea a la izquierda del identificador
del segundo. Se aplica a los controles Control deslizante y Alternancia.
VerticalAlign: la ubicación del texto en un control respecto al centro vertical de ese control. Se aplica a muchos
controles.
Visible: indica si un control aparece o está oculto. Se aplica a muchos controles.
W
Width: la distancia entre los bordes derecho e izquierdo de un control. Se aplica a muchos controles.
WidthFit (AjusteDeAncho): indica si un control crece automáticamente en la horizontal para llenar el espacio
vacÃ​o de un control de contenedor, como un control Formulario de edición. Si varias tarjetas tienen esta
propiedad establecida en true, el espacio se divide entre ellas. Para más información, consulte Understand data
form layout in Microsoft PowerApps (Introducción al diseño de formularios de datos en Microsoft PowerApps).
Wrap (Ajuste): indica si el texto que es demasiado largo para caber en una etiqueta se ajusta a la lÃ​nea siguiente.
Se aplica al control Etiqueta.
WrapCount: el número de registros que aparecen en cada elemento de una galerÃ​a. Se aplica al control GalerÃ​-
a.
X
X: la distancia entre el borde izquierdo de un control y el borde izquierdo de su contenedor primario (la pantalla si
no hay un contenedor primario). Se aplica a muchos controles. Para un control Tarjeta en un contenedor con
varias columnas, esta propiedad determina la columna en la que aparece la tarjeta.
XLabelAngle: el ángulo de las etiquetas del eje x de un gráfico de columnas o de lÃ​neas. Se aplica a los
controles Gráfico de columnas y Gráfico de lÃ​neas.
Y
Y: la distancia entre el borde superior de un control y el borde superior de su contenedor primario (la pantalla si
no hay un contenedor primario). Se aplica a muchos controles. Para un control Tarjeta en un contenedor con
varias filas, esta propiedad determina la fila en la que aparece la tarjeta.
EjeYMáximo: el valor máximo del eje y de un gráfico de lÃ​neas. Se aplica al control Gráfico de lÃ​neas.
EjeYMÃ​nimo: el valor mÃ​nimo del eje y de un gráfico de lÃ​neas. Se aplica al control Gráfico de lÃ​neas.
YLabelAngle: el ángulo de las etiquetas del eje y de un gráfico de lÃ​neas o de columnas. Se aplica a los
controles Gráfico de columnas y Gráfico de lÃ​neas.
Z
Zoom: el porcentaje en que se amplÃ​a una imagen de una cámara o la vista de un archivo en un visor de PDF. Se
aplica a los controles Cámara y Visor de PDF.
Información general de los conectores de
PowerApps
23/03/2018 • 7 min to read • Edit Online

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.

Common Data Office 365 Outlook


Service

SharePoint Excel

SQL Server OneDrive para la


Empresa

Dynamics 365 OneDrive

Usuarios de Office Dropbox


365

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.

Todos los conectores


En la tabla siguiente se enumeran todos nuestros conectores. Para más información acerca de cada conector,
consulte la referencia de los conectores de Microsoft. Los conectores Premium requieren el plan 1 o el plan 2 de
PowerApps. Para más información, consulte los planes de PowerApps.

10to8 Appointment Scheduling Inoreader


Act! Insightly
Adobe Creative Cloud Instagram
Adobe Sign Instapaper
Amazon Redshift Intercom
Apache Impala JIRA
AppFigures JotForm
Approvals LeanKit
Asana LinkedIn
AWeber LiveChat
Azure AD LUIS
Azure Application Insights Correo
Azure Automation MailChimp
Azure Blob Storage Mandrill
Azure Cosmos DB Mediana
Azure Data Lake Microsoft Forms
Azure Event Grid Microsoft StaffHub
Azure Event Grid Publish Microsoft Teams
Azure File Storage Microsoft Translator
Azure Log Analytics MSN El Tiempo
Azure Log Analytics Data Collector Muhimbi PDF
Azure Queue MySQL
Azure Resource Manager Nexmo
Azure Table Storage Notificaciones
Basecamp 2 Office 365 Bookings
Basecamp 3 Office 365 Groups
Benchmark Email Office 365 Outlook
Bing Maps Usuarios de Office 365
Bing Search Office 365 Video
Bitbucket OneDrive
Bitly OneDrive para la Empresa
Bizzy (H3 Solutions, Inc.) OneNote (empresas)
Blogger Oracle Database
Box Outlook Customer Manager
bttn Tareas de Outlook
bttn Tareas de Outlook
Buffer Outlook.com
Calendly PagerDuty
Campfire Parserr
Cápsula CRM Paylocity
Chatter Pinterest
Cognito Forms Pipedrive
Common Data Service Pitney Bowes Data Validation
Computer Vision API Pivotal Tracker
Content Conversion Planner
Content Moderator Plivo
DB2 PostgreSQL
Disqus Power BI
DocFusion365 – SP PowerApps Notification
DocuSign Project Online
Dropbox Redmine
Dynamics 365 RSS
Dynamics 365 for Financials Salesforce
Dynamics for Operations SendGrid
Dynamics NAV Service Bus
Easy Redmine SFTP
Elastic Forms SharePoint
Event Hubs Skype Empresarial
Eventbrite Slack
Excel SmartSheet
API de reconocimiento facial SMTP
Facebook SparkPost
Sistema de archivos SQL Server
Flic Stripe
FlowForma SurveyMonkey
FreshBooks Teamwork Projects
Freshdesk Teradata
Freshservice Análisis de texto
FTP Todoist
GitHub Toodledo
Gmail Trello
Google Calendar Twilio
Google Contacts Twitter
Google Drive TypeForm
Google Sheets UserVoice
Google Tasks Video Indexer
GoToMeeting Vimeo
GoToTraining Visual Studio Team Services
GoToWebinar WebMerge
Harvest WordPress
HelloSign Wunderlist
HipChat Yammer
HTTP con Azure AD YouTube
Informix Zendesk
Infusionsoft

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.

Creación de aplicaciones en el entorno adecuado


Puede crear aplicaciones en entornos existentes a los que tiene acceso o en un entorno nuevo. Sin embargo, crear
su propio entorno requiere un plan especÃ​fico. Para más información, consulte este tema. Antes de crear una
aplicación, asegúrese siempre de que selecciona el entorno en el que desea que se encuentre la
aplicación. De lo contrario, tendrá que tratar con el traslado de aplicaciones entre entornos.
1. Si se encuentra en powerapps.com, seleccione el entorno en el que desea crear la aplicación. Si se
encuentra en PowerApps Studio o en PowerApps Studio para web, vaya al paso 4.
2. Seleccione + Nueva aplicación.
3. Seleccione Abrir PowerApps Studio o PowerApps Studio para web.
4. Cuando se abre PowerApps Studio o PowerApps Studio para web, vuelva a seleccionar el entorno en la
esquina superior derecha. Se mejorará esta experiencia en el futuro pero, en la versión actual, debe
seleccionar esta opción cada vez que desee crear una aplicación en un entorno nuevo.

5. En la página Cuenta, seleccione Cambiar junto al nombre del entorno actual.

6. Seleccione el entorno en el que desea crear la aplicación.


7. Seleccione Nuevo para comenzar a crear una aplicación. La aplicación ahora reside en el entorno
seleccionado en el paso 6.

Visualización de aplicaciones en el entorno adecuado


Si está trabajando en powerapps.com, PowerApps Studio para Windows o PowerApps Studio para web, la lista
de aplicaciones, conexiones, etc., que vea siempre se filtra según el entorno seleccionado en la lista desplegable.
Si no ve las aplicaciones que está buscando, confirme siempre si se ha seleccionado el entorno adecuado.
De nuevo, para cambiar los entornos de powerapps.com:

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

Agregado o cambiado recientemente


1. Cambio del diseño de los formularios de SharePoint
Al personalizar un formulario de lista de SharePoint en algunos idiomas, si se intenta cambiar el diseño de
vertical (valor predeterminado) a horizontal, la aplicación puede mostrar varios errores (triángulos
amarillos en controles). Para resolver estos errores y conservar el diseño horizontal, haga clic en
Deshacer.
2. La aplicación no funciona
Si una aplicación que ha creado deja de funcionar sin previo aviso, es posible que sea porque no la ha
actualizado o vuelto a publicar en los últimos seis meses. Para resolver el problema, actualice o vuelva a
publicar la aplicación para sincronizarla con la última versión de PowerApps y, a continuación,
asegúrese de volver a hacerlo periódicamente en un máximo de seis meses.
3. Control Data Table
Si copia y pega un control Data Table en el que la propiedad Elementos se ha establecido en una fórmula
que contenga una función Filter, la fórmula de la propiedad Elementos del nuevo control Data Table
termina una con nombres de campo que contienen el sufijo _1. Esto hace que los nombres de campo no
sean válidos y que no se muestren datos en la tabla de datos. Para solucionar este problema, antes de
copiar el control, confirme que la función Filter no hace referencia a ningún campo del origen de datos
que se llame igual que alguna columna del control Data Table. En caso de que haga referencia, cambie el
nombre de la columna en el control Data Table. O bien, quite el sufijo _1 sufijo de los nombres de campo
no válidos para que coincidan con los nombres de la entidad.
4. Controles de la cámara en PowerApps Studio para Windows
PowerApps Studio para Windows puede bloquearse si agrega un control de cámara o abre una aplicación
que utilice un control de cámara. Para evitar este problema, use PowerApps Studio para web cuando
agregue o use un control de cámara.
5. Versión 2.0.700 en dispositivos Android
Si instala la versión 2.0.700 en un dispositivo Android y no puede abrir aplicaciones (o una aplicación deja
de responder), desinstale PowerApps, reinicie el dispositivo y vuelva a instalar PowerApps.
6. GalerÃ​a "vacÃ​a" al abrir una aplicación
Si genera una aplicación automáticamente a partir de datos, guarda la aplicación y, a continuación,
vuelve a abrirla, la galerÃ​a podrÃ​a no mostrar datos inmediatamente. Para resolver este problema, escriba
al menos un carácter en el cuadro de búsqueda y, a continuación, elimine el texto que ha escrito. La
galerÃ​a mostrará los datos según lo previsto.
7. Actualización de PowerApps en Windows 8.1
Si instala PowerApps en un equipo que ejecuta Windows 8 o Windows 8.1, mantenga la aplicación de la
Tienda Windows abierta y activa, use el acceso a Configuración para comprobar si hay actualizaciones y, a
continuación, instálelas.
8. Conectores personalizados y Common Data Service
Si una aplicación creada con PowerApps compilación 2.0.540 o anterior está basada en una base de
datos de Common Data Service y al menos un conector personalizado en un entorno diferente, tendrá que
implementar el conector en el mismo entorno que la base de datos y actualizar la aplicación para que use
el nuevo conector. De lo contrario, un cuadro de diálogo notificará a los usuarios de que no se encontró
la API. Para más información, consulte Environments overview (Información general de los entornos).
9. Ejecución de una aplicación en Windows 8.1
Si instala esta actualización para Windows 8.1, no podrá ejecutar aplicaciones que se abran en PowerApps
Studio en ese sistema operativo. Sin embargo, todavÃ​a puede ejecutar aplicaciones que se abren en
powerapps.com o con PowerApps Mobile.
10. Nombres de columna con espacios
Si usa una lista de SharePoint o una tabla de Excel en la que un nombre de columna contenga un espacio,
PowerApps lo reemplazará 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.

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.

Seminarios web que se celebrarán en las próximas fechas


Connector Series | Project Online (PWA)
por Audrie Gordon
12 de marzo a las 10:00 (hora estándar del Pacífico), 13:00 (hora estándar del Este)
En esta demostración de Connector Series explicaremos el de las opciones del conector Project Online (también
conocido como PWA). Únase y realice todas las preguntas que desee acerca de la compilación de aplicaciones que
aprovechan las herramientas de administración de carteras y Project Online.
Haga clic aquí para verlo el 12 de marzo
Deep Dive | Building Server Patching Solutions with PowerApps by Brian Blanchard (Part 2) [En
profundidad | Compilación de soluciones de aplicación de revisiones a servidores con PowerApps por Brian
Blanchard (parte 2)]
por Brian Blanchard & Audrie Gordon
19 de marzo a las 10:00 (hora estándar del Pacífico), 13:00 (hora estándar del Este)
Es la segunda parte de la demostración de Brian Blanchard acerca de cómo compiló una aplicación para que su
equipo administrara las programaciones de aplicación de revisiones a servidores. En este seminario web
compartirá detalles tanto de la configuración de Azure Automation como de los flujos de trabajo avanzados en
Microsoft Flow. Enhorabuena, Brian, por aprovechar PowerApps y Flow para ahorrar tiempo y dinero al equipo.
Haga clic aquí para verlo el 19 de marzo
Deep Dive | Click-Through PowerApps Analytics by Vivek Bavishi (En profundidad | Análisis de clics mediante
PowerApps por Vivek Bavishi)
por Vivek Bavishi & Audrie Gordon
17 de abril a las 10:00 (hora estándar del Pacífico), 13:00 (hora estándar del Este)
Vivek Bavishi, del grupo International PowerApps Champions, y Audrie Gordon, del equipo de PowerApps, se unen
para explicar un método sencillo para crear su propio análisis de clics mediante PowerApps y Flow. Amplíe las
opciones de generación de informes para incluir estadísticas que permitan ver la forma en que los consumidores
de aplicaciones navegan por estas, lo que le permitirá usar datos para validar suposiciones acerca del uso y diseño
de aplicaciones. Los creadores de aplicaciones profesionales no deberían perderse esta presentación.
Haga clic aquí para verlo el 17 de abril
Connector Series | The Advantages of Leveraging the Common Data Service (Connector Series | Las ventajas
de hacer uso de Common Data Service)
por Audrie Gordon
23 de abril a las 10:30 hora del Pacífico, 13:30 hora estándar del Este
¿Ha empezado a explorar Common Data Service (también conocido como CDS)? ¿Está al día de las ventajas que
supone usar esquemas de datos comunes en las aplicaciones empresariales? ¿Conoce la expectación que han
despertado las atractivas novedades que han aparecido en ese tema?
En este seminario web se examinarán en profundidad las ventajas del uso de Common Data Service en todas las
suscripciones de Microsoft Cloud (para la habilitación de las aplicaciones Office 365, Azure y Dynamics 365). En
este seminario web, podrá ver en directo a dónde vamos con CDS y lo eficaz que será modelar aplicaciones con
esta plataforma. Estamos impacientes por mostrarle algunas de las posibilidades ilimitadas.
Haga clic aquí para verlo el 23 de abril

Seminarios web anteriores


Los seminarios web están disponibles a petición tras su difusión en directo. Tenga en cuenta que deberá volver a
escribir los detalles de registro y después recibirá un vínculo a la grabación por correo electrónico.
Serie de seminarios web de introducción
Get started with gallery controls (Introducción a los controles de galería)
por Audrie Gordon Regístrese y véalo ahora
Get started with formulas in PowerApps (Introducción al uso de fórmulas en PowerApps)
por Audrie Gordon Regístrese y véalo ahora
Get started with formulas in PowerApps (Introducción al uso de formularios en PowerApps)
por Audrie Gordon Véalo ahora
Top 5 Tips for Designing Apps that Mean Business (Cinco principales sugerencias para diseñar aplicaciones
serias)
por Audrie Gordon Véalo ahora
Getting started with PowerApps controls (Introducción a los controles de PowerApps)
por Audrie Gordon Véalo ahora
Get started with the Common Data Service (Introducción a Common Data Service)
por Jono Luk Véalo ahora
Temas profesionales
Deploying your PowerApps applications (Implementación de aplicaciones de PowerApps)
por James Oleinik Verlo ahora
Deep dive on PowerApps formulas (Profundización en las fórmulas de PowerApps)
por Greg Lindhorst Verlo ahora
Rebuilding an InfoPath Designer form in PowerApps (Generación de un formulario de InfoPath Designer en
PowerApps)
por Daniel Christian Véalo ahora
Connecting to on-premises data from PowerApps (Conexión a datos locales desde PowerApps)
por Archana Nair y Dimah Zaidalkilani Ver ahora
Application Lifecycle with the new Save and publish options in PowerApps (Ciclo de vida de la aplicación
con las nuevas opciones para guardar y publicar en PowerApps)
por Karthik Bharathy Véalo ahora
Pro Tips for Connecting to Excel on OneDrive for Business from PowerApps (Sugerencias profesionales para
conectarse a Excel en OneDrive para la Empresa desde PowerApps)
por Audrie Gordon Véalo ahora
Optimizing Connectors in PowerApps and Microsoft Flow (Optimización de los conectores en PowerApps y
Microsoft Flow)
por Theresa Palmer-Boroski Véalo ahora
Pro Tips for InfoPath Designers Transitioning to PowerApps - Part 1 (Sugerencias profesionales para
diseñadores de InfoPath que deseen realizar la transición a PowerApps, parte 1)
por Audrie Gordon Véalo ahora
Pro Tips for Transitioning from InfoPath to PowerApps - Part 2 (Sugerencias profesionales para pasar de
InfoPath a PowerApps, parte 2)
por Audrie Gordon Véalo ahora
Introducing List Forms in SharePoint Online (Introducción a los formularios de lista en SharePoint Online)
por Ankit Saraf Véalo ahora
Exploring Office Graph Templates (Exploración de plantillas de Office Graph)
por Emma Cooper Véalo ahora
PowerApps Community Opportunities & Rewards (Premios y oportunidades en la comunidad de PowerApps)
by Audrie Gordon & Mackenzie Lyng Véalo ahora
Overview of PowerApps Feature Releases for 2017 (Introducción a las versiones futuras de PowerApps para
2017)
por Darshan Desai Véalo ahora
PowerApps Focus on Using the Lookup Function (PowerApps, uso de la función de búsqueda)
por Audrie Gordon Véalo ahora
New Office Graph Templates (Part 2) [Nuevas plantillas de Office Graph (parte 2)]
por Emma Cooper Véalo ahora
Using PowerApps and Flow to create Line of Business "portals" (Uso de PowerApps y Flow para crear
"portales" de línea de negocios)
por Vishwas Lele Véalo ahora
Working with Connectors: Using the Planner Connector (Trabajar con conectores: uso del conector de
Planner)
por Audrie Gordon Véalo ahora
Getting Started | Product Integrations: Teams + PowerApps Tips and Tricks (Introducción | Integraciones de
productos: consejos y sugerencias para usar Teams + PowerApps)
por Audrie Gordon Véalo ahora
Connector Series | The Power of Office Graph with PowerApps (Connector Series | La potencia del uso de
Office Graph con PowerApps)
por Audrie Gordon Véalo ahora
Profundización | Compilación de soluciones para aplicar revisiones en servidores con PowerApps, por
Brian Blanchard
por Brian Blanchard & Audrie Gordon Ver ahora
Temas del Diseñador de aplicaciones
Look behind the curtain with one of the PowerApps Developers - A closer look at templates: Marie
Hoeger (Descubra lo que sucede entre bastidores con una desarrolladora de PowerApps, un examen más detallado
de las plantillas: Marie Hoeger)
por Audrie Gordon Véalo ahora
Rapidly build applications with PowerApps Studio (Creación rápida de aplicaciones con PowerApps Studio)
por Karthik Bharathy Véalo ahora
Información general sobre la compilación de una
aplicación controlada por modelos
09/04/2018 • 13 min to read • Edit Online

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.

El diseño de aplicaciones controladas por modelos proporciona las ventajas siguientes:


Entornos de diseño sin código centrados en componentes enriquecidos.
Crear aplicaciones complejas con capacidad de respuesta con una interfaz de usuario similar en una variedad
de dispositivos, de escritorio y móviles.
Capacidad de diseño similar a la que ofrece la plataforma Dynamics 365 Customer Engagement.
La aplicación se puede distribuir como una solución.

El enfoque a la creación de aplicaciones controladas por modelos


En un nivel fundamental, la creación de aplicaciones controladas por modelos consta de tres áreas de enfoque
clave.
Modelado de datos de negocio
Definición de procesos de negocio
Composición de la aplicación
Modelado de datos de negocio
Para modelar los datos de negocio, se determina qué datos va a necesitar la aplicación y cómo se relacionan
esos datos con otros. En el diseño controlado por modelos se usa una arquitectura controlada por metadatos
para que los diseñadores puedan personalizar la aplicación sin tener que escribir código. Los metadatos
significan "datos sobre datos" y definen la estructura de los datos almacenados en el sistema.
Definición de procesos de negocio
La definición y aplicación de procesos de negocio coherentes son un aspecto clave del diseño de aplicaciones
controladas por modelos. Los procesos coherentes ayudan a asegurar que los usuarios de la aplicación se
centran en su trabajo y no en recordar que tienen que realizar un conjunto de pasos manuales. Los procesos
pueden ser simples o complejos, y a menudo cambian con el tiempo. Para crear un proceso, haga clic en
Opciones avanzadas para abrir el Explorador de soluciones. Después, en el panel de navegación de la
izquierda en el Explorador de soluciones, seleccione Procesos y, después, haga clic en Nuevo. Más
información: Trabajar con la lógica de negocios
Composición de la aplicación
Después de modelar los datos y definir los procesos, para compilar la aplicación se seleccionan y configuran
los componentes necesarios mediante el Diseñador de aplicaciones.

Componentes y diseñadores de aplicaciones controladas por


modelos
Una aplicación controlada por modelos bien diseñada consta de varios componentes que el diseñador
selecciona para crear la apariencia y funcionalidad de la aplicación terminada. Los componentes y las
propiedades de componente que usan los diseñadores para crear una aplicación se convierten en los
metadatos. Para entender cómo se relaciona cada uno de estos componentes con el diseño de aplicaciones,
aquÃ​ se separan en las categorÃ​as datos, interfaz de usuario, lógica y visualización.
Datos
Estos componentes determinan en qué datos se va a basar la aplicación.

COMPONENTE DESCRIPCIóN DISEñADOR


COMPONENTE DESCRIPCIóN DISEñADOR

Entidad Un elemento con propiedades del que Diseñador de entidades de


se realiza el seguimiento, por ejemplo, PowerApps
un contacto o una cuenta. Existen
muchas entidades estándar. Se puede
personalizar una entidad estándar que
no sea del sistema (entidad de
producción) o crear una entidad
personalizada desde cero.

Campo Una propiedad que está asociada a Diseñador de entidades de


una entidad. Un campo se define por PowerApps
un tipo de datos, que determina el tipo
de datos que se pueden escribir o
seleccionar. Algunos ejemplos son
texto, número, fecha y hora, moneda o
búsqueda (crea una relación con otra
entidad). Normalmente, los campos se
usan con formularios, vistas y
búsquedas.

Relación Las relaciones de entidad definen Diseñador de entidades de


cómo se pueden relacionar las PowerApps
entidades entre sÃ​. Los tipos de
relaciones disponibles son 1:N (uno a
varios), N:1 (varios a uno) y N:N (varios
a varios). Por ejemplo, agregar un
campo de búsqueda a una entidad
crea una relación 1:N entre las dos
entidades y le permite colocar ese
campo de búsqueda en un formulario.

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.

COMPONENTE DESCRIPCIóN DISEñADOR

App Determina los elementos Diseñador de aplicaciones


fundamentales de la aplicación, como
los componentes, las propiedades, el
tipo de cliente y la dirección URL de la
aplicación.
COMPONENTE DESCRIPCIóN DISEñADOR

Mapa del sitio Especifica la navegación de la Diseñador de mapa del sitio


aplicación.

Formulario Un conjunto de campos de entrada de Diseñador de formularios


datos para una entidad determinada
que coincide con los elementos de los
que la organización realiza el
seguimiento para la entidad. Por
ejemplo, un conjunto de campos de
entrada de datos donde los usuarios
introducen la información pertinente
para realizar el seguimiento de los
pedidos anteriores de un cliente junto
con las fechas especÃ​ficas de la solicitud
de los nuevos pedidos.

Ver Las vistas definen cómo se muestra Diseñador de vistas


una lista de registros para una entidad
especÃ​fica en la aplicación. Una vista
define las columnas para mostrar, el
ancho de cada columna, el
comportamiento de ordenación y los
filtros predeterminados.

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.

TIPO DE LóGICA DESCRIPCIóN DISEñADOR


TIPO DE LóGICA DESCRIPCIóN DISEñADOR

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.

Acciones Las acciones son un tipo de proceso Diseñador de procesos


que permite invocar acciones
manualmente, incluidas las acciones
personalizadas, directamente desde un
flujo de trabajo.

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.

Flujo Flow es un servicio basado en la nube Microsoft Flow


que permite crear flujos de trabajo
automatizados entre aplicaciones y
servicios para obtener notificaciones,
sincronizar archivos, recopilar datos y
mucho más.
Visualizaciones
Determina qué tipo de visualizaciones de datos e informes estarán disponibles para la aplicación.

COMPONENTE DESCRIPCIóN DISEñADOR

Gráfico Una sola visualización gráfica que se Diseñador de gráficos


puede mostrar dentro de una vista, en
un formulario o se puede agregar a un
panel.

Panel Funciona como una paleta para una o Diseñador de paneles


más visualizaciones gráficas que
proporcionan una visión general de los
datos de negocio que requieren
acción.

Embedded Power BI Agregue iconos y paneles de Embedded Combinación del diseñador de


Power BI a la aplicación. Power BI es gráficos, el diseñador de paneles y
un servicio basado en la nube que Power BI
proporciona información de
inteligencia empresarial.
Creación de aplicaciones controladas por modelos avanzadas
El Explorador de soluciones es una herramienta completa que se usa para la compilación de aplicaciones
controladas por modelos avanzadas. En el Explorador de soluciones se puede navegar a través de una jerarquÃ​a
formada por todos los componentes de aplicación mediante el panel de navegación del lado izquierdo de la
herramienta.

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.

Recursos de desarrollo de aplicaciones controladas por modelos


Para obtener más información sobre el desarrollo de aplicaciones controladas por modelos, vea estos temas.
Modelado y composición de la aplicación
Diseñar aplicaciones empresariales personalizadas mediante el diseñador de aplicaciones
Crear o editar entidades
Crear y diseñar formularios
Crear y editar campos
Crear y editar conjuntos de opciones globales
Comprender las vistas
Crear y editar relaciones entre entidades
Trabajar con lógica de negocios
Información general sobre flujos de proceso de negocio
Procesos del flujo de trabajo
Información general sobre las acciones
Crear reglas de negocio y recomendaciones para aplicar lógica en un formulario
Uso de visualizaciones en la aplicación
Crear o editar un gráfico del sistema
Crear o editar paneles
Distribución de la aplicación
Crear una solución

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.

Inicio de sesión en PowerApps


Inicie sesión en PowerApps. Si todavÃ​a no tiene una cuenta de PowerApps, haga clic en el vÃ​nculo Inicio
gratuito.

Compartir una aplicación


En el tutorial se sigue a la empresa Contoso, que tiene un negocio de peluquerÃ​a para mascotas para perros y
gatos. Ya se ha creado y publicado una aplicación que contiene una entidad personalizada para el seguimiento de
la empresa de peluquerÃ​a para mascotas. Ahora, la aplicación debe compartirse para que el personal de la
empresa pueda usarla. Para compartir la aplicación, un administrador o el creador de la aplicación asigna uno o
varios roles de seguridad a los usuarios y la aplicación.

Crear o configurar un rol de seguridad


En el entorno de PowerApps se incluyen roles de seguridad predefinidos que reflejan las tareas comunes de
usuario con niveles de acceso definidos para que coincidan con el objetivo de procedimiento recomendado de
seguridad de proporcionar acceso a la cantidad mÃ​nima de datos de negocio necesarios para usar la aplicación.
Recuerde que la aplicación de peluquerÃ​a para mascotas de Contoso se basa en una entidad personalizada. Como
la entidad es personalizada, se deben especificar los privilegios de forma explÃ​cita antes de que los usuarios
puedan trabajar en ella. Para ello, se puede realizar una de las acciones siguientes:
Expandir un rol de seguridad predefinido existente para que incluya los privilegios en registros en función de la
entidad personalizada.
Crear un rol de seguridad personalizado con el fin de administrar privilegios para los usuarios de la aplicación.
Como el entorno en el que se van a mantener los registros de peluquerÃ​a para mascotas también se usa para
otras aplicaciones que ejecuta la empresa Contoso, se creará un rol de seguridad personalizado especÃ​fico para la
aplicación de peluquerÃ​a para mascotas. Además, se necesitan dos conjuntos diferentes de privilegios de acceso.
Los técnicos de peluquerÃ​a para mascotas solo necesitan leer, actualizar y adjuntar otros registros, por lo que
su rol de seguridad tendrá privilegios de lectura, escritura y anexar.
Los programadores de peluquerÃ​a para mascotas necesitan todos los privilegios que tienen los técnicos,
además de la capacidad de crear, anexar, eliminar y compartir, de modo que su rol de seguridad tendrá
privilegios para crear, leer, escribir, anexar, eliminar, asignar, anexar a y compartir.
Para obtener más información sobre los privilegios de acceso y ámbito, vea Roles de seguridad.

Crear un rol de seguridad personalizado


1. En el sitio de PowerApps, seleccione Basado en modelos > Aplicaciones > ...> VÃ​nculo Compartir.
2. Desde el cuadro de diálogo Compartir esta aplicación, en Crear un rol de seguridad, haga clic en
Configuración de seguridad.
3. En la página Configuración, haga clic en Nuevo.
4. Desde el Diseñador de roles de seguridad se seleccionan las acciones, como lectura, escritura o
eliminación, y el ámbito para realizar esa acción. El ámbito determina la profundidad o altura dentro de
la jerarquÃ​a de entornos a la que el usuario puede realizar una acción concreta. En el cuadro Nombre del
rol escriba Técnicos de peluquerÃ​a para mascotas.
5. Haga clic en la pestaña Entidades personalizadas y, después, busque la entidad personalizada que quiere.
En este ejemplo, se usará la entidad personalizada denominada Mascota.
6. En la fila Mascota, seleccione cuatro veces cada uno de los privilegios siguientes hasta que se seleccione :
Leer, Escribir, Anexar

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.

Asignar roles de seguridad a los usuarios


Los roles de seguridad controlan el acceso de un usuario a los datos a través de un conjunto de permisos y
niveles de acceso. La combinación de niveles de acceso y permisos que se incluyen en un rol de seguridad especÃ​-
fico establece los lÃ​mites en la vista de los datos del usuario y en las interacciones del usuario con esos datos.
Asignar un rol de seguridad a los técnicos de peluquerÃa para mascotas
1. Desde el cuadro de diálogo Compartir esta aplicación, en Assign users to the security role (Asignar
usuarios al rol de seguridad), haga clic en Usuarios de seguridad.
2. En la lista que aparece, seleccione los cuidadores de mascotas.
3. Haga clic en Administrar roles.

4. En el cuadro de diálogo Administrar roles de usuario, seleccione el rol de seguridad Técnicos de


peluquerÃ​a para mascotas que creó anteriormente y, después, haga clic en Aceptar.
Asignar un rol de seguridad a los programadores de peluquerÃa para mascotas
1. Desde el cuadro de diálogo Compartir esta aplicación, en Assign users to a security role (Asignar
usuarios a un rol de seguridad), haga clic en Usuarios de seguridad.
2. En la lista que aparece, seleccione los programadores de peluquerÃ​a para mascotas.
3. Haga clic en Administrar roles.
4. En el cuadro de diálogo Administrar roles de usuario, seleccione el rol de seguridad Programadores de
peluquerÃ​a para mascotas que creó anteriormente y, después, haga clic en Aceptar.

Agregar roles de seguridad a la aplicación


Después, será necesario asignar uno o varios roles de seguridad a la aplicación. Los usuarios tendrán acceso a
las aplicaciones en función de los roles de seguridad que tengan asignados.
1. Desde el cuadro de diálogo Compartir esta aplicación, en Add the security role to your app (Agregar el
rol de seguridad a la aplicación), haga clic en Mis aplicaciones.
2. En la esquina inferior derecha del icono de aplicación de la aplicación de peluquerÃ​a para mascotas de
Contoso, haga clic en Más opciones (...) y, después, seleccione Administrar roles.
3. En la sección Roles, puede elegir si quiere dar acceso a la aplicación a todos los roles de seguridad o a los
roles seleccionados. Seleccione los roles Programadores de peluquerÃ​a para mascotas y Técnicos de
peluquerÃ​a para mascotas que creó anteriormente.

4. Seleccione Guardar.

Compartir el vÃnculo a la aplicación


1. Desde el cuadro de diálogo Compartir esta aplicación, en Share the link to your app directly with
users (Compartir el vÃ​nculo a la aplicación directamente con los usuarios), copie la dirección URL que se
muestra.
2. Haga clic en Cerrar.
3. Pegue la URL de la aplicación en una ubicación a la que los usuarios puedan tener acceso, por ejemplo
publicándola en un sitio de SharePoint o enviándola por correo electrónico.
También puede encontrar la dirección URL de la aplicación en la pestaña Propiedades del diseñador de la
aplicación.

Acerca de los roles de seguridad predefinidos


Estos roles predefinidos están disponibles con un entorno de PowerApps.
ROL DE SEGURIDAD *PRIVILEGIOS DESCRIPCIóN

Creador de entorno Ninguno Puede crear recursos asociados a un


entorno, incluidas aplicaciones,
conexiones, API personalizadas, puertas
de enlace y flujos con Microsoft Flow.
Pero no tiene privilegios para tener
acceso a los datos dentro de un
entorno. Más información:
Environments overview (Información
general de los entornos).

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

*El privilegio es de ámbito global, a menos que se especifique lo contrario.

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.

¿Por qué usar Common Data Service for Apps?


Las entidades de Common Data Service, tanto estándar como personalizadas, permiten una opción de
almacenamiento seguro en la nube para los datos. Las entidades le permiten crear una definición centrada en la
empresa de los datos para usarla en las aplicaciones. Si no está seguro de si las entidades son la mejor opción,
tenga en cuenta estas ventajas:
Fáciles de administrar: tanto los metadatos como los datos se almacenan en la nube. No tiene que
preocuparse por los detalles de cómo se almacenan.
Fáciles de compartir: puede compartir fácilmente datos con sus compañeros porque PowerApps
administra los permisos.
Fáciles de proteger: los datos se almacenan de forma segura para que los usuarios solo los puedan ver si se
les concede acceso. La seguridad basada en roles le permite controlar el acceso a entidades de los diferentes
usuarios dentro de la organización.
Metadatos completos: los tipos de datos y las relaciones se usan directamente desde dentro de PowerApps.
Por ejemplo, la definición de una dirección URL de tipo de campo presentará los datos como un hipervÃ​-
nculo dentro de la aplicación.
Lógica y validación: defina campos calculados, reglas de negocio, flujos de trabajo y flujos de procesos de
negocio para garantizar la calidad de los datos y controlar los procesos empresariales.
Herramientas de productividad: las entidades están disponibles en los complementos para que Microsoft
Excel aumente la productividad y garantice que se pueda tener acceso a los datos.
Al desarrollar una aplicación, puede usar entidades estándar, entidades personalizadas o ambas. Si una entidad
estándar puede servir para un fin determinado de su aplicación, es mejor utilizarla en lugar de desarrollar una
entidad personalizada que haga lo mismo. Si una entidad estándar sirve para una finalidad con solo realizar
unos pocos cambios, puede agregar campos para adaptarlos a sus necesidades.
Common Data Service proporciona entidades estándar de forma predeterminada. Están diseñadas, de
acuerdo con los procedimientos recomendados, para plasmar los conceptos más comunes de una
organización, como contactos, cuentas y productos. Para obtener una lista completa de entidades, consulte
Entidades estándar.
Puede ampliar la funcionalidad de entidades estándar mediante la creación de una o varias entidades
personalizadas para almacenar información exclusiva de su organización. Para más información, consulte
Crear una entidad personalizada.

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.

Interactuar con las entidades


Cuando se usa una entidad estándar o se crea una entidad personalizada, existen varios elementos disponibles
dentro de cada una y se pueden realizar diferentes acciones. Las caracterÃ​sticas que se tienen que usar se
determinarán en función de lo simple o avanzado que sea el escenario de negocio. Para ver las entidades
disponibles dentro del entorno, inicie sesión en PowerApps, haga clic en Datos y después en Entidades en el
menú de la izquierda.
Campos del sistema
Todas las entidades, ya sean estándar o personalizadas, se crean con un conjunto de campos de solo lectura que
no se pueden cambiar, eliminar ni establecer para un valor. Estos son los campos más importantes del sistema:
Cada campo permite definir una parte de la información que se va a recopilar y el formato o el tipo de datos
que le gustarÃ​a mostrar. Los campos son similares a las columnas de las bases de datos o Excel.
Las claves alternativas permiten la búsqueda eficaz y precisa y la interacción con los registros de la entidad
cuando no se usa el identificador estándar. Esto es especialmente importante cuando se usa una clave
empresarial o se realiza la integración con un sistema externo.
Cada entidad puede tener varias relaciones con otras entidades para admitir búsquedas y consultas entre
entidades. Se pueden crear relaciones para admitir relaciones varios a uno, uno a varios y varios a varios.
Las vistas permiten presentar cada entidad de varias formas, incluidos qué campos se muestran, para filtrar
y ordenar los datos. Estas presentaciones se guardan como vistas y se pueden usar en otras aplicaciones; por
ejemplo, es posible que solo quiera ver Cuentas activas dentro de la aplicación, por lo que usarÃ​a una vista
con un filtro previo para mostrar solo las cuentas activas para evitar repetir el filtro en cada aplicación que lo
usa.
Se pueden usar reglas de negocio para validar los datos que se crean y actualizan en las entidades para
garantizar la calidad de los datos. Cada regla de negocio puede 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.
Los datos almacenados en Common Data Service están disponibles a través del portal de PowerApps,
PowerApps, Microsoft Excel y las API web para desarrolladores.

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).

Enviar datos a Common Data Service


Hay varias maneras de empezar a enviar datos a Common Data Service:
Cree una PowerApp o un flujo para empezar a crear los datos.
Use Power Query para conectarse a un origen de datos en lÃ​nea o local, e importarlos directamente a
Commmon Data Service. Power Query también permite crear las entidades durante la importación en
función del esquema del origen, asÃ​ como realizar transformaciones en los datos durante la importación.
Para obtener más información, vea: Add data to an entity in the Common Data Service by using Power
Query (Adición de datos a una entidad en Common Data Service mediante Power Query)

Funciones para desarrolladores


Además de las caracterÃ​sticas disponibles a través del portal de PowerApps, Common Data Service también
incluye caracterÃ​sticas para desarrolladores para tener acceso mediante programación a los metadatos y datos
para crear entidades y lógica de negocios, asÃ​ como para interactuar con los datos. Para obtener más
información, vea Common Data Service for Apps Developer Overview (Introducción para desarrolladores de
Common Data Service for Apps).

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.

Crear una entidad


1. En powerapps.com, expanda la sección Datos y pulse o haga clic en Entidades en el panel de navegación
de la izquierda.

2. En la barra de comandos, pulse o haga clic en Nueva entidad.


3. En el campo Nombre para mostrar, escriba un nombre que sea fácilmente reconocible para hacer
referencia a esta entidad en el futuro. Esto también se usa en formularios, gráficos y otros objetos
creados con esta entidad. Observará que se rellenan otros dos campos:
Nombre para mostrar en plural: se usa al interactuar con esta entidad desde PowerApps o Flow, y se usa
como el nombre de la entidad en la API web de Common Data Service. El nombre en plural se debe
generar de forma automática, pero se puede cambiar.
Nombre: este es el nombre único de la entidad, no puede contener caracteres especiales ni espacios
y debe ser único. El nombre también incluye un prefijo que se estableció cuando se creó el
entorno y que se usa para garantizar que las entidades que se crean se puedan importar y exportar
en otros entornos sin que estén en conflicto con otros nombres de entidad. Este prefijo se puede
cambiar si se actualiza el prefijo en el editor para la solución predeterminada de Common Data
Service.

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.

4. Haga clic en Siguiente y se le dirigirá a la página de detalles de la entidad. De forma predeterminada,


todas las entidades se inician con un campo, "Nombre principal", que se usa cuando se crean búsquedas
sobre esta entidad. Por lo general, se debe usar para almacenar el nombre o la descripción principal de los
datos que se almacenan en la entidad.

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".

Campos del sistema


Todas las entidades tienen campos del sistema. Estos campos son de solo lectura. Por tanto, no se pueden
modificar ni eliminar, y tampoco se les asignan valores. De forma predeterminada, los campos del sistema no se
mostrarán en la lista de campos, aunque existan en la entidad. Para ver todos los campos, puede cambiar el filtro
en la barra de comandos de Predeterminado a Todo.
Para obtener más información sobre los metadatos relacionados con una entidad, vea Metadatos de entidad

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.

Especificar los datos de origen


1. Inicie sesión en PowerApps y pulse o haga clic en la flecha hacia abajo para Datos cerca del borde
izquierdo.

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.

Especificar la entidad de destino


1. En Configuración de carga, haga clic en Load to new entity (Cargar en la nueva entidad).
Se puede asignar otro nombre o nombre para mostrar a la entidad nueva, pero para seguir este tutorial
exactamente, deje los valores predeterminados.
2. En la lista Campo de nombre principal, pulse o haga clic en ContactName y después en Siguiente
en la esquina inferior derecha.
Puede especificar otro campo de nombre principal diferente, asignar otra columna de la tabla de origen a
cada campo de la entidad que se está creando o hacer las dos cosas. Para seguir este tutorial exactamente,
mantenga la asignación de columnas predeterminada.
3. Cuando el Estado de la carga sea Completado, haga clic en Listo en la esquina inferior derecha.
4. En Datos (cerca del borde izquierdo), haga clic en Entidades para mostrar la lista de entidades de la base
de datos.
La entidad Customers que se ha creado a partir de una fuente de OData aparece como una entidad
personalizada.

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.

Sesiones de Microsoft Ignite


Muchas de las sesiones de la conferencia de Microsoft Ignite están grabadas y se pueden ver en Microsoft Ignite
On-Demand. Busque "PowerApps" y "Common Data Model".

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.

También podría gustarte