Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started
Hola
Estoy consultando Microsoft Business Central. Tiene dos mesas. La tabla de datos con EntityID, y una tabla de datos de usuario que tiene "EntityID from" y "EntityID to".
Si mi EntityID es 6, ¿cómo puedo crear una relación con la tabla de datos de usuario si "EntityID de" es 1 y "EntityID a" es 10? ya que 6 está entre 1 y 10?
¿Es esto posible?
La tabla de datos de usuario tiene una columna de usuario que quiero mostrar en la tabla de datos.
Saludos
Graham
Solved! Go to Solution.
En el editor de consultas, puede definir una columna personalizada como una lista:
{[#"From Entry No."]..[#"To Entry No."]}
Elimine las columnas innecesarias y expanda la columna de lista.
Aquí hay una consulta M completa que puede pasar en su Editor Avanzado:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlTSUTIw1Dc00DcyMAJx3IsSMxJzFYLyk7OBPM8QIOGUWJKcYWAAkgVjU6VYnWglI5BOIySdwZm5+XkKTolgjcGJOanFCL0gxYZmQMLIDKzZGKTZGEmzV35GnoJLfnkqpl6QWiNzIGFsoBQbCwA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"No." = _t, #"Creation Date" = _t, #"User ID" = _t, Source = _t, #"Journal Batch Name" = _t, #"From Entry No." = _t, #"To Entry No." = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"No.", Int64.Type}, {"Creation Date", type date}, {"User ID", type text}, {"Source", type text}, {"Journal Batch Name", type text}, {"From Entry No.", Int64.Type}, {"To Entry No.", Int64.Type}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "Entrie No.", each {[#"From Entry No."]..[#"To Entry No."]}, type list),
#"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"No.", "From Entry No.", "To Entry No."}),
#"Expanded Entrie No." = Table.ExpandListColumn(#"Removed Columns", "Entrie No."),
#"Reordered Columns" = Table.ReorderColumns(#"Expanded Entrie No.",{"Entrie No.", "Creation Date", "User ID", "Source", "Journal Batch Name"})
in
#"Reordered Columns"
No creo que esto sea posible en el propio DAX. Haría esto en su proceso etl, donde tal vez agregaría una nueva columna de clave que se conectaría a EntityID.
No es posible. Las relaciones tienen que coincidir con las claves, no solo compararlas.
La solución sería expandir la tabla de datos de usuario para tener una fila por entidad.
Hola AlexisOlson
¿Cómo expandiría la tabla de datos de usuario para tener una fila por entidad en Power BI?
Saludos
Graham
No @GrahamR99,
¿Podría proporcionar algunos datos ficticios con la salida esperada para la prueba?
Saludos
Kelly
¿Respondí a su pregunta? ¡Marque mi respuesta como una solución!
Hola @v-kelly-msft
Estos son mis datos;
No. | Fecha de creación | ID de usuario | Fuente | Nombre del lote de diario | Desde la entrada No. | A la entrada No. |
1 | 01/10/2021 | Roca Graham | ESO | Lote001 | 1 | 15 |
2 | 02/10/2021 | Simon Volver | Ventas | Lote002 | 16 | 26 |
3 | 03/10/2021 | Juan Sordo | Ventas | Lote003 | 27 | 30 |
Lo quiero así;
Entrie No. | Fecha de creación | ID de usuario | Fuente | Nombre del lote de diario |
1 | 01/10/2021 | Roca Graham | ESO | Lote001 |
2 | 01/10/2021 | Roca Graham | ESO | Lote001 |
3 | 01/10/2021 | Roca Graham | ESO | Lote001 |
4 | 01/10/2021 | Roca Graham | ESO | Lote001 |
5 | 01/10/2021 | Roca Graham | ESO | Lote001 |
6 | 01/10/2021 | Roca Graham | ESO | Lote001 |
7 | 01/10/2021 | Roca Graham | ESO | Lote001 |
8 | 01/10/2021 | Roca Graham | ESO | Lote001 |
9 | 01/10/2021 | Roca Graham | ESO | Lote001 |
10 | 01/10/2021 | Roca Graham | ESO | Lote001 |
11 | 01/10/2021 | Roca Graham | ESO | Lote001 |
12 | 01/10/2021 | Roca Graham | ESO | Lote001 |
13 | 01/10/2021 | Roca Graham | ESO | Lote001 |
14 | 01/10/2021 | Roca Graham | ESO | Lote001 |
15 | 01/10/2021 | Roca Graham | ESO | Lote001 |
16 | 02/10/2021 | Simon Volver | Ventas | Lote002 |
17 | 02/10/2021 | Simon Volver | Ventas | Lote002 |
18 | 02/10/2021 | Simon Volver | Ventas | Lote002 |
19 | 02/10/2021 | Simon Volver | Ventas | Lote002 |
20 | 02/10/2021 | Simon Volver | Ventas | Lote002 |
21 | 02/10/2021 | Simon Volver | Ventas | Lote002 |
22 | 02/10/2021 | Simon Volver | Ventas | Lote002 |
23 | 02/10/2021 | Simon Volver | Ventas | Lote002 |
24 | 02/10/2021 | Simon Volver | Ventas | Lote002 |
25 | 02/10/2021 | Simon Volver | Ventas | Lote002 |
26 | 02/10/2021 | Simon Volver | Ventas | Lote002 |
27 | 03/10/2021 | Juan Sordo | Ventas | Lote003 |
28 | 03/10/2021 | Juan Sordo | Ventas | Lote003 |
29 | 03/10/2021 | Juan Sordo | Ventas | Lote003 |
30 | 03/10/2021 | Juan Sordo | Ventas | Lote003 |
¿Cómo lo hago?
Saludos
GrahamR99
No @GrahamR99,
Basándome en mi subestimación, creo 2 relaciones entre las 2 tablas, una está activa y la otra está inactiva, como se muestra a continuación:
Luego, puede crear fácilmente las columnas que necesita, como las siguientes:
_userID =
CALCULATE (
MAX ( 'user data'[User ID] ),
FILTER (
'user data',
'data'[Entrie No.] >= 'user data'[From Entry No.]
&& 'data'[Entrie No.] <= 'user data'[To Entry No.]
)
)
Y verás:
Para mi archivo .pbxi de muestra, pls ver adjunto.
Saludos
Kelly
¿Respondí a su pregunta? ¡Marque mi respuesta como una solución!
En el editor de consultas, puede definir una columna personalizada como una lista:
{[#"From Entry No."]..[#"To Entry No."]}
Elimine las columnas innecesarias y expanda la columna de lista.
Aquí hay una consulta M completa que puede pasar en su Editor Avanzado:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlTSUTIw1Dc00DcyMAJx3IsSMxJzFYLyk7OBPM8QIOGUWJKcYWAAkgVjU6VYnWglI5BOIySdwZm5+XkKTolgjcGJOanFCL0gxYZmQMLIDKzZGKTZGEmzV35GnoJLfnkqpl6QWiNzIGFsoBQbCwA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"No." = _t, #"Creation Date" = _t, #"User ID" = _t, Source = _t, #"Journal Batch Name" = _t, #"From Entry No." = _t, #"To Entry No." = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"No.", Int64.Type}, {"Creation Date", type date}, {"User ID", type text}, {"Source", type text}, {"Journal Batch Name", type text}, {"From Entry No.", Int64.Type}, {"To Entry No.", Int64.Type}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "Entrie No.", each {[#"From Entry No."]..[#"To Entry No."]}, type list),
#"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"No.", "From Entry No.", "To Entry No."}),
#"Expanded Entrie No." = Table.ExpandListColumn(#"Removed Columns", "Entrie No."),
#"Reordered Columns" = Table.ReorderColumns(#"Expanded Entrie No.",{"Entrie No.", "Creation Date", "User ID", "Source", "Journal Batch Name"})
in
#"Reordered Columns"
Gracias por su ayuda a todos, fue genial.
Depende de cómo se almacenen sus datos, pero este es un ejemplo de una transformación similar:
Check out the September 2024 Power BI update to learn about new features.
Learn from experts, get hands-on experience, and win awesome prizes.
User | Count |
---|---|
2 | |
2 | |
1 | |
1 | |
1 |