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

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.

Reply
Anonymous
Not applicable

Mostrar fecha continua y reflejar '0' para los datos que faltan

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 entregaCust No.Doc No. Vuelo
9/1/2020 12:00:00 AMCHS156ML95892690
9/1/2020 12:00:00 AMCHS156MM06679821
9/2/2020 12:00:00 AMCHS256ML99463464
9/2/2020 12:00:00 AMCHS156MM03162346
9/2/2020 12:00:00 AMCHS156MM03205677
9/2/2020 12:00:00 AMCHS156MM03175245
9/3/2020 12:00:00 AMCHS256MM04773522
9/5/2020 12:00:00 AMCHS156MM07413256

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 entregaCust No.Doc No. Vuelo
9/1/2020 12:00:00 AMCHS156ML95892690
9/1/2020 12:00:00 AMCHS156MM06679821
9/1/2020 12:00:00 AMCHS256 0
9/2/2020 12:00:00 AMCHS256ML99463464
9/2/2020 12:00:00 AMCHS156MM03162346
9/2/2020 12:00:00 AMCHS156MM03205677
9/2/2020 12:00:00 AMCHS156MM03175245
9/3/2020 12:00:00 AMCHS256MM04773522
9/3/2020 12:00:00 AMCHS156 0
9/4/2020 12:00:00 AMCHS256 0
9/4/2020 12:00:00 AMCHS156 0
9/5/2020 12:00:00 AMCHS156MM07413256
9/5/2020 12:00:00 AMCHS256 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

1 ACCEPTED SOLUTION
v-alq-msft
Community Support
Community Support

Hola, @ngzongyi

Según su descripción, creé datos para reproducir su escenario, El archivo pbix se adjunta al final.

Mesa:

b1.png

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"

b2.png

Resultado:

b3.png

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.

View solution in original post

3 REPLIES 3
v-alq-msft
Community Support
Community Support

Hola, @ngzongyi

Según su descripción, creé datos para reproducir su escenario, El archivo pbix se adjunta al final.

Mesa:

b1.png

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"

b2.png

Resultado:

b3.png

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.

FarhanAhmed
Community Champion
Community Champion

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.







Did I answer your question? Mark my post as a solution! Appreciate your Kudos!!

Proud to be a Super User!




Anonymous
Not applicable

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.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.