Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Power BI Erreur dans mesure pour une recherche par mot clé

JPh2309

XLDnaute Junior
Bonjour la communauté,
J'ai une liste de commentaire que j'affiche dans un rapport.
J'ai voulu insérer une fonctionnalité de recherche par mot clé mais la mesure affiche un message d'erreur (pièce jointe).
Je n'ai vraisemblablement pas utilisé la bonne formule...
Merci de votre aide
 

Pièces jointes

  • Capture d'écran 2024-04-04 092322.png
    15.3 KB · Affichages: 8

Volvo64400

XLDnaute Nouveau
Bonjour,
En essayant :

Recherche =
IF (
ISBLANK ( [Zone de texte] ),
TRUE (),
COUNTROWS (
FILTER (
'Verbatims N-2',
SEARCH ( [Zone de texte], 'Verbatims N-2'[Commentaire], 1, 0 ) > 0
)
) > 0
)
 

JPh2309

XLDnaute Junior
Merci pour ta réponse rapide.
J'ai essayé et j'ai ce nouveau message qui apparaît (pièce jointe)
Est-ce que je dois nommer ma zone de texte ? Si oui, comment ?
 

Pièces jointes

  • Capture d'écran 2024-04-04 103022.png
    16.6 KB · Affichages: 6

Volvo64400

XLDnaute Nouveau
Recherche =
IF (
ISBLANK ( ZoneDeTexte1 ),
TRUE (),
COUNTROWS (
FILTER (
'Verbatims N-2',
SEARCH ( ZoneDeTexte1, 'Verbatims N-2'[Commentaire], 1, 0 ) > 0
)
) > 0
)

Assurez-vous de remplacer "ZoneDeTexte1" par le nom que vous avez donné à votre zone de texte. Cette modification permettra à votre formule DAX de référencer correctement le contenu de la zone de texte dans votre rapport.
 

Volvo64400

XLDnaute Nouveau
Dans Power BI, il n'est pas directement possible de nommer une zone de texte comme vous le feriez dans d'autres logiciels. Cependant, vous pouvez utiliser une technique pour contourner cela en utilisant un contrôle de texte dans Power BI.

Voici comment procéder :

  1. Ajoutez un contrôle de texte à votre rapport en cliquant sur l'icône "Texte" dans l'onglet "Accueil" (Home) de Power BI.
  2. Une fois que vous avez ajouté le contrôle de texte, vous pouvez y écrire le texte que vous souhaitez afficher.
  3. Cliquez sur le contrôle de texte ajouté pour le sélectionner, puis allez dans le volet "Propriétés" (Properties) à droite.
  4. Sous l'onglet "Général" (General), vous verrez une propriété appelée "Nom" (Name).
  5. Cliquez sur cette propriété et donnez un nom à votre contrôle de texte. Par exemple, vous pouvez le nommer "ZoneDeTexte1".
Maintenant, vous pouvez utiliser ce contrôle de texte nommé dans votre formule DAX de la même manière que vous l'auriez fait avec une zone de texte. Assurez-vous simplement de remplacer "ZoneDeTexte1" dans la formule par le nom que vous avez donné à votre contrôle de texte.
 

JPh2309

XLDnaute Junior
Merci, c'est très gentil de m'aider.
Je n'ai pas "nom" dans les onglets à droite.
En pièce jointe ma capture d'écran.
J'ai créé ma zone texte. Dans "titre" j'ai écrit la consigne mais je ne trouve pas l'endroit où changer le nom de la zone.
Désolé mais je débute avec POWER BI et mes questions doivent vous sembler désuètes...
 

Pièces jointes

  • Capture d'écran 2024-04-05 081728.jpg
    100.4 KB · Affichages: 4

Volvo64400

XLDnaute Nouveau
Dans Power BI, les zones de texte ne peuvent pas être nommées de la même manière que d'autres éléments comme les mesures ou les colonnes de table. Cependant, vous pouvez contourner cela en utilisant une approche différente pour référencer votre zone de texte dans vos formules DAX.
Une méthode courante consiste à utiliser une mesure calculée pour récupérer le texte de la zone de texte et l'utiliser dans vos calculs. Voici comment vous pouvez procéder :
  1. Créez une nouvelle mesure en cliquant avec le bouton droit sur votre table de données dans le volet "Champs" (Fields) et en sélectionnant "Nouvelle mesure" (New measure).
  2. Dans la barre de formule de la mesure, utilisez la fonction SELECTEDVALUE pour récupérer le texte de la zone de texte. Par exemple, si votre zone de texte est dans une colonne nommée "Titre", vous pouvez utiliser la formule suivante :
DAX
TexteZoneDeTexte = SELECTEDVALUE('VotreTable'[Titre], "")
Assurez-vous de remplacer 'VotreTable' par le nom de votre table de données contenant la zone de texte et 'Titre' par le nom de la colonne contenant le texte de la zone de texte.
  1. Utilisez maintenant cette mesure dans votre formule de recherche. Par exemple :
DAX
Recherche =
IF (
ISBLANK ( [TexteZoneDeTexte] ),
TRUE (),
COUNTROWS (
FILTER (
'Verbatims N-2',
SEARCH ( [TexteZoneDeTexte], 'Verbatims N-2'[Commentaire], 1, 0 ) > 0
)
) > 0
)
Cela devrait vous permettre d'utiliser le contenu de votre zone de texte dans vos formules DAX. N'oubliez pas de remplacer 'VotreTable' et 'Titre' par les noms appropriés de votre table et de la colonne de texte.
 

JPh2309

XLDnaute Junior
Les formules fonctionnent sans message d'erreur et une colonne avec la valeur true s'est ajoutée. Merci !
Ce que je recherche se rapproche du produit final que je mets en pièces jointes (captures d'écran photomontées) :
Sur ma page, j'ai l'affichage de tous les commentaires recueillis (capture 1)
J'ai une zone de texte dans laquelle les utilisateurs vont entrer leur mot clé (par exemple ici "travail")
Cela doit produire un tri et n'afficher dans la colonnes "commentaires" que les phrases qui ont le mot travail (capture2).
Vous pensez que c'est possible ?
 

Pièces jointes

  • capture1.jpg
    382.9 KB · Affichages: 6
  • capture2.jpg
    190 KB · Affichages: 5

Volvo64400

XLDnaute Nouveau
Pour réaliser cela dans Power BI, vous pouvez utiliser une approche qui implique une mesure calculée et une visualisation filtrée. Voici comment vous pouvez procéder :


Créer une mesure calculée pour le mot-clé :Tout d'abord, créez une mesure calculée qui récupère le mot-clé entré dans la zone de texte. Si vous avez une zone de texte nommée "ZoneDeTexte1", vous pouvez créer une mesure comme suit :
DAX
MotCle = SELECTEDVALUE('VotreTable'[ZoneDeTexte1], "")

Assurez-vous de remplacer 'VotreTable' par le nom de votre table de données contenant la zone de texte.

Utiliser cette mesure dans une mesure filtrée :Ensuite, créez une mesure calculée qui compte le nombre de commentaires contenant le mot-clé spécifié. Par exemple, si vous voulez compter le nombre de commentaires contenant le mot "travail", vous pouvez utiliser la formule suivante :
DAX
CommentairesFiltres = CALCULATE(COUNTROWS('Verbatims N-2'), FILTER('Verbatims N-2', CONTAINSSTRING('Verbatims N-2'[Commentaire], [MotCle])))

Cette mesure compte le nombre de lignes dans la table 'Verbatims N-2' où la colonne 'Commentaire' contient le mot-clé spécifié dans la zone de texte.

Utiliser la mesure filtrée dans une visualisation :Enfin, utilisez la mesure calculée "CommentairesFiltres" dans une visualisation comme un tableau ou un graphique. Cette visualisation affichera le nombre de commentaires qui contiennent le mot-clé spécifié.

Assurez-vous de remplacer 'VotreTable', 'ZoneDeTexte1' et 'Verbatims N-2' par les noms appropriés de votre table et de vos colonnes. Cette approche devrait vous permettre d'afficher les commentaires qui contiennent le mot-clé spécifié dans votre zone de texte.
 

Volvo64400

XLDnaute Nouveau
Vous avez raison, les mesures sont utilisées pour effectuer des calculs agrégés sur les données existantes et ne permettent pas aux utilisateurs de saisir directement des valeurs.
Pour permettre aux utilisateurs de saisir un mot-clé dans une zone de texte et filtrer les commentaires en fonction de ce mot-clé, vous devrez utiliser un paramètre plutôt qu'une mesure.
Voici comment vous pouvez procéder :
  1. Créer un paramètre :Tout d'abord, créez un paramètre qui permettra aux utilisateurs de saisir leur mot-clé. Pour ce faire, accédez à l'onglet "Gérer les paramètres" (Manage Parameters) dans Power BI, puis cliquez sur "Nouveau paramètre" (New Parameter). Définissez le type de données sur "Texte" et donnez un nom à votre paramètre, par exemple "MotCle".
  2. Utiliser le paramètre dans une mesure filtrée :Ensuite, utilisez ce paramètre dans une mesure calculée qui filtrera les commentaires en fonction du mot-clé saisi par l'utilisateur. Voici un exemple de formule pour cette mesure :
    DAX
    CommentairesFiltres =
    CALCULATE(
    COUNTROWS('Verbatims N-2'),
    FILTER(
    'Verbatims N-2',
    CONTAINSSTRING('Verbatims N-2'[Commentaire], SELECTEDVALUE('MotCle', ""))
    )
    )
    Cette mesure compte le nombre de lignes dans la table 'Verbatims N-2' où la colonne 'Commentaire' contient le mot-clé spécifié par l'utilisateur dans le paramètre "MotCle".
  3. Utiliser la mesure filtrée dans une visualisation :Enfin, utilisez la mesure calculée "CommentairesFiltres" dans une visualisation (par exemple, un tableau ou un graphique). Les utilisateurs pourront alors saisir un mot-clé dans le paramètre "MotCle" et voir les commentaires filtrés en fonction de ce mot-clé dans la visualisation.
Cette approche permet aux utilisateurs de saisir un mot-clé dans un paramètre et de filtrer les commentaires en fonction de ce mot-clé dans le rapport.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…