Operadores y tipos de datos de PowerAppsOperators and data types in PowerApps

Algunos de estos operadores dependen del idioma del autor.Some of these operators are dependent on the language of the author. Para más información, consulte Aplicaciones globales.See Global apps for more information.

SímboloSymbol TipoType SintaxisSyntax DescripciónDescription
.. Selector de propiedadProperty Selector Slider1.Value
Color.Red
Acceleration.X
Slider1.Value
Color.Red
Acceleration.X
Extrae una propiedad de una tabla, control, señal o enumeración.Extracts a property from a table, control, signal, or enumeration. Para lograr compatibilidad con versiones anteriores, también se puede usar !For backwards compatibility, ! .may also be used.
..
(o , en función del idioma)[or , depending on the language]
Separador decimalDecimal separator 1.231.23
[o 1,23 en función del idioma][or 1,23 depending on the language]
Separador entre las partes entera y fraccionaria de un número.Separator between whole and fractional parts of a number. El carácter depende del idioma.The character is dependent on the language.
( )( ) ParéntesisParentheses Filtrar(T, A < 10)Filter(T, A < 10)

(1 + 2) * 3(1 + 2) * 3
Aplica el orden de prioridad y agrupa las subexpresiones en una expresión mayorEnforces precedence order, and groups sub-expressions in a larger expression
+ Operadores aritméticosArithmetic operators 1 + 21 + 2 SumaAddition
-   2 - 12 - 1 Resta y signoSubtraction and sign
\*   2 * 32 * 3 MultiplicaciónMultiplication
/   2 / 32 / 3 División (consulte también la función Resto)Division (also see the Mod function)
^   2 ^ 32 ^ 3 Exponenciación, equivalente a la función PotenciaExponentiation, equivalent to the Power function
%   20 %20% Porcentaje (equivalente a "* 1/100")Percentage (equivalent to "* 1/100")
= Operadores de comparaciónComparison operators Precio = 100Price = 100 Igual aEqual to
>   Precio > 100Price > 100 Más deGreater than
>=   Precio >= 100Price >= 100 Mayor o igual queGreater than or equal to
<   Precio < 100Price < 100 Menos deLess than
<=   Precio <= 100Price <= 100 Menor o igual queLess than or equal to
<>   Precio <> 100Price <> 100 No igual aNot equal to
& Operador de concatenación de cadenasString concatenation operator "hello" & " " & "world""hello" & " " & "world" Hace que varias cadenas aparezcan continuasMakes multiple strings appear continuous
&& o And&& or And Operadores lógicosLogical operators Precio < 100 && Slider1.Value = 20Price < 100 && Slider1.Value = 20
o Price < 100 And Slider1.Value = 20or Price < 100 And Slider1.Value = 20
Conjunción lógica, equivalente a la función YLogical conjunction, equivalent to the And function
|| u Or|| or Or   Price < 100 || Slider1.Value = 20 o Price < 100 Or Slider1.Value = 20Price < 100 || Slider1.Value = 20 or Price < 100 Or Slider1.Value = 20 Disyunción lógica, equivalente a la función OrLogical disjunction, equivalent to the Or function
!! o Notor Not   !(Price < 100) o Not (Price < 100)!(Price < 100) or Not (Price < 100) Negación lógica, equivalente a la función NoLogical negation, equivalent to the Not function
exactinexactin Operadores de pertenenciaMembership operators Gallery1.Selected exactin SavedItemsGallery1.Selected exactin SavedItems Perteneciente a una colección o una tablaBelonging to a collection or a table
exactinexactin   "Windows" exactin "Para mostrar ventanas en el sistema de operativo Windows...""Windows" exactin “To display windows in the Windows operating system...” Prueba de subcadena (distingue mayúsculas de minúsculas)Substring test (case-sensitive)
inin   Gallery1.Selected in SavedItemsGallery1.Selected in SavedItems Perteneciente a una colección o una tablaBelonging to a collection or a table
inin   "El" en "El teclado y el monitor...""The" in "The keyboard and the monitor..." Prueba de subcadena (no distingue mayúsculas de minúsculas)Substring test (case-insensitive)
@ Operador de desambiguaciónDisambiguation operator MyTable[@fieldname]MyTable[@fieldname] Desambiguación de campoField disambiguation
@   [@MyVariable][@MyVariable] Desambiguación globalGlobal disambiguation
,,
(o ; en función del idioma)[or ; depending on the language]
Separador de listaList separator If( X < 10, "Bajo", "Bien" )If( X < 10, "Low", "Good" )
{ X: 12, Y: 32 }{ X: 12, Y: 32 }
[ 1, 2, 3 ][ 1, 2, 3 ]
[o If( X < 10; "Bajo"; "Bien" )
{ FirstName: "Juana"; LastName: "Directora" }
[ 1; 2; 3 ]
]
[or If( X < 10; "Low"; "Good" )
{ FirstName: "Jane"; LastName: "Doe" }
[ 1; 2; 3 ]
]
Separa:Separates: .. Este carácter depende del idioma.This characters is dependent on the language.
;;
(o ;; en función del idioma)[or ;; depending on the language]
Encadenamiento de fórmulasFormula chaining Recopilar(T, A); Navegar(S1, "")Collect(T, A); Navigate(S1, "")
[o Recopilar(T; A);; Navegar(S1; "")][or Collect(T; A);; Navigate(S1; "")]
Separar invocaciones de funciones en las propiedades del comportamiento.Separate invocations of functions in behavior properties. El operador de encadenamiento depende del idioma.The chaining operator is dependent on the language.
ParentParent Operador ParentParent operator Parent.FillParent.Fill Acceso a las propiedades de un contenedor de controlAccess to properties of a control container
ThisItemThisItem Operador ThisItemThisItem operator ThisItem.FirstNameThisItem.FirstName Acceder a los campos de una galería o un control de formularioAccess to fields of a Gallery or form control

operadores in y exactinin and exactin operators

Los operadores in y exactin se pueden usar para buscar una cadena en un origen de datos, como una colección o una tabla importada.You can use the in and exactin operators to find a string in a data source, such as a collection or an imported table. El operador in identifica coincidencias, independientemente del caso, mientras que exactin identifica coincidencias solo si coinciden las mayúsculas.The in operator identifies matches regardless of case, and the exactin operator identifies matches only if they're capitalized the same way. Este es un ejemplo:Here's an example:

  1. Cree o importe una colección denominada Inventario y muéstrela en una galería, como describe el primer procedimiento de Show images and text in a gallery, including gallery selection, sort, and filter (Mostrar texto e imágenes de una galería, incluidos la selección, ordenación y filtro de la galería).Create or import a collection named Inventory, and show it in a gallery, as the first procedure in Show images and text in a gallery describes.
  2. Establezca la propiedad Elementos de la galería en esta fórmula:Set the Items property of the gallery to this formula:
    Filtrar(Inventory, "E" in ProductName)Filter(Inventory, "E" in ProductName)

    La galería muestra todos los productos, excepto Callisto, porque el nombre de ese producto es el único que no contiene la letra que ha especificado.The gallery shows all products except Callisto because the name of that product is the only one that doesn't contain the letter you specified.

  3. Cambie la propiedad Elementos de la galería a esta fórmula:Change the Items property of the gallery to this formula:
    Filtrar(Inventory, "E" exactin ProductName)Filter(Inventory, "E" exactin ProductName)

    La galería muestra solo Europa, porque es la única palabra que contiene la letra que ha especificado con el uso de mayúsculas y minúsculas que ha especificado.The gallery shows only Europa because only its name contains the letter that you specified in the case that you specified.

Operador ThisItemThisItem operator

Puede mostrar datos en los controles Galería, Formulario de edición o Formulario de presentación enlazándolos a una tabla o una colección.You can show data in Gallery, Edit form, or Display form controls by binding it to a table or a collection. Estos controles son un contenedor para otros controles y tarjetas.These controls are a container for other cards and controls. Todas las tarjetas o controles del contenedor pueden acceder a los datos enlazados a través del operador ThisItem.Each card or control within the container can access the bound data through the ThisItem operator.

El operador ThisItem se usa para especificar la columna de datos de cada tarjeta o control en el control externo.You use the ThisItem operator to specify the column of data that each card or control within the outer control. Por ejemplo, el operador de la galería de productos de Show images and text in a gallery, including gallery selection, sort, and filter (Mostrar texto e imágenes de una galería, incluidos la selección, ordenación y filtro de la galería) especificaba que el control de imagen mostraba el diseño del producto, la etiqueta superior mostraba el nombre del producto y la etiqueta inferior mostraba el número de unidades en existencias.For example, that operator in the product gallery for Show images and text in a gallery specified that the image control showed the product design, the upper label showed the product name, and the lower label showed the number of units in stock.

En el caso de las galerías anidadas, ThisItem hace referencia a los elementos de la galería más interna.For nested galleries, ThisItem refers to the innermost gallery's items. Suponiendo que los campos de fila de las galerías interna y externa no están en conflicto, también puede utilizar los nombres de campo (columna) no completos directamente.Assuming the row fields in the inner and outer galleries don't conflict, you can also use the unqualified field (column) names directly. Este enfoque permite que las reglas de una galería interna hagan referencia a elementos de una galería externa.This approach enables rules in an inner gallery to refer to an outer gallery's items.

Operador ParentParent operator

Algunos controles hospedan otros controles.Some controls host other controls. Por ejemplo, los controles Pantalla, Galería, Tarjeta, Formulario de edición y Formulario de presentación son contenedores de controles.For example, Screen, Gallery, Card, Edit form, and Display form controls are all containers for controls. Al control que hospeda se le denomina el "control primario" de los controles que contiene.We call the hosting control the "parent" of the controls within.

En PowerApps se puede hacer referencia a todos los controles por su nombre desde cualquier lugar de la aplicación.Any control in PowerApps can be referenced by name from anywhere within the app. Screen1 puede ser el nombre de una pantalla de una aplicación.Screen1 may be the name of a screen in your app. Para recuperar el color de fondo de esta pantalla, puede usar Screen1.Fill.To retrieve the background color of this screen, you can use Screen1.Fill.

Los controles de esta pantalla tienen otra opción.Controls on this screen have another option. Pueden utilizar una referencia relativa: Parent.Fill.They can use a relative reference: Parent.Fill. El operador Parent hace referencia al control que hospeda este control, y que hace que todas sus propiedades estén disponibles.The Parent operator refers to the control that hosts this control, making available all of its properties. Parent resulta muy útil, ya que no depende del nombre del control.Using Parent is helpful because it doesn't depend on the name of the control. Puede copiar y pegar un control contenedor sin necesidad de ajustar ninguna de las referencia del contenedor.You can copy and paste a container control without needing to adjust any references within the container. Este operador también hace que la relación entre los controles primarios y secundarios sea más clara al leer fórmulas.This operator also makes the relationship between child and parent controls clearer when reading formulas.

Operador de desambiguaciónDisambiguation operator

Algunas funciones crean ámbitos de registro para acceder a los campos de la tabla mientras se procesa cada registro, como Filtrar, AddColumns y Suma.Some functions create record scopes for accessing the fields of table while processing each record, such as Filter, AddColumns, and Sum. Los nombres de campo agregados con el ámbito de registro invalidan los mismos nombres de los restantes lugares de la aplicación.Field names added with the record scope override the same names from elsewhere in the app. Cuando esto sucede, para acceder a los valores desde fuera del ámbito de registro hay que utilizar el operador de desambiguación @:When this happens, you can still access values from outside the record scope with the @ disambiguation operator:

  • 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*].To access values from nested record scopes, use the @ operator with the name of the table being operated upon using the pattern Table[@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).To access global values, such as data sources, collections, and context variables, use the pattern [@ObjectName] (without a table designation).

Para más información y ejemplos, vea la explicación acerca de los ámbitos de registro.For more information and examples, see the discussion on record scopes.