The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
Hola
Quiero hacer un corrector ortográfico para cada fila de una columna, ¿hay alguna función o algo que pueda usar para revisar el corrector ortográfico y devolver un falso o verdadero si la palabra está escrita correctamente?
Saludos
Nicolás Blanco
Si bien creo firmemente que el primer propósito de DAX no está dedicado a dicha operación, aquí hay un ejemplo:
La forma más sencilla (especialmente de sus datos no es enorme) :
Necesitaría una lista de referencias (diccionario) de palabras correctamente escritas. Cree una relación entre la tabla de datos y este diccionario.
SpellCheck =
IF(
ISBLANK(RELATED('Dictionary'[Word])),
"False",
"True"
)
Esto devolverá "False" si la palabra no existe en el diccionario, y "True" en caso contrario. Aunque es fácil, este enfoque solo funciona para palabras individuales y no para frases. El manejo de frases u oraciones de varias palabras sería mucho más complejo.
O puede usar este Corrector ortográfico de la API (este es un hilo al respecto https://stackoverflow.com/a/59588277)
También puede utilizar un script de Python :
import pandas as pd
from spellchecker import SpellChecker
data = dataset
spell = SpellChecker()
data['IsCorrectlySpelled'] = data['YourColumnName'].apply(lambda x: x not in spell.unknown([x]))
output = data
o usando R, es posible que deba instalar el paquete hunspell :
library(hunspell)
data <- dataset
# This will return a list where each element corresponds to a word from the input.
# TRUE means the word is correct, FALSE means it's not recognized.
correctly_spelled <- hunspell_check(data$YourColumnName)
data$IsCorrectlySpelled <- correctly_spelled
output <- data
@pmreis Gracias por su respuesta, ¿esto requerirá una licencia Premium de PowerBI? Actualmente se utiliza la versión RS de PowerBI.
Que yo sepa, no hay un camino fácil. Probablemente, puedas echar un vistazo a esta solución y ver si se aplica a ti: https://www.youtube.com/watch?v=W-iy9IQ76Gg
Hola @NBR_22
De forma nativa, no hay forma de hacerlo, según mi conocimiento. Sin embargo, puede crear una función personalizada que utilice una API de revisión ortográfica.
Por ejemplo, usando la API de revisión ortográfica de Bing:
let
CheckSpelling = (word) =>
let
apiUrl = "https://api.cognitive.microsoft.com/bing/v7.0/spellcheck?text=" & word,
headers = [#"Ocp-Apim-Subscription-Key" = "Your_API_Key_Here"],
source = Json.Document(Web.Contents(apiUrl, [Headers=headers])),
result = source[flaggedTokens] // Check if there are any flagged tokens
in
List.IsEmpty(result) // Returns true if the word is correct, false otherwise
in
CheckSpelling