Skip to content

Instantly share code, notes, and snippets.

@Maxa
Created June 6, 2021 16:45

Revisions

  1. Maxa created this gist Jun 6, 2021.
    70 changes: 70 additions & 0 deletions calendar_FI.dax
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,70 @@
    Kalenteri =
    VAR __START_DATE = MIN(Table[Date_column])
    VAR __END_DATE = MAX(Table[Date_column])
    VAR __BASE_CALENDAR = CALENDAR(__START_DATE, __END_DATE)
    VAR __BASE_CALENDAR_FI = SELECTCOLUMNS(__BASE_CALENDAR, "Pvm", [Date])

    RETURN
    GENERATE(
    __BASE_CALENDAR_FI,
    VAR __DATE = [Pvm]
    VAR __YEAR = YEAR(__DATE)
    VAR __QUARTER = FORMAT(__DATE, "Q")
    VAR __MONTH = MONTH(__DATE)
    VAR __HALF = ROUNDUP(__MONTH / 6, 0)
    VAR __ISOWEEK = WEEKNUM(__DATE, 21)
    VAR __ISOWEEK_YEAR = SWITCH(TRUE(),
    __MONTH == 1 && __ISOWEEK > 50, __YEAR-1,
    __MONTH == 12 && __ISOWEEK < 5, __YEAR+1,
    __YEAR
    )
    VAR __WEEKDAY_NUMBER = WEEKDAY(__DATE,2)
    VAR __MONTH_NAME_FI = SWITCH(__MONTH,
    1,"tammi",
    2,"helmi",
    3,"maalis",
    4,"huhti",
    5,"touko",
    6,"kesä",
    7,"heinä",
    8,"elo",
    9,"syys",
    10,"loka",
    11,"marras",
    12,"joulu"
    )
    VAR __WEEKDAY_NAME_FI = SWITCH(__WEEKDAY_NUMBER,
    1,"maanantai",
    2,"tiistai",
    3,"keskiviikko",
    4,"torstai",
    5,"perjantai",
    6,"lauantai",
    7,"sunnuntai"
    )

    RETURN
    ROW(
    "Vuosi", __YEAR,
    "Vuosipuolikas", "H" & __HALF,
    "Vuosi ja puolikas", __YEAR & "/H" & __HALF,
    "Kvartaali", "Q" & __QUARTER,
    "VuosiKvartaali", __YEAR & "/Q" & __QUARTER,
    "Kuukausi", __MONTH,
    "Kuu", FORMAT(__DATE,"mmm"),
    "Kuu FI", __MONTH_NAME_FI,
    "Kuukauden nimi", FORMAT(__DATE,"mmmm"),
    "Kuukauden nimi FI", __MONTH_NAME_FI & "kuu",
    "VuosiKuukausi", __YEAR & "/" & FORMAT(__MONTH, "00"),
    "VuosiKuu", __YEAR & "/" & FORMAT(__DATE,"mmm"),
    "VuosiKuu FI", __YEAR & "/" & __MONTH_NAME_FI,
    "Viikko", __ISOWEEK,
    "VuosiViikko", __ISOWEEK_YEAR & "/vk" & FORMAT(__ISOWEEK, "00"),
    "Viikonpäivä", __WEEKDAY_NUMBER,
    "Viikonpäivän nimi", FORMAT(__DATE,"dddd"),
    "Viikonpäivän nimi FI", __WEEKDAY_NAME_FI,
    "Viikonpäivän lyhenne", FORMAT(__DATE,"ddd"),
    "Viikonpäivän lyhenne FI", LEFT(__WEEKDAY_NAME_FI,2),
    "Päivä", DAY(__DATE)
    )
    )