cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Syndicate_Admin
Administrator
Administrator

¿Cómo puedo convertir varias tablas en una tabla mediante código DAX?

Tengo 4 tablas son Tabla1, 2, 3 y tabla4 y contiene las siguientes columnas son id, resultado, filtro y código de ciudad. Los encabezados de las tablas son los mismos, pero los datos son diferentes.

¿Cómo puedo obtener todos los datos de las tablas en una tabla en función del estado de la columna de filtro es "No" solo que también quiero que cada tabla haga referencia al final del resultado para saber qué datos de la tabla?

No puedo usar la consulta de energía porque algunas de las columnas no forman parte de los datos originales y provienen de otra tabla mediante el uso de código DAX.

Datos:

TABLA1

Identificación

Resultado

Filtro

Código de la ciudad

133

ganar

DE ACUERDO

SSR

134

pérdida

DE ACUERDO

SSR

135

pérdida

DE ACUERDO

SSR

136

atar

DE ACUERDO

SSR

137

ganar

NO

DEL

138

pérdida

NO

DEL

139

atar

NO

DEL

140

ganar

NO

DEL

141

ganar

NO

DEL

142

ganar

NO

DEL

TABLA2

Identificación

Resultado

Filtro

Código de la ciudad

123

Ganar

NO

ME

124

pérdida

NO

ME

125

atar

NO

ME

126

ganar

NO

ME

127

ganar

NO

ME

128

ganar

DE ACUERDO

ME

129

pérdida

DE ACUERDO

ME



TABLA3

Identificación

Resultado

Filtro

Código de la ciudad

123

Ganar

DE ACUERDO

ME

124

pérdida

DE ACUERDO

ME

128

ganar

NO

ME

129

pérdida

NO

ME

130

atar

NO

SSR

131

atar

NO

SSR

132

ganar

NO

SSR



TABLA4

Identificación

Resultado

Filtro

Código de la ciudad

123

Ganar

DE ACUERDO

ME

124

pérdida

DE ACUERDO

ME

125

atar

DE ACUERDO

ME

126

ganar

DE ACUERDO

ME

127

ganar

DE ACUERDO

ME

128

ganar

DE ACUERDO

ME

134

pérdida

NO

SSR

135

pérdida

NO

SSR

136

atar

NO

SSR

137

ganar

NO

DEL

138

pérdida

DE ACUERDO

DEL

139

atar

DE ACUERDO

DEL

140

ganar

DE ACUERDO

DEL

141

ganar

DE ACUERDO

DEL

142

ganar

DE ACUERDO

DEL


Resultado deseado:


RESULTADO

Identificación

Resultado

Relleno1

Código de la ciudad

Referencia de la tabla

137

ganar

NO

DEL

Tabla1

138

pérdida

NO

DEL

Tabla1

139

atar

NO

DEL

Tabla1

140

ganar

NO

DEL

Tabla1

141

ganar

NO

DEL

Tabla1

142

ganar

NO

DEL

Tabla1

123

Ganar

NO

ME

Cuadro2

124

pérdida

NO

ME

Cuadro2

125

atar

NO

ME

Cuadro2

126

ganar

NO

ME

Cuadro2

127

ganar

NO

ME

Cuadro2

128

ganar

NO

ME

Cuadro3

129

pérdida

NO

ME

Cuadro3

130

atar

NO

SSR

Cuadro3

131

atar

NO

SSR

Cuadro3

132

ganar

NO

SSR

Cuadro3

133

ganar

NO

SSR

Cuadro 4

134

pérdida

NO

SSR

Cuadro 4

135

pérdida

NO

SSR

Cuadro 4

136

atar

NO

SSR

Cuadro 4

137

ganar

NO

DEL

Cuadro 4

Saxon10_0-1638046919455.png

1 ACCEPTED SOLUTION

@jeroendekk puede hacerlo con ADDCOLUMNS().

Personalmente aplicaría el filtro antes, pero puede que no importe.

Combined Table = UNION (
ADDCOLUMNS(FILTER(Table1,[Filter]="No"),"Table Reference","Table1"),
ADDCOLUMNS(FILTER(Table2,[Filter]="No"),"Table Reference","Table2"),
ADDCOLUMNS(FILTER(Table3,[Filter]="No"),"Table Reference","Table3"),
ADDCOLUMNS(FILTER(Table4,[Filter]="No"),"Table Reference","Table4")
)

View solution in original post

6 REPLIES 6
Syndicate_Admin
Administrator
Administrator

Hola @Saxon10
No conozco una forma dinámica de obtener el nombre de la tabla en una columna usando DAX. Pero puede agregarlo en cada tabla usando DAX creando una columna calculada en cada una de las tablas.

Table = "Table1"


A continuación, puede agregar y filtrar las tablas con una fórmula FILTER y UNION.

Combined Table =
FILTER ( UNION ( Table1, Table2, Table3, Table4 ), [Filter] = "NO" )

Como probablemente sepa, esta no es una forma muy eficiente de agregar tablas (ya que todos los datos serán dobles en el modelo de datos). Personalmente, intentaría ver si las transformaciones que hizo en DAX para crear las tablas son posibles en Power Query.

Saludos
Jeroen

Si esta publicación ayuda,considere aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
Aprecia tus felicitaciones!!




Gracias por su respuesta y ayuda.

@jeroendekk puede hacerlo con ADDCOLUMNS().

Personalmente aplicaría el filtro antes, pero puede que no importe.

Combined Table = UNION (
ADDCOLUMNS(FILTER(Table1,[Filter]="No"),"Table Reference","Table1"),
ADDCOLUMNS(FILTER(Table2,[Filter]="No"),"Table Reference","Table2"),
ADDCOLUMNS(FILTER(Table3,[Filter]="No"),"Table Reference","Table3"),
ADDCOLUMNS(FILTER(Table4,[Filter]="No"),"Table Reference","Table4")
)

View solution in original post

@lbendlin,

Tengo una situación diferente, así que necesito su orientación sobre cómo puedo modificar el código DAX.

Me gustaría elegir algunas de las columnas en 4 tablas en lugar de elegir tablas enteras porque esas columnas de 4 tablas no son iguales y tienen diferentes longitudes en cada tabla. (Ejemplo: la Tabla 1 contiene 5 columnas y la Tabla 2 contiene 10 columnas y la Tabla 3 contiene 18 columnas y la Tabla 4 contiene 22 columnas)

Ejemplo de resultado deseado cada columna: id, código de ciudad, referencias de tabla solo en 4 tablas.

¿Es posible? ¿Puede por favor aconsejar?

Sí, puede utilizar SELECTCOLUMNS() como parte del DAX. Esto solo funcionará si conoce los nombres de columna para cada una de las tablas, si los tipos de columna coinciden, las columnas están en el mismo orden y tiene el mismo número de columnas de cada tabla. La UNIÓN () tomará los nombres de columna de la primera tabla e ignorará los nombres de columna de las otras tablas.

Muchas gracias por su ayuda. está funcionando bien.

Helpful resources

Announcements
Power BI December 2021 Update_carousel 768x460.jpg

Check it Out!

Click here to read more about the December 2021 Updates!

User Group Leader Meeting January 768x460.png

Calling all User Group Leaders!

Don't miss the User Group Leader meetings on January, 24th & 25th, 2022.

Jan 2022 Dev Camp 768x460 copy.png

Power BI Dev Camp- January 27th, 2022

Mark your calendars and join us for our next Power BI Dev Camp!

Top Kudoed Authors