Creación de una tabla de calendario con variables: fecha mínima incorrecta

Un usuario Pregunto ✅

rliebau

Estoy creando una tabla de fechas calculadas usando fechas mínimas y máximas como rango de fechas. Frecuentemente hago esto usando fechas de una tabla importada, pero esta vez ingresé manualmente el MinDate que quiero. No importa lo que haga, el rango de fechas real no pasa del 1/1/2019.

Aquí está mi código:

Date = 
var MinDate = DATE(2014,1,1)
var MaxDate = EOMONTH(TODAY(),-1)
RETURN
ADDCOLUMNS(
    FILTER(
        CALENDARAUTO(),
        [Date]>= MinDate &&
        [Date]<= MaxDate
    ),
    "Year", YEAR([Date]),
    "Quarter Number", INT(FORMAT([Date], "q")),
    "Quater", "Q" & INT(FORMAT([Date], "q")),
    "Quarter Year", INT(FORMAT([Date],"q")) & "Q" & RIGHT(YEAR([Date]),2),
    "Month End", EOMONTH([Date],0))

Está claro que quiero que la variable MinDate sea igual a 1/1/2014, y uso la función DATE() para reconocer ese valor como fecha.

Aquí hay algunas imágenes de la tabla de fechas:

PBIX_Dates_Ex.PNG

Solo creó una tabla de fechas con 1/1/2019 como la fecha más temprana. ¿Qué me estoy perdiendo?

Alba

Hola @rliebau

Utilice CALENDARIO en lugar de CALENDARAUTO:

Date =
VAR MinDate = DATE ( 2014, 1, 1 )
VAR MaxDate = EOMONTH ( TODAY (), -1 )
RETURN
    ADDCOLUMNS (
        CALENDAR ( MinDate, MaxDate ),
        "Year", YEAR ( [Date] ),
        "Quarter Number", INT ( FORMAT ( [Date], "q" ) ),
        "Quater", "Q" & INT ( FORMAT ( [Date], "q" ) ),
        "Quarter Year", INT ( FORMAT ( [Date], "q" ) ) & "Q"
            & RIGHT ( YEAR ( [Date] ), 2 ),
        "Month End", EOMONTH ( [Date], 0 )
    )

Marque la pregunta como resuelta cuando haya terminado y considere dar felicitaciones si las publicaciones son útiles.

Salud datanauta

rliebau

Lo arreglé. Olvidé que CALENDARAUTO() se basa en una columna de fecha y hora base en una tabla existente. Ya había importado una tabla que solo tenía un rango de fechas en 2019.

Aquí está el código corregido para cualquier persona interesada:

Date = 
var MinDate = DATE(2014,1,1)
var MaxDate = EOMONTH(TODAY(),-1)
RETURN
ADDCOLUMNS(
    CALENDAR(MinDate, MaxDate),
    "Year", YEAR([Date]),
    "Quarter Number", INT(FORMAT([Date], "q")),
    "Quater", "Q" & INT(FORMAT([Date], "q")),
    "Quarter Year", INT(FORMAT([Date],"q")) & "Q" & RIGHT(YEAR([Date]),2),
    "Month End", EOMONTH([Date],0))

Alba

Hola @rliebau

Utilice CALENDARIO en lugar de CALENDARAUTO:

Date =
VAR MinDate = DATE ( 2014, 1, 1 )
VAR MaxDate = EOMONTH ( TODAY (), -1 )
RETURN
    ADDCOLUMNS (
        CALENDAR ( MinDate, MaxDate ),
        "Year", YEAR ( [Date] ),
        "Quarter Number", INT ( FORMAT ( [Date], "q" ) ),
        "Quater", "Q" & INT ( FORMAT ( [Date], "q" ) ),
        "Quarter Year", INT ( FORMAT ( [Date], "q" ) ) & "Q"
            & RIGHT ( YEAR ( [Date] ), 2 ),
        "Month End", EOMONTH ( [Date], 0 )
    )

Marque la pregunta como resuelta cuando haya terminado y considere dar felicitaciones si las publicaciones son útiles.

Salud datanauta

rliebau

En respuesta a Alba

@AlB Gracias. ¡Lo descubrí pero apenas me ganaste!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *