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.
Hola a todos
Creo que podría haber duplicado accidentalmente post y marcado como spam, he eliminado el hilo anterior
Tengo la siguiente tabla que contiene información de entrega - la fecha de entrega, para qué cliente (cust no.) y el producto y la cantidad de volumen (vol).
Sin embargo, solo refleja los días en los que hay una entrega:
Fecha de entrega | Cust No. | Doc No. | Vuelo |
9/1/2020 12:00:00 AM | CHS156 | ML9589 | 2690 |
9/1/2020 12:00:00 AM | CHS156 | MM0667 | 9821 |
9/2/2020 12:00:00 AM | CHS256 | ML9946 | 3464 |
9/2/2020 12:00:00 AM | CHS156 | MM0316 | 2346 |
9/2/2020 12:00:00 AM | CHS156 | MM0320 | 5677 |
9/2/2020 12:00:00 AM | CHS156 | MM0317 | 5245 |
9/3/2020 12:00:00 AM | CHS256 | MM0477 | 3522 |
9/5/2020 12:00:00 AM | CHS156 | MM0741 | 3256 |
Sin embargo, me gusta una mesa para reflejar todos los días, incluso sin entrega (reflejando "0" para vol), para cada cliente respectivo.
Creo que debería tener un aspecto similar al siguiente:
Fecha de entrega | Cust No. | Doc No. | Vuelo |
9/1/2020 12:00:00 AM | CHS156 | ML9589 | 2690 |
9/1/2020 12:00:00 AM | CHS156 | MM0667 | 9821 |
9/1/2020 12:00:00 AM | CHS256 | 0 | |
9/2/2020 12:00:00 AM | CHS256 | ML9946 | 3464 |
9/2/2020 12:00:00 AM | CHS156 | MM0316 | 2346 |
9/2/2020 12:00:00 AM | CHS156 | MM0320 | 5677 |
9/2/2020 12:00:00 AM | CHS156 | MM0317 | 5245 |
9/3/2020 12:00:00 AM | CHS256 | MM0477 | 3522 |
9/3/2020 12:00:00 AM | CHS156 | 0 | |
9/4/2020 12:00:00 AM | CHS256 | 0 | |
9/4/2020 12:00:00 AM | CHS156 | 0 | |
9/5/2020 12:00:00 AM | CHS156 | MM0741 | 3256 |
9/5/2020 12:00:00 AM | CHS256 | 0 |
Donde si tuviera que filtrar por cliente no. , todavía voy a ver fechas continuas para cada cliente no.
Anteriormente intenté hacer lo siguiente, pero no funcionó:
Donde creé una tabla de calendario continua y me fusioné con esta tabla de entrega
Nueva tabla : GENERATEALL ( 'Calendario', VAR Tdate 'Calendario'[Fecha] RETURN SELECTCOLUMNS ( CALCULATETABLE ( 'DO (Merge)', 'DO (Merge)'[Fecha de entrega solamente] ? Tdate ), "DO Delivered Date",'DO (Merge)'[Fecha de entrega solamente], "No cliente", 'DO (Combinar)'[No cliente) )
pero parece que sólo llenar las fechas que faltan por completo y no para el cliente respectivo no.
Gracias
Solved! Go to Solution.
Hola, @ngzongyi
Según su descripción, creé datos para reproducir su escenario, El archivo pbix se adjunta al final.
Mesa:
Puede crear una nueva consulta y pegar los siguientes códigos en 'Advanced Editor'.
let
Source = let mindate=List.Min(Table[Delivered Date]),maxdate=List.Max(Table[Delivered Date]) in
List.Dates(
mindate,
Duration.Days( maxdate-mindate)+1,
#duration(1,0,0,0)
),
#"Converted to Table" = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Renamed Columns" = Table.RenameColumns(#"Converted to Table",{{"Column1", "Delivered Date"}}),
#"Added Custom" = Table.AddColumn(#"Renamed Columns", "Cust", each Table.Distinct(
Table.FromList( Table[Cust No],Splitter.SplitByNothing(),null,null,ExtraValues.Error )
)),
#"Expanded Cust" = Table.ExpandTableColumn(#"Added Custom", "Cust", {"Column1"}, {"Cust.Column1"}),
#"Added Custom1" = Table.AddColumn(#"Expanded Cust", "Custom", each let
date = [Delivered Date],cust=[Cust.Column1],
tab = Table.SelectRows(
Table,
each [Delivered Date]=date and
[Cust No]=cust
)[Doc No]
in
tab
),
#"Expanded Custom" = Table.ExpandListColumn(#"Added Custom1", "Custom"),
#"Added Custom2" = Table.AddColumn(#"Expanded Custom", "Custom.1", each let
date = [Delivered Date],cust=[Cust.Column1],
c=[Custom],
val = List.Sum( Table.SelectRows(
Table,
each [Delivered Date]=date and
[Cust No]=cust and
[Doc No]=c
)[Vol]
)
in
if val=null
then 0
else val
),
#"Renamed Columns1" = Table.RenameColumns(#"Added Custom2",{{"Cust.Column1", "Cust No."}, {"Custom", "Doc No."}, {"Custom.1", "Vol"}})
in
#"Renamed Columns1"
Resultado:
Saludos
Allan
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola, @ngzongyi
Según su descripción, creé datos para reproducir su escenario, El archivo pbix se adjunta al final.
Mesa:
Puede crear una nueva consulta y pegar los siguientes códigos en 'Advanced Editor'.
let
Source = let mindate=List.Min(Table[Delivered Date]),maxdate=List.Max(Table[Delivered Date]) in
List.Dates(
mindate,
Duration.Days( maxdate-mindate)+1,
#duration(1,0,0,0)
),
#"Converted to Table" = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Renamed Columns" = Table.RenameColumns(#"Converted to Table",{{"Column1", "Delivered Date"}}),
#"Added Custom" = Table.AddColumn(#"Renamed Columns", "Cust", each Table.Distinct(
Table.FromList( Table[Cust No],Splitter.SplitByNothing(),null,null,ExtraValues.Error )
)),
#"Expanded Cust" = Table.ExpandTableColumn(#"Added Custom", "Cust", {"Column1"}, {"Cust.Column1"}),
#"Added Custom1" = Table.AddColumn(#"Expanded Cust", "Custom", each let
date = [Delivered Date],cust=[Cust.Column1],
tab = Table.SelectRows(
Table,
each [Delivered Date]=date and
[Cust No]=cust
)[Doc No]
in
tab
),
#"Expanded Custom" = Table.ExpandListColumn(#"Added Custom1", "Custom"),
#"Added Custom2" = Table.AddColumn(#"Expanded Custom", "Custom.1", each let
date = [Delivered Date],cust=[Cust.Column1],
c=[Custom],
val = List.Sum( Table.SelectRows(
Table,
each [Delivered Date]=date and
[Cust No]=cust and
[Doc No]=c
)[Vol]
)
in
if val=null
then 0
else val
),
#"Renamed Columns1" = Table.RenameColumns(#"Added Custom2",{{"Cust.Column1", "Cust No."}, {"Custom", "Doc No."}, {"Custom.1", "Vol"}})
in
#"Renamed Columns1"
Resultado:
Saludos
Allan
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Creo que debería crear tablas customer & Date.
Cree una medida de Volumen que devolverá "0" si está en blanco.
A continuación, utilice Date & Customer en esas tablas y habilite "Mostrar elementos sin datos" en la tabla o en el objeto visual Matrix para obtener los resultados deseados.
Proud to be a Super User!
Hola
Gracias por la respuesta.
No estoy seguro si lo tengo correctamente.
¿Quiere decir que debo separar el Cliente No. como una mesa diferente? y eso me dejará con 3 mesas (fecha, cliente y entrega?)
¿Cómo recomendaría que administrara una relación entre estas 3 tablas.
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 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |