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

Data Days is here! Join us now for 60+ days of learning, challenges, and connection. Learn more

Reply
Syndicate_Admin
Administrator
Administrator

Dax Consulta para dividir las cadenas mediante delimitadores y expandirlas en filas en una medida de columna

Hola, tengo una columna como la siguiente

NombreAccesorios
ABolsas,Lápiz
BBolsas, Botella
CBotella , Lápiz
DGoma de borrar, móvil
ECargador,Móvil

Debería mostrarse en el siguiente formulario

NombreAccesorios
ABolsas
ALápiz
BBolsas
BBotella
CBotella
CLápiz
DBorrador
DMóvil
ECargador
EMóvil
4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

Hola @sonalisaha2310 ,
Hay dos maneras en que he intentado esto.
Una es hacer una tabla enlazada y luego unirla de forma cruzada, pero La forma con Crossjoin podría ser potencialmente mucho más grande que la tabla con la que desea terminar, por lo que aquí hay una alternativa que brinda una tabla que es exactamente del tamaño correcto con el que desea terminar.

Split = 
VAR ToPaths =
    ADDCOLUMNS (
        SELECTCOLUMNS (
            Table,
            "@ID", Table[Name],
            "@Path", SUBSTITUTE ( Table[Accessories], " ", "," )
        ),
        "@Length", PATHLENGTH ( [@Path] )
    )
VAR T =
    ADDCOLUMNS (
        ToPaths,
        "@Cumulative", SUMX ( FILTER ( ToPaths, [@ID] <= EARLIER ( [@ID] ) ), [@Length] )
    )
RETURN
    ADDCOLUMNS (
        SELECTCOLUMNS (
            ADDCOLUMNS (
                GENERATESERIES ( 1, SUMX ( T, [@Length] ) ),
                "Cumulative", MINX ( FILTER ( T, [@Cumulative] >= [Value] ), [@Cumulative] )
            ),
            "Name", MAXX ( FILTER ( T, [@Cumulative] = [Cumulative] ), [@ID] ),
            "Accessories", MAXX ( FILTER ( T, [@Cumulative] = [Cumulative] ), [@Path] ),
            "Accessories Number", 1 + [Cumulative] - [Value]
        ),
        "Accessories Split", PATHITEM ( [Accessories], [Name] )
    )


Simplemente reemplace Tabla con el nombre de su tabla y las columnas respectivas si tiene algún error.

Si su requerimiento está resuelto, por favor haga ESTA RESPUESTA como SOLUCIÓN y ayude a otros usuarios a encontrar la solución rápidamente. Por favor, pulsa el botón ME GUSTA si este comentario te ayuda. 😊

Syndicate_Admin
Administrator
Administrator

Hola sonalisaha2310,
Esto se puede hacer fácilmente con Power Query. No creo que sea posible lograr esto usando una función DAX. A continuación se muestra una captura de pantalla que muestra cómo lograrlo en Power Query.

Analystmate_0-1709631447757.gif





No obtengo la columna en el Editor de Power Query ya que la columna es una columna calculada, por lo tanto, necesitaba una consulta dax para ella

¿Puede crear la columna calculada en Power Query y, a continuación, usar el delimitador para lograr los resultados?

Helpful resources

Announcements
Fabric Data Days is here Carousel

Fabric Data Days 2026

Don't miss out on Data Days, June 15 through August 7. Learn Fabric, Power BI, SQL, AI and more.

May Power BI Update Carousel

Power BI Monthly Update - May 2026

Check out the May 2026 Power BI update to learn about new features.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.

Top Kudoed Authors