SELECT
Description
Sélectionne des données d'une plage de classeur, un nom défini ou un rapport Workday. La fonction SELECT est semblable à une instruction SELECT SQL. Les règles principales pour écrire une instruction SELECT sont les suivantes : les données que vous référencez dans une instruction SELECT doivent avoir un nom d'en-tête. Placez l'instruction SELECT entre guillemets doubles. Placez les chaînes entre guillemets simples. Si vous référencez un en-tête de colonne ou un nom de table contenant des espaces ou des caractères spéciaux, placez-le entre accents graves. Utilisez des points d'interrogation pour les paramètres. Si la formule SELECT ne termine pas le calcul dans un délai de 30 minutes, elle renvoie #ERROR. SELECT peut traiter jusqu'à cinq millions de lignes, mais le nombre de lignes traitées peut ne pas correspondre exactement au nombre de lignes pouvant être renvoyées en raison de l'agrégation effectuée par SELECT. Pour afficher des exemples concrets de la fonction SELECT, accédez à la page "Worksheets Function Example Workbooks" du site Community ou collez le lien suivant dans votre navigateur : https://community.workday.com/node/408872.
Gardez à l'esprit que la fonction SELECT n'est pas conçue pour remplacer l'assistant de données.
Syntaxe
SELECT(
select_statement
, [ parameter
], ...) - select_statement: instruction SELECT. L'instruction est semblable à une instruction SELECT SQL. Placez l'instruction SELECT entre guillemets doubles. Le format de base est le suivant :"SELECT column1, [column2], ... FROM table"oùcolumncontient les données à renvoyer ettableest la source de données dans laquelle effectuer une sélection.Vous pouvez imbriquer des fonctions dans l'instruction SELECT, telles que COUNT, AVG, SUM, LIMIT, etc. Vous trouverez ci-dessous la liste complète des fonctions prises en charge par SELECT.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 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 des chaînes pour les calculs, contrairement à Worksheets.Si la chaînefromouwhereexiste dans un nom de colonne, vous devez la mettre entre guillemets, car from et where sont des mots réservés dans SQL.Dans la clause FROM de l'instruction, vous pouvez utiliser les valeurs suivantes :
- Rapport Workday.
- Paramètre défini comme argument.
- parameter: un paramètre d'instruction.
Exemples
Nous allons utiliser ce tableau pour présenter quelques exemples simples :
header1 | header2 | header3 |
|---|---|---|
1 | a | rouge |
2 | b | orange |
3 | c | orange |
4 | d | rouge |
5 | e | rouge |
La formule :
=SELECT("SELECT header1,header3 FROM ? WHERE header3 = ?",A1:C6,"rouge")
donne le résultat suivant :
header1 | header3 |
|---|---|
1 | rouge |
4 | rouge |
5 | rouge |
Nouveau calcul automatique et argument du 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, de sorte que la formule SELECT s'exécute automatiquement lorsque vous modifiez les données dans les cellules référencées. Si vous utilisez plutôt l'instruction SELECT pour faire référence aux données, la formule n'est pas réexécutée automatiquement si les données sont modifiées, et même si vous sélectionnez les options Données > Recalculer, la formule n'est pas réexécutée.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 (tous_employés) :- =SELECT("SELECT employeeName FROM ?", all_employees)
Colonne, ligne ou plage
. Vous pouvez faire référence à une colonne, une ligne ou une zone dans la même feuille, une autre feuille ou un autre classeur. Si vous ne spécifiez 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)
Autres exemples et résultats
Formule | Résultat |
|---|---|
SELECT("SELECT employeeID, employeeName FROM ?", AllEmployeesSheet!$A:$G) | Renvoie le code du salarié (employeeID) et le nom du salarié (employeeName) depuis les colonnes A à G de la feuille AllEmployeesSheet. |
SELECT("SELECT COUNT(employeeLastName) FROM ?", AllEmployeesSheet) | Renvoie le nombre de lignes de la colonne employeeLastName (Nom de famille du salarié) de la feuille AllEmployeesSheet. |
SELECT("SELECT employeePrenom, employeeNom de famille, employeeRating FROM ? ORDER BY employeeRating DESC LIMIT 3, AllEmployeesSheet!$A:$G) | Renvoie le prénom, le nom et l'évaluation des trois salariés les mieux évalués. |
Rapport Workday
. Interrogez des données à partir 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 AllEmployees.
- =SELECT("SELECT * from WorkdayReports.`All Employees`") sélectionne toutes les lignes du rapport.
Remarques
- Nous 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, de sorte que la formule SELECT s'exécute chaque fois que 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 commande ne déclenchent pas une nouvelle exécution de la formule, même si les données sous-jacentes ont changé.
- Cette fonction est conçue pour être utilisée dans les formules de tableau.
Fonctions SELECT : constantes
TRUE | CURRENT_DATE |
FALSE | CURRENT_TIME |
NULL | CURRENT_TIMESTAMP |
Fonctions SELECT : opérateurs et logique
UNION | JOIN | INTERSECT | INNER JOIN |
UNION ALL | LEFT JOIN | EXCEPT | BETWEEN |
NOT BETWEEN | IN | * | <= |
|| (concatation de chaîne) | NOT IN | / | <> |
% (modulo) | () (parenthèses) | + | != |
>> (déplacement du débit vers la gauche) | IF | - (moins) | >= |
>> (décalage de débit à droite) | + (unaire positif) | - (unaire négatif) | - (inversion des débits) |
EXISTS | ! (logique non) | | | LIKE |
NOT EXISTS | NOT | < | NOT LIKE |
IS NULL | AND | > | CASE 1
|
IS NOT NULL | OR | = | & |
IFNULL | ISNULL | POW | " |
1
y compris 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 | DATETIME Y M D H M S |
MONTH | ROUND | SUBSTRING | INSTANCE (identifiant et description) |
SECOND | LENGTH | TRIM | DATEDIF |
REPLICATE | STUFF | LOCATE | INSTR |
Fonctions SELECT : Mathématiques, Finances, Statistiques
ABS | COUNT | LOG10 | Q (trimestre) |
AVG | FLOOR | MAX | SQRT |
CEIL | LOG | MIN | SUM |
LIMIT | ASC | DESC |