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
JCPO
Helper I
Helper I

Total entre dos fechas diferentes en diferentes columnas

¡Hola, chicos!

Encontré un problema recientemente en uno de mis proyectos.

Básicamente, estoy creando un Informe de Inventario Usable basado en los datos que se nos envían

En el archivo sin procesar, tenemos las columnas ff:

Código SKUInventario a manoCódigo de loteFecha de recepciónFecha de uso final
20010G1017526101/15/202006/12/2020

Lo que me gustaría que sucediera es obtener el suministro utilizable desde y hacia esas fechas eclocitas de datos de muestra spLink to y establecerlo en un año completo.

Salida como se ilustra a continuación:

Wk 3 - siendo la fecha de recepción

wk 24 - Fecha de uso final

Wk 25 - inutilizable

wk 1,,,wk 3wk 24wk 25
20010G001010100

¿Crees que esto es posible?

¡Gracias!

Enlace a datos de muestra

@jdbuchanan71

@v-eachen-msft

1 ACCEPTED SOLUTION
TomMartens
Super User
Super User

Hola @JCPO ,

Creé una tabla de calendario dedicada con esta instrucción DAX:

Calendar = 
var DateStart = MIN('Sheet'[Receipt Date])
var DateEnd = MAX('Sheet'[Final Dispatch Date])
return
ADDCOLUMNS(
    ADDCOLUMNS(
        CALENDAR( DateStart , DateEnd )
        , "weeknum iso" , WEEKNUM(''[Date] , 21)
        , "year" , YEAR(''[Date])
    )
    , "year iso" , 
        IF([weeknum iso] < 5 && WEEKNUM(''[Date]) > 50 
            , [year] + 1 
            , IF([weeknum iso] > 50 && WEEKNUM(''[Date]) < 5 ,
                [year] - 1 ,  
                [year]
            )
        )
)

Luego expandí la tabla existente de su hoja de Excel de la siguiente forma:

Sheet Expanded = 
GENERATE(
    'Sheet'
    , DATESBETWEEN('Calendar'[Date] , 'Sheet'[Receipt Date] , 'Sheet'[Final Dispatch Date] )
)

Esto expande las filas 26k existentes a 12 millones de filas 🙂

Creé una relación entre la tabla de calendario y la tabla "Hoja expandida":

image.png

Tenga en cuenta que la tabla original "Hoja" está oculta, ya que ya no uso esta tabla para la visualización de datos.

Creé una medida:

Total Inventory = 
SUMX(
    VALUES('Sheet Expanded'[SKU Code])
    , var _lastdate = CALCULATE(MAX('Calendar'[Date]))
    return
    CALCULATE(SUM('Sheet Expanded'[Inventory]) , 'Calendar'[Date] = _lastdate)
) 

Esto permite crear un gráfico como este:

image.png

Aquí encontrará el pbix:
https://tommartens-my.sharepoint.com/:u:/g/personal/tom_minceddata_com/EbvQUuS6RAdBh82ACfyELloBR1EOx...

Con suerte, esto proporciona lo que está buscando.

saludos
Tom



Did I answer your question? Mark my post as a solution, this will help others!

Proud to be a Super User!
I accept Kudos 😉
Hamburg, Germany

View solution in original post

3 REPLIES 3
TomMartens
Super User
Super User

Hola @JCPO ,

Creé una tabla de calendario dedicada con esta instrucción DAX:

Calendar = 
var DateStart = MIN('Sheet'[Receipt Date])
var DateEnd = MAX('Sheet'[Final Dispatch Date])
return
ADDCOLUMNS(
    ADDCOLUMNS(
        CALENDAR( DateStart , DateEnd )
        , "weeknum iso" , WEEKNUM(''[Date] , 21)
        , "year" , YEAR(''[Date])
    )
    , "year iso" , 
        IF([weeknum iso] < 5 && WEEKNUM(''[Date]) > 50 
            , [year] + 1 
            , IF([weeknum iso] > 50 && WEEKNUM(''[Date]) < 5 ,
                [year] - 1 ,  
                [year]
            )
        )
)

Luego expandí la tabla existente de su hoja de Excel de la siguiente forma:

Sheet Expanded = 
GENERATE(
    'Sheet'
    , DATESBETWEEN('Calendar'[Date] , 'Sheet'[Receipt Date] , 'Sheet'[Final Dispatch Date] )
)

Esto expande las filas 26k existentes a 12 millones de filas 🙂

Creé una relación entre la tabla de calendario y la tabla "Hoja expandida":

image.png

Tenga en cuenta que la tabla original "Hoja" está oculta, ya que ya no uso esta tabla para la visualización de datos.

Creé una medida:

Total Inventory = 
SUMX(
    VALUES('Sheet Expanded'[SKU Code])
    , var _lastdate = CALCULATE(MAX('Calendar'[Date]))
    return
    CALCULATE(SUM('Sheet Expanded'[Inventory]) , 'Calendar'[Date] = _lastdate)
) 

Esto permite crear un gráfico como este:

image.png

Aquí encontrará el pbix:
https://tommartens-my.sharepoint.com/:u:/g/personal/tom_minceddata_com/EbvQUuS6RAdBh82ACfyELloBR1EOx...

Con suerte, esto proporciona lo que está buscando.

saludos
Tom



Did I answer your question? Mark my post as a solution, this will help others!

Proud to be a Super User!
I accept Kudos 😉
Hamburg, Germany

Esto amplía las 26k filas existentes a 12 millones de filas 

¿Cuánto tiempo tardó esto en completarse? Tengo una tabla de inventario, pero pensando en alterar las fechas de inicio (o fechas nulas), por: https://community.powerbi.com/t5/Desktop/Modelling-Best-Practices-with-Multiple-Date-Columns-amp-Val...

4.000 artículos * Veinte años * 365 días = 29.200.000 filas.

@JCPO

Muchas gracias @TomMartens !!!

Funciona como un encanto, pero todavía necesito entender el DAX para poder aplicar en otros problemas.

¡Gracias de nuevo!

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.