Les filtres de date vous aident à sélectionner des données, à les analyser sur des périodes spécifiques, à effectuer des comparaisons et à suivre les tendances. Parfois, des erreurs peuvent survenir lors de la création des rapports : les données nécessaires n'ont pas été incluses dans le graphique ou, au contraire, des données inutiles sont apparues. Pour éviter cela, utilisez des filtres dans vos ensembles de données et rapports.
Dans cet article, nous vous expliquerons comment tester des requêtes et filtrer les données dans un rapport de Constructeur BI.
Comment tester une requête et voir comment fonctionnent les filtres
Pour tester la requête, utilisez Postman. Il s'agit d'un outil pour travailler avec l'API, il vous permet d'envoyer des requêtes aux services et de travailler avec leurs réponses.
Débogage des requêtes dans Postman
Si votre ensemble de données comporte un champ de date et d'heure, vous pouvez l'utiliser pour le filtrage. Par exemple, les transactions peuvent être filtrées par les champs suivants : date_create
, date_modify
, begindate
et closdate
. Considérez comment les transactions sont filtrées par le champ date_create
ou la date de création de la transaction.
Description des champs d'entité pour BI-Analytique
Dans le champ Post, ajoutez l'adresse de la requête : https://nom_du_compte/bitrix/tools/biconnector/pbi.php?table=crm_deal
. Pour afficher le plan d'exécution des requêtes SQL sur le serveur, ajoutez le paramètre &explain
à l'adresse de la requête.
Écrivez une requête à Bitrix24, elle se compose de trois paramètres :
- key: "vMYihzN3QS4XXXXXXXXXX" - clé d'accès aux données. Chaque clé est unique et peut être consultée dans la section CRM - Analytiques - BI Analytique - Paramètres de BI Analytics - Gérer les clés.
- dateRange: {"startDate": "2022-1-1", "endDate": "2023-1-1"} - plage de temps pour la demande de données. Dans notre exemple, il couvre la période du 1er janvier 2022 au 1er janvier 2023.
- configParams: {"timeFilterColumn": "DATE_CREATE"} - filtre de sélection des transactions par date de création.
{ "key":vMYihzN3QS4XXXXXXXXXX", "dateRange": { "startDate": "2022-1-1", "endDate": "2023-1-1" }, "configParams": { "timeFilterColumn": "DATE_CREATE" } }
date_create
. En cas d'erreurs ou d'absence du champ spécifié pour le filtrage, le constructeur sélectionne automatiquement le premier champ du type date et heure dans l'ensemble de données.Lorsque vous écrivez une requête, cliquez sur Send.
Regardez les résultats de la requête dans Bitrix24, ouvrez la section CRM - Analytiques - BI Analytique - Paramètres de BI Analytics - Utilisation. Sur la page, vous verrez : les statistiques d'utilisation, la source de données et les filtres qui ont été appliqués à l'ensemble de données.
Comment définir un champ par lequel les données du graphique seront filtrées dans un rapport de Constructeur BI
Créez un rapport et ajoutez un graphique dans lequel vous pouvez compter le nombre de transactions dans Bitrix24. Dans le rapport, cliquez sur + Create a new chart.
Sélectionnez l'ensemble de données crm_deal
, spécifiez le type de graphique et cliquez sur Create new chart.
Déplacez l'indicateur Qty, pcs vers le bloc Metrics, et dans le bloc Filters, sélectionnez le champ par lequel vous filtrerez les données et cliquez sur Create chart. Dans l'exemple, nous filtrerons les transactions par date de création.
Enregistrez le tableau, spécifiez un nom, sélectionnez un rapport, cliquez sur Save & go to dashboard.
Pour sélectionner des données pour des dates spécifiques, cliquez sur + Add/Edit Filters.
Sélectionnez le type de filtre Time range, entrez un nom et cliquez sur Save.
Ouvrez le filtre, entrez les dates appropriées et cliquez sur Apply filters.
Le nombre de transactions dans le rapport a changé, elles ont été filtrées par date de création du mois dernier.
Pour afficher le résultat de la requête et le champ par lequel les données ont été filtrées, ouvrez Bitrix24. Accédez à la section CRM - Analytiques - BI Analyticique - Paramètres de BI Analytics - Utilisation.
Comment filtrer les données d'un ensemble de données virtuel de Constructeur BI
Pour filtrer les données d'un ensemble virtuel, ajoutez un champ de filtre. Ouvrez l'onglet Datasets, sélectionnez un ensemble de données virtuel et cliquez sur Edit.
Modifiez l'ensemble de données contenant les transactions, les champs personnalisés et les produits. Dans l'exemple, nous utilisons un ensemble de données virtuel prêt à l'emploi. Comment le créer a été décrit dans un article séparé.
Comment créer et ajouter un graphique basé sur un ensemble de données virtuel à un rapport
Pour sélectionner les transactions par date de création, la requête SQL ne dispose pas du champ date_create
. Ajoutez un champ et enregistrez la nouvelle requête. Il effectuera six actions :
- d.TITLE - sélectionne le nom de la transaction dans
crm_deal
. - d.date_create - utilisé pour filtrer les transactions par date de création.
- du.UF_CRM_6081319D96D87 - sélectionne un champ personnalisé spécifique dans
crm_deal_uf
. - dp.PRODUCT_NAME - sélectionne le nom du produit dans
crm_deal_product_row
. - INNER JOIN - rejoint les tables en utilisant un identifiant commun de transaction
DEAL_ID
. - WHERE d.date_create - cette partie de la requête filtre les transactions en fonction de la date à laquelle elles ont été créées.
SELECT d.TITLE, d.date_create, du.UF_CRM_6081319D96D87, dp.PRODUCT_NAME FROM crm_deal d INNER JOIN crm_deal_uf du ON d.ID = du.DEAL_ID INNER JOIN crm_deal_product_row dp ON d.ID = dp.DEAL_ID WHERE d.date_create >= DATE '2023-01-01' AND d.date_create < DATE '2023-12-31';
Pour faire apparaître le nouveau champ dans l'ensemble de données, ouvrez l'onglet Columns et cliquez sur Sync columns from source.
Modifiez ensuite la requête et remplacez le paramètre WHERE
. De cette façon, vous pouvez filtrer dynamiquement les données sans avoir à réécrire l'intégralité de la requête.
SELECT d.TITLE, d.date_create, du.UF_CRM_6081319D96D87, dp.PRODUCT_NAME FROM crm_deal d INNER JOIN crm_deal_uf du ON d.ID = du.DEAL_ID INNER JOIN crm_deal_product_row dp ON d.ID = dp.DEAL_ID WHERE {% if from_dttm is not none %} d.date_create >= from_iso8601_timestamp('{{ from_dttm }}') AND {% endif %} {% if to_dttm is not none %} d.date_create < from_iso8601_timestamp('{{ to_dttm }}') AND {% endif %} true;
Créez un nouveau graphique, vérifiez qu'il contient un champ de filtrage des données, puis cliquez sur Save. Nous avons ajouté une colonne avec des dates au graphique pour suivre les changements dans le temps de création des transactions.
Désormais, dans un rapport contenant un ensemble de données virtuel, vous pouvez voir le nombre de transactions pour une certaine période.
Résumé
- Les filtres de date vous aident à sélectionner les données dont vous avez besoin, à les analyser sur des périodes spécifiques, à effectuer des comparaisons et à suivre les tendances.
- Pour voir comment fonctionne la requête, utilisez l'application Postman.
- Si votre ensemble de données comporte un champ de date et d'heure, vous pouvez l'utiliser pour le filtrage.
- Si vous avez fait une erreur dans le nom ou n'avez pas spécifié de champ pour le filtrage, le constructeur utilise par défaut le premier champ de date et d'heure de l'ensemble de données.
- Pour filtrer les données par date et heure, définissez toujours le champ approprié dans le bloc de filtres du graphique. Sinon, les données seront téléchargées intégralement pendant toute la durée.
- Pour filtrer les données d'un ensemble virtuel, ajoutez un champ de filtre.
Articles recommandés :