Événements
31 mars, 23 h - 2 avr., 23 h
L’événement de la communauté Microsoft Fabric, Power BI, SQL et AI ultime. 31 mars au 2 avril 2025.
Inscrivez-vous aujourd’huiCe navigateur n’est plus pris en charge.
Effectuez une mise à niveau vers Microsoft Edge pour tirer parti des dernières fonctionnalités, des mises à jour de sécurité et du support technique.
s’applique à :colonne calculéetable calculéemesurecalcul visuel
Retourne la valeur actuelle de la colonne spécifiée dans une passe d’évaluation externe de la colonne mentionnée.
EARLIER est utile pour les calculs imbriqués dans lesquels vous souhaitez utiliser une certaine valeur comme entrée et produire des calculs basés sur cette entrée. Dans Microsoft Excel, vous pouvez effectuer ces calculs uniquement dans le contexte de la ligne active ; Toutefois, dans DAX, vous pouvez stocker la valeur de l’entrée, puis effectuer un calcul à l’aide de données de la table entière.
EARLIER est principalement utilisé dans le contexte des colonnes calculées.
EARLIER(<column>, <number>)
Terme | Définition |
---|---|
column |
Colonne ou expression qui se résout en colonne. |
num |
(Facultatif) Nombre positif à la passe d’évaluation externe. Le niveau d’évaluation suivant est représenté par 1 ; deux niveaux sont représentés par 2 et ainsi de suite. Lorsque la valeur par défaut est omise est 1. |
Valeur actuelle de la ligne, de column
, à number
de la passe d’évaluation externe.
Description des erreurs
EARLIER
réussit s’il existe un contexte de ligne avant le début de l’analyse de la table. Sinon, elle retourne une erreur.
Les performances de EARLIER
peuvent être lentes, car théoriquement, il peut être nécessaire d’effectuer un certain nombre d’opérations proches du nombre total de lignes (dans la colonne) fois le même nombre (selon la syntaxe de l’expression). Par exemple, si vous avez 10 lignes dans la colonne, environ 100 opérations peuvent être requises ; si vous avez 100 lignes, une opération proche de 10 000 opérations peut être effectuée.
Cette fonction n’est pas prise en charge pour une utilisation en mode DirectQuery lorsqu’elle est utilisée dans les colonnes calculées ou les règles de sécurité au niveau des lignes (RLS).
Notes
Dans la pratique, le moteur d’analytique en mémoire VertiPaq effectue des optimisations pour réduire le nombre réel de calculs, mais vous devez être prudent lors de la création de formules qui impliquent la récursivité.
Pour illustrer l’utilisation de EARLIER, il est nécessaire de créer un scénario qui calcule une valeur de classement, puis utilise cette valeur de classement dans d’autres calculs.
L’exemple suivant est basé sur cette table simple, ProductSubcategory
, qui affiche le total des ventes pour chaque ProductSubcategory.
Le tableau final, y compris la colonne de classement, s’affiche ici.
ProductSubcategoryKey | EnglishProductSubcategoryName | TotalSubcategorySales | Sous-catégorieRanking |
---|---|---|---|
18 | Bib-Shorts | 156 167,88 $ | 18 |
26 | Racks à vélo | 220 720,70 $ | 14 |
27 | Stand de vélo | 35 628,69 $ | 30 |
28 | Bouteilles et cages | 59 342,43 $ | 24 |
5 | Crochets inférieurs | 48 643,47 $ | 27 |
6 | Freins | 62 113,16 $ | 23 |
19 | Casquettes | 47 934,54 $ | 28 |
7 | Enchaîne | 8 847,08 $ | 35 |
29 | Nettoyants | 16 882,62 $ | 32 |
8 | Cranksets | 191 522,09 $ | 15 |
9 | Dérailleurs | 64 965,33 $ | 22 |
30 | Ailes | 41 974,10 $ | 29 |
10 | Fourchettes | 74 727,66 $ | 21 |
20 | Gants | 228 353,58 $ | 12 |
4 | Guidon | 163 257,06 $ | 17 |
11 | Casques | 57 659,99 $ | 25 |
31 | Casques | 451 192,31 $ | 9 |
32 | Packs d’hydratation | 96 893,78 $ | 20 |
21 | Maillots | 699 429,78 $ | 7 |
33 | Lumières | 36 | |
34 | Serrures | 15 059,47 $ | 33 |
1 | Vtt | 34 305 864,29 $ | 2 |
12 | Cadres de montagne | 4 511 170,68 $ | 4 |
35 | Sacoches | 36 | |
13 | Pédales | 140 422,20 $ | 19 |
36 | Pompes | 12 695,18 $ | 34 |
2 | Vélos de route | 40 551 696,34 $ | 1 |
14 | Trames routières | 3 636 398,71 $ | 5 |
15 | Selles | 52 526,47 $ | 26 |
22 | Short | 385 707,80 $ | 10 |
23 | Chaussettes | 28 337,85 $ | 31 |
24 | Collants | 189 179,37 $ | 16 |
37 | Pneus et tubes | 224 832,81 $ | 13 |
3 | Motos de tourisme | 13 334 864,18 $ | 3 |
16 | Images de tournée | 1 545 344,02 $ | 6 |
25 | Gilets | 240 990,04 $ | 11 |
17 | Roues | 648 240,04 $ | 8 |
Une façon d’obtenir une valeur de classement pour une valeur donnée dans une ligne consiste à compter le nombre de lignes, dans la même table, qui ont une valeur supérieure (ou inférieure) à celle qui est comparée. Cette technique retourne une valeur vide ou zéro pour la valeur la plus élevée de la table, tandis que les valeurs égales auront la même valeur de classement et la valeur suivante (après les valeurs égales) auront une valeur de classement non consécutive. Consultez l’exemple ci-dessous.
Une nouvelle colonne calculée, SubCategorySalesRanking, est créée à l’aide de la formule suivante.
= COUNTROWS(FILTER(ProductSubcategory, EARLIER(ProductSubcategory[TotalSubcategorySales])<ProductSubcategory[TotalSubcategorySales]))+1
Les étapes suivantes décrivent plus en détail la méthode de calcul.
La fonction EARLIER
obtient la valeur de TotalSubcategorySales pour la ligne active dans la table. Dans ce cas, étant donné que le processus démarre, il s’agit de la première ligne de la table
EARLIER([TotalSubcategorySales])
correspond à 156 167,88 $, la ligne actuelle dans la boucle externe.
La fonction FILTER
retourne maintenant une table où toutes les lignes ont une valeur de TotalSubcategorySales supérieure à 156 167,88 $ (qui est la valeur actuelle de EARLIER
).
La fonction COUNTROWS
compte les lignes de la table filtrée et affecte cette valeur à la nouvelle colonne calculée dans la ligne actuelle plus 1. L’ajout de 1 est nécessaire pour empêcher la valeur la plus classée de devenir vide.
La formule de colonne calculée passe à la ligne suivante et répète les étapes 1 à 4. Ces étapes sont répétées jusqu’à ce que la fin de la table soit atteinte.
La fonction EARLIER
obtient toujours la valeur de la colonne avant l’opération de table actuelle. Si vous devez obtenir une valeur de la boucle avant cela, définissez le deuxième argument sur 2.
Événements
31 mars, 23 h - 2 avr., 23 h
L’événement de la communauté Microsoft Fabric, Power BI, SQL et AI ultime. 31 mars au 2 avril 2025.
Inscrivez-vous aujourd’hui