Skip to content
RATH
Préparer les données
Calcul personnalisé

Calcul personnalisé

Le calcul personnalisé est une fonctionnalité puissante fournie par RATH qui vous permet de modifier vos données de manière flexible à l'aide d'expressions régulières.

Console de calcul personnalisé

Après avoir importé les données de votre source de données sélectionnée, vous pouvez cliquer sur le bouton Calcul personnalisé pour ouvrir la console.

La console de calcul personnalisé possède un éditeur situé dans le coin supérieur gauche, où vous pouvez entrer des expressions régulières. RATH vous proposera des suggestions alors que vous saisissez, vous pouvez confirmer la suggestion en cliquant sur la proposition ou en appuyant sur la touche Tab.

Si une expression est invalide, un message d'erreur sera affiché dans le coin inférieur gauche. Si l'expression est valide, l'aperçu de sortie (graphiques de distribution) de la colonne sera mis à jour en temps réel à droite. Utiliser la console de calcul personnalisé

Syntaxe des expressions

Bases

Champs

Les expressions de calcul personnalisé font référence à un champ (à la fois d'origine et étendu) par son identifiant de champ. Dans l'éditeur, vous pouvez saisir le nom du champ, après correspondance intelligente avec le champ correspondant, sélectionnez l'autocomplétion.

Types de champ

Le type de données du champ concerné dans l'expression de calcul personnalisé, le type d'origine comprend les trois types suivants :

  • Type "set" : un type nombre ordonné, représentant un nombre ordinal, non impliqué dans les opérations mathématiques.
  • Type "group" : un type nombre discret, impliqué dans les opérations mathématiques.
  • Type "collection" : un type chaîne de caractères.

L'opérateur de l'expression de calcul personnalisé est fortement associé au type de données, et si nécessaire, utilisez l'opérateur correspondant pour transformer la colonne (cela construira une nouvelle colonne au lieu de modifier la colonne d'origine).

Littéraux

Les expressions de calcul personnalisé prennent en charge partiellement les littéraux de nombres et de chaînes de caractères en JavaScript.

Instruction

Les expressions de calcul personnalisé sont composées d'opérateurs, de références de champ, de littéraux et d'opérateurs. Les opérateurs sont au cœur de la fonctionnalité de calcul personnalisé. Les expressions de calcul personnalisé doivent utiliser des opérateurs imbriquables, et générer et exporter au moins un nouveau champ. L'expression de calcul personnalisé la plus externe peut séparer plusieurs instructions de calcul avec des virgules (","), afin de créer rapidement certains champs indépendants pour le processus de calcul. Vous ne devez pas utiliser de point-virgule dans les expressions.

Objet DateTime

Un objet DateTime est un type d'objet spécial renvoyé par l'opérateur $toDate. Une exportation directe générera un champ avec un horodatage (colonne de type "group"). Il peut également être tranché pour construire de nouvelles colonnes simple ou multiples. La syntaxe de découpage est <objet DateTime>.<balise de dimension>. Les notations de dimension valides incluent Y, M, W, D, h, m, s.

Opérateur

Les opérateurs sont des fonctions qui agissent sur des champs ou d'autres objets. Les identifiants d'opérateur commencent par le symbole $. La syntaxe d'appel pour un opérateur est <opérateur>(<paramètre 1>, <paramètre 2>...).

Mots-clés

Opérateur out

Pour une nouvelle colonne étendue générée par un calcul, ajoutez le mot-clé out avant l'instruction de calcul pour l'exporter. L'opérateur out peut être placé à n'importe quel niveau d'une opération imbriquée. **Les expressions de calcul personnalisé doivent contenir au moins une instruction **out**. ** Vous pouvez ajouter un mot sans caractères spéciaux après le mot-clé out comme nom du champ exporté. En particulier, pour le champ généré par les quatre opérations arithmétiques, son nom doit être explicitement déclaré.

Exemples :

Opérateurs courants

Conversion de type

$set(group|collection) -> set

Convertit une colonne du type "set" à partir d'une colonne de type non "set".

$group(set|collection) -> group

Transforme une colonne du type "group" à partir d'une colonne de type non "group". Utile lors de l'exécution d'opérations mathématiques sur des champs (vous devez être sûr que les opérations ont du sens).

$nominal(set|group) -> collection

Transforme une colonne du type "collection" à partir d'une colonne de type non "collection".

Génération de nombres ordinaux

$id() -> set

Génère des identifiants à partir de 1.

$order(set|group) -> set

Génère l'ordre mathématique (à partir de 1) de toutes les lignes sur un champ.

$dict(collection) -> set

Génère l'ordre lexicographique (à partir de 1) de toutes les lignes sur un champ.

Normalisation des données

$inset(group) -> group

Normalise un champ à l'intervalle -1 ~ 1.

$bound(group) -> group

Normalise un champ à l'intervalle 0 ~ 1.

$normalize(group) -> group

Normalise un champ en utilisant le score Z.

Transformation non linéaire

$log(group) -> group, $log(group, JS.number) -> group

Mapping logarithmique, la base peut être spécifiée, la valeur par défaut est le logarithme naturel.

$log2(group) -> group

$log10(group) -> group

$log1p(group) -> group

Équivalent à $log(group + 1).

$sigmoid(group) -> group

$ReLU(group) -> group

Nettoyage des données

$isNaN(set|group) -> collection

Renvoie "1" si la ligne est NaN sur un champ, ou "0" sinon.

$isZero(set|group) -> collection

Renvoie "1" si la ligne est 0 sur un champ donné, ou "0" sinon.

$zeroFill(group) -> group

Mappe les valeurs aberrantes (±Infini | NaN) de la ligne sur un champ à 0.

$meanFill(group) -> group

Mappe les valeurs aberrantes (±Infini|NaN) de cette ligne sur un champ à la moyenne des valeurs non aberrantes.

$nearestClip(group, JS.number, JS.number) -> group

Fournit une plage, et la valeur de la ligne sur un certain champ qui dépasse cette plage est mappée à la valeur limite la plus proche en tant que valeur aberrante.

$meanClip(group, JS.number, JS.number) -> group

Fournir une plage, et la valeur de la ligne sur un champ qui est en dehors de cette plage est mappée sur la valeur moyenne des valeurs non exceptionnelles en tant qu'exceptions.

$boxClip(group) -> group

Utilisez les statistiques du diagramme en boîte pour marquer les valeurs aberrantes dans un champ et les remplacer par NaN.

Manipulation de chaîne de caractères

$concat(collection, ...collection) -> collection, $concat(JS.string, collection, ...collection) -> collection

Concaténez le contenu de plusieurs colonnes de chaînes de caractères séquentiellement avec un délimiteur (, par défaut) en tant que nouvelle colonne.

DateTime

$toDate(group|set|collection)

Cet opérateur introduit un type spécial d'objet DateTime et renvoie une instance de cet objet.

Meilleures pratiques

Transformation de normalisation

Mappage non linéaire

Dans ce cas, nous tentons de transformer la colonne casual de la base de données de démonstration Bike Sharing avec un mappage non linéaire. Mappage non linéaire

Récupérer les informations DateTime

Nous pouvons récupérer les informations DateTime de la base de données de démonstration Bike Sharing, où _c_4 est l'année et _c_1 est le mois.

Ensuite, nous pouvons calculer le paramètre weekday.