Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
Syndicate_Admin
Administrator
Administrator

Columna calculada basada en texto

Hola a todos

Podría usar un poco de ayuda con esta columna calculada que estoy tratando de crear. Debido a que se basa en texto y no estoy acostumbrado a este tipo de casos de uso, estoy luchando para llegar a una buena fórmula dax.

Mis datos se ven así:

Mensaje de texto
el
Zorro
el zorro marrón rápido
el zorro marrón rápido salta
el zorro marrón rápido salta sobre el perro perezoso
esfinge
esfinge de cuarzo negro
cuarzo negro
esfinge de cuarzo negro, juzga mi voto
asistentes jinxed
los magos jinxed arrancan hiedra
el edredón grande
los magos jinxed arrancan hiedra de la edredón grande

Quiero crear una columna de 'bandera' calculada basada en estos datos que da un '1' para 'unicidad' y '0' para el texto que ya está presente como 'palabra(s) inicial(es)' en otra fila. Así que la parte difícil es que la comprobación de la presencia en otra fila debe ser de la primera palabra / letra de ese campo. Así que mi resultado final deseado es:

Mensaje de textobandera
el0
Zorro1
el zorro marrón rápido0
el zorro marrón rápido salta0
el zorro marrón rápido salta sobre el perro perezoso 1
esfinge de cuarzo azul1
esfinge de cuarzo negro0
cuarzo negro1
esfinge de cuarzo negro, juzga mi voto1
asistentes jinxed 0
los magos jinxed arrancan hiedra0
el edredón grande
1
los magos jinxed arrancan hiedra de la edredón grande1

Así, por ejemplo, en las dos primeras filas, 'the' es la(s) palabra(s) inicial(es) de otras 4 filas ('el marrón rápido...' & 'el edredón grande'), pero 'zorro' no es la(s) palabra(s) inicial(es) de ninguna otra fila.

O, por ejemplo, 'cuarzo negro' no está presente como palabras iniciales en otra fila (aunque está presente a mitad de la oración en otra fila), por lo que se marca.

¡Espero haberme aclarado! He estado mirando la función dax FIND(...), pero estoy luchando para implementarla de acuerdo con mi caso de uso.

Realmente apreciarlo si alguien puede ayudarme. 🙂

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

Con la tabla denominada 'Table' y la columna denominada 'InputText', el código siguiente funciona para crear una columna calculada denominada flag:

flag = 
VAR CurrentRow = 'Table'[InputText]
VAR IsDuplicate = COUNTROWS(FILTER('Table', 'Table'[InputText] = CurrentRow)) > 1
VAR TableWithoutCurrentRow = 
FILTER(
    'Table',
    'Table'[InputText] <> CurrentRow
)
VAR RowsStartingWithCurrentRow =
FILTER(
    TableWithoutCurrentRow,
    SEARCH(CurrentRow, 'Table'[InputText], 1, 0) = 1
)
VAR IsCurrentRowUnique =
ISEMPTY(RowsStartingWithCurrentRow)
RETURN
IF(
    IsDuplicate,
    0,
    IF(
        IsCurrentRowUnique,
        1,
        0
    )
)

Syndicate_Admin
Administrator
Administrator

@zudar

Agregue una consulta en blanco en Power Query y más allá del código siguiente y compruebe los pasos:

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("fY/BDoMgEER/ZeLZPyIesCBi0aUoIH69wKFpqvG02Zk3uxnGmm2UTdeyZqC9zrzj4/Xrjd5RXPCgY/KzXZ9dUJAOxTb8SBCkUAOrHfWygwb0xpcsd9txcXg++GNdhHu2za+FkpgTAsUKThmTAlEf3In1RoI1Ph/QIX379FqVTmZ7xDE4mvHHdyc=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Text = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Text", type text}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "Flag",  (x)=> 
Number.From(
    List.Count(
        List.Select( #"Changed Type"[Text] , each Text.StartsWith(_,x[Text]))
    ) > 1
    ) 
)
in
    #"Added Custom"





Syndicate_Admin
Administrator
Administrator

@zudar

Puede hacerlo fácilmente en Power Query, agregar una columna personalizada. He adjuntado el archivo debajo de mi firma.

Fowmy_0-1625662430645.png





¡Ahí @Fowmy!

Parece que no puedo abrir el archivo correctamente en mi versión de PowerBI Desktop. Estoy trabajando con la versión del servidor de informes de PowerBI Desktop, que es la versión: 2.88.1382.0 de 64 bits (januari 2021).

Tengo mucha curiosidad por ver lo que hiciste. No consideré usar Power Query, ¡gracias por pensar fuera de la caja! 🙂

Helpful resources

Announcements
LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.