Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Por favor, ayuda a sugerir una solución.
Quiero crear una tabla resultante que tome un identificador (ID) de la tabla principal y asigne las columnas relevantes de la tabla secundaria en función de la búsqueda en la columna ID.
La tabla secundaria puede tener cualquier número de filas, pero la tabla resultante debe tener solo los ID de la tabla principal.
Gracias de antemano!
Tabla principal | Id | |
123 | ||
456 | ||
789 | ||
246 | ||
135 | ||
234 |
Tabla Secundaria | Id | Comentario | Fecha | |
123,234 | Test1 | 29-Enero-20 | ||
135 | Test2 | 26-Enero-20 | ||
123/789 | Test3 | 23-Enero-20 | ||
456-135 | Test4 | 20-Enero-20 | ||
246 | Test5 | 17-Enero-20 |
Tabla resultante | Id | Comentario | Fecha | |
123 | Test1 | 29-Enero-20 | ||
123 | Test3 | 23-Enero-20 | ||
456 | Test4 | 20-Enero-20 | ||
789 | Test3 | 23-Enero-20 | ||
246 | Test5 | 17-Enero-20 | ||
135 | Test4 | 20-Enero-20 | ||
135 | Test2 | 26-Enero-20 | ||
234 | Test1 | 29-Enero-20 |
Solved! Go to Solution.
@ShubhamBarnwal aquí vas !!! una cosa - esto no se puede resolver en DAX, DAX simplemente no tiene la capacidad de dividir una cadena basada en la consecución de números.
//function qx
let
fx=(a)=>
Web.Page(
"<script>
x = '"&a&"';
y=x.match(/\d+/gm)
document.write(y);
</script>"){0}[Data]{0}[Children]{1}[Children]{0}[Text]
in
fx
consulta principal - tabla secundaria -ID dividido en números consecutivos
let
Source = Web.BrowserContents("https://community.powerbi.com/t5/Desktop/Creating-table-using-search/m-p/1632697#M656635"),
#"Extracted Table From Html" = Html.Table(Source, {{"Column1", "TABLE:nth-child(7) > * > TR > :nth-child(1)"}, {"Column2", "TABLE:nth-child(7) > * > TR > :nth-child(2)"}, {"Column3", "TABLE:nth-child(7) > * > TR > :nth-child(3)"}, {"Column4", "TABLE:nth-child(7) > * > TR > :nth-child(4)"}, {"Column5", "TABLE:nth-child(7) > * > TR > :nth-child(5)"}}, [RowSelector="TABLE:nth-child(7) > * > TR"]),
#"Promoted Headers" = Table.PromoteHeaders(#"Extracted Table From Html", [PromoteAllScalars=true]),
#"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",{{"Secondary Table", type text}, {"", type text}, {"ID", type text}, {"Comment", type text}, {"Date", type date}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each qx([ID])),
#"Added Custom1" = Table.AddColumn(#"Added Custom", "Custom.1", each Text.Split([Custom],",")),
#"Removed Columns" = Table.RemoveColumns(#"Added Custom1",{"Custom"}),
#"Expanded Custom.1" = Table.ExpandListColumn(#"Removed Columns", "Custom.1")
in
#"Expanded Custom.1"
Resultado
una vez que estés hasta aquí, puedes fusionar esto en pqwry o usar dax... Como quieras.
@ShubhamBarnwal hmmm va a ser complicado ya que no hay ningún patrón como tal. No estoy seguro de qué decir, podría no ser algo que voy a pasar tiempo para resolver ya que no es totalmente un enfoque basado en modelos. ¡Buena suerte!
@ShubhamBarnwal Yo recomendaría transformar la tabla secundaria dividiendo id en filas, como dividir en todo el separador (/, - y coma) y entonces será muy simple
Consulta mi última entrada de blog Comparar escenarios presupuestados con frente a datos reales Me gustaría ❤ elogios si mi solución ayudara. 👉 Si puedes dedicar tiempo a publicar la pregunta, también puedes hacer esfuerzos para dar Felicitaciones a quien haya ayudado a resolver tu problema. ¡Es una muestra de agradecimiento!
⚡Visítenos en https://perytus.com, su ventanilla única para proyectos/formación/consulta relacionadas con Power BI.⚡
@parry2k
Yo también pensé en eso. Pero la columna DE ID de tabla secundaria proviene de un origen que es un texto libre y también puede tener datos aleatorios. Diga "Entrada para ID: 123". Por lo tanto, debo buscar específicamente los ID que se encuentran en mi tabla principal.
@ShubhamBarnwalpuede ahorrar algunos detalles en la columna ID de la secundaria y qué cadena puede contener y qué exactamente desea extraer de esa cadena. Por ejemplo, ¿es vain a ser una cadena de valor mixto de la que desea extraer sólo números consecutivos? Por favor, dé un ejemplo más de los valores de la columna ID
@smpa01
Como se mencionó, la columna ID de tabla secundaria es un campo de texto de flujo libre. Queremos extraer la información basada en la búsqueda de ID en la tabla principal.
Y sí, la columna de ID de tabla secundaria es una cadena de valor mixto y tenemos que buscar un número de 3 dígitos en eso.
Tabla Secundaria | Id | Comentario | Fecha | |
123,234 | Test1 | 29-Enero-20 | ||
135 | Test2 | 26-Enero-20 | ||
123/789 | Test3 | 23-Enero-20 | ||
456-135 | Test4 | 20-Enero-20 | ||
246 | Test5 | 17-Enero-20 |
@ShubhamBarnwal aquí vas !!! una cosa - esto no se puede resolver en DAX, DAX simplemente no tiene la capacidad de dividir una cadena basada en la consecución de números.
//function qx
let
fx=(a)=>
Web.Page(
"<script>
x = '"&a&"';
y=x.match(/\d+/gm)
document.write(y);
</script>"){0}[Data]{0}[Children]{1}[Children]{0}[Text]
in
fx
consulta principal - tabla secundaria -ID dividido en números consecutivos
let
Source = Web.BrowserContents("https://community.powerbi.com/t5/Desktop/Creating-table-using-search/m-p/1632697#M656635"),
#"Extracted Table From Html" = Html.Table(Source, {{"Column1", "TABLE:nth-child(7) > * > TR > :nth-child(1)"}, {"Column2", "TABLE:nth-child(7) > * > TR > :nth-child(2)"}, {"Column3", "TABLE:nth-child(7) > * > TR > :nth-child(3)"}, {"Column4", "TABLE:nth-child(7) > * > TR > :nth-child(4)"}, {"Column5", "TABLE:nth-child(7) > * > TR > :nth-child(5)"}}, [RowSelector="TABLE:nth-child(7) > * > TR"]),
#"Promoted Headers" = Table.PromoteHeaders(#"Extracted Table From Html", [PromoteAllScalars=true]),
#"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",{{"Secondary Table", type text}, {"", type text}, {"ID", type text}, {"Comment", type text}, {"Date", type date}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each qx([ID])),
#"Added Custom1" = Table.AddColumn(#"Added Custom", "Custom.1", each Text.Split([Custom],",")),
#"Removed Columns" = Table.RemoveColumns(#"Added Custom1",{"Custom"}),
#"Expanded Custom.1" = Table.ExpandListColumn(#"Removed Columns", "Custom.1")
in
#"Expanded Custom.1"
Resultado
una vez que estés hasta aquí, puedes fusionar esto en pqwry o usar dax... Como quieras.
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |