SELECT
Description
Sélectionne des données dans une plage de classeur, un nom défini ou un rapport Workday. La fonction SELECT est similaire à un énoncé SQL SELECT. Voici les règles principales pour l’écriture d’un énoncé SELECT : Les données que vous référencez dans un énoncé Select doivent avoir un nom d’en-tête. Entourez l’énoncé SELECT de guillemets doubles (“ ”). Entourez les chaînes de guillemets simples. Si vous référencez un en-tête de colonne ou un nom de tableau qui contient des espaces ou des caractères spéciaux, placez-le entre des accents graves (`). Utilisez des points d’interrogation pour les paramètres. Si la formule SELECT ne termine pas le calcul dans les 30 minutes, elle renvoie la valeur #ERROR. La formule SELECT peut traiter jusqu’à 5 millions de rangées, mais le nombre de rangées traitées peut ne pas correspondre exactement au nombre de rangées pouvant être retournées en raison de l’agrégation effectuée par SELECT. Pour afficher des exemples fonctionnels de la fonction SELECT, recherchez la page « Worksheets Function Example Workbooks » sur Community ou collez le lien suivant dans votre navigateur : https://community.workday.com/node/408872.
N’oubliez pas que la fonction SELECT n’est pas destinée à remplacer l’assistant de données.
Syntaxe
SELECT(
select_statement
, [ parameter
], ...) - select_statement: L'énoncé de sélection. L’énoncé est similaire à un énoncé SQL SELECT. Placez l’énoncé SELECT entre guillemets doubles (“ ”). Le format de base est :"SELECT column1, [column2], ... FROM table"oùcolumnsont les données à retourner ettableest la source de données à sélectionner.Vous pouvez incorporer des fonctions dans l’énoncé SELECT telles que COUNT, AVG, SUM, LIMIT, etc. La liste complète des fonctions prises en charge par SELECT se trouve ci-dessous.Lorsque vous effectuez une opération sur des valeurs de date dans vos formules SELECT, gardez à l’esprit que Worksheets fonctionne différemment de la syntaxe SQL. Les calculs de Worksheets traitent les dates comme des numéros de série. Exemple : la date du 20 mars 2023 est représentée par le numéro de série 45005. De plus, SQL convertit automatiquement les dates sous forme de chaîne pour les calculs, contrairement à Worksheets.Si la chaînefromouwhereest présente dans un nom de colonne, vous devez la placer entre guillemets, car from et where sont des mots réservés dans SQL.Dans la clause FROM de l’énoncé, vous pouvez utiliser des valeurs comme :
- Un rapport Workday.
- Un paramètre que vous indiquez comme argument.
- parameter: Un paramètre d'énoncé.
Exemples
Nous utiliserons ce tableau pour donner des exemples simples :
header1 | header2 | header3 |
|---|---|---|
1 | a | red |
2 | b | orange |
3 | c | orange |
4 | d | red |
5 | e | red |
La formule :
=SELECT("SELECT header1,header3 FROM ? WHERE header3 = ?",A1:C6,"red")
donne le résultat suivant :
header1 | header3 |
|---|---|
1 | red |
4 | red |
5 | red |
Nouveau calcul automatique et l’argument de paramètre.
Nous recommandons d’utiliser l’argument de paramètre de la fonction pour référencer les données; Worksheets considère ces références comme des dépendances de données. Par conséquent, la formule SELECT s’exécute automatiquement lorsque vous modifiez les données des cellules référencées. Si vous utilisez plutôt la formule SELECT pour faire référence aux données, celle-ci ne s’exécute pas automatiquement si les données changent, et même le fait de sélectionner Données > Recalculer ne déclenche pas de nouveau l’exécution de la formule.Dans la formule suivante, nous utilisons l’argument de paramètre pour référencer les données. Si les données changent dans la plage A1:C6, Worksheets recalcule et met à jour le résultat automatiquement :
=SELECT("SELECT header1,header3 FROM ?",A1:C6)
Nom défini
. Dans cet exemple, une zone a reçu le nom défini all_employees :- =SELECT("SELECT employeeName FROM ?", all_employees)
Colonne, ligne ou plage
. Vous pouvez faire référence à une colonne, à une rangée ou à une zone dans la même feuille, dans une autre feuille ou dans un autre classeur. Si vous ne précisez pas de feuille, la plage doit se trouver dans la feuille actuelle.- =SELECT("SELECT employeeName FROM ?",$A:$G)
- =SELECT("SELECT employeeName FROM ?",'All Employees Sheet'!$A:$G)
- =SELECT("SELECT employeeName FROM ?",All_Employees_Sheet!$A:$G)
- =SELECT("SELECT employeeName FROM ?", !'Other Workbook Name'!'All Employees Sheet'!A:G)
Plus d’exemples et de résultats
Formule | Résultat |
|---|---|
SELECT("SELECT employeeID, employeeName FROM ?", AllEmployeesSheet!$A:$G) | Renvoie le numéro d’employé et le nom de l’employé des colonnes A à G de la feuille AllEmployeesSheet. |
SELECT("SELECT COUNT(employeeLastName) FROM ?", AllEmployeesSheet) | Renvoie le nombre de rangées dans la colonne employeeLastName de la feuille AllEmployeesSheet. |
SELECT("SELECT employeeFirstName, employeeLastName, employeeRating FROM ? ORDER BY employeeRating DESC LIMIT 3 ", AllEmployeesSheet!$A:$G) | Renvoie le prénom, le nom et la note des trois employés ayant les meilleures notes. |
Rapport Workday
. Interrogation des données d’un rapport Workday.- =SELECT("SELECT employeeName FROM WorkdayReports.AllEmployees") où le nom du rapport est AllEmployees.
- =SELECT("SELECT employeeName FROM WorkdayReports.`All Employees`") où le nom du rapport est All Employees.
- =SELECT("SELECT * from WorkdayReports.`All Employees`") sélectionne toutes les rangées du rapport.
Remarques
- Nous vous recommandons d’utiliser la section des paramètres de la fonction pour référencer les données; Worksheets considère ces références comme des dépendances de données. Par conséquent, la formule SELECT s’exécute lorsque vous sélectionnez . Les données auxquelles vous faites référence dans la partie de l'instruction SELECT de la formule ne sont pas considérées comme des données dépendantes. Par conséquent, la fonction ne déclenche pas une nouvelle exécution de la formule, même si les données sous-jacentes ont changé.
- Cette fonction est destinée à être utilisée dans les formules de tableau.
Fonctions SELECT : Constantes
TRUE | CURRENT_DATE |
FALSE | CURRENT_TIME |
NUL | CURRENT_TIMESTAMP |
Fonctions SELECT : opérateurs et logique
UNION | JOIN | INTERSECT | INNER JOIN |
UNION ALL | LEFT JOIN | EXCEPT | BETWEEN |
NOT BETWEEN | IN | * | <= |
|| (concaténation de chaînes de caractères) | NOT IN | / | <> |
% (modulo) | () (parenthèses) | + | != |
>> ( dépense de l'identifiant à gauche) | IF | - (moins) | >= |
>> (décalage de débit à droite) | + (unaire positif) | - (unaire négatif) | ~ (inversion de débit) |
EXISTS | ! (logique non) | | | LIKE |
NOT EXISTS | NOT | < | NOT LIKE |
IS NULL | AND | > | CASE 1
|
IS NOT NULL | OR | = | & |
IFNULL | ISNULL | POW | " |
1
Incluant les mots-clés WHEN THEN ELSE ENDFonctions SELECT : scalaire, sous-chaîne
DAYOFMONTH | YEAR | LOWER | UPPER |
HOUROFDAY | COALESCE | LTRIM | DATE Y M D |
MINUTE | NULLIF | RTRIM | DATE/HEURE A M J H M S |
MONTH | ROUND | SUBSTRING | INSTANCE (ID et description) |
SECOND | LENGTH | TRIM | DATEDIF |
REPLICATE | STUFF | LOCATE | INSTR |
Fonctions SELECT : mathématiques, financières, statistiques
ABS | COUNT | LOG10 | Q (Quarter) |
AVG | FLOOR | MAX | SQRT |
CEIL | LOG | MIN | SUM |
LIMIT | ASC | DESC |