Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
4 years ago
Solved

indefinido

Hola a todos,

Quiero crear una tabla que tenga solo el año y el mes entre 2 fechas

2019-12-1 2024-12-31

mi mesa tiene que ser así

ho.PNG

¿Podría alguien por favor decirme qué debo hacer?

  • Hay @rima_ch ,

    Compruebe la nueva fórmula de tabla.

    Table = distinct(SELECTCOLUMNS(CALENDAR(DATE(2019,12,1),DATE(2024,12,31)),"Year",YEAR([Date]),"Month",FORMAT([Date],"MMMM")))

    Capture.PNG

    Saludos

    Arrendajo

8 Replies

  • Hola @rima_ch ,
    Vaya a power query y péguelo en el editor avanzado:

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjTSN9Q3MjC0VNIBsY1BHCMTpdhYAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Start = _t, End = _t]),
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"Start", type date}, {"End", type date}}),
        #"Added Custom" = Table.AddColumn(#"Changed Type", "Dates", each {Number.From([Start])..Number.From([End])}),
        #"Expanded Dates" = Table.ExpandListColumn(#"Added Custom", "Dates"),
        #"Changed Type1" = Table.TransformColumnTypes(#"Expanded Dates",{{"Dates", type date}}),
        #"Added Custom1" = Table.AddColumn(#"Changed Type1", "Year", each Date.Year([Dates])),
        #"Added Custom2" = Table.AddColumn(#"Added Custom1", "Month", each Date.MonthName([Dates])),
        #"Changed Type2" = Table.TransformColumnTypes(#"Added Custom2",{{"Year", type text}, {"Month", type text}}),
        #"Removed Other Columns" = Table.SelectColumns(#"Changed Type2",{"Year", "Month"}),
        #"Grouped Rows" = Table.Group(#"Removed Other Columns", {"Year", "Month"}, {{"det", each _, type table [Year=nullable text, Month=nullable text]}}),
        #"Removed Columns" = Table.RemoveColumns(#"Grouped Rows",{"det"})
    in
        #"Removed Columns"


    Hágamelo saber si tiene alguna pregunta.

    Si esto resuelve sus problemas, márquelo como la solución, para que otros puedan encontrarlo fácilmente. Felicitaciones 👍también son agradables.
    Nathaniel

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      Hola @rima_ch ,
      Aquí hay fotos de pasos en orden inverso.
      Hágamelo saber si tiene alguna pregunta.

      Si esto resuelve sus problemas, márquelo como la solución, para que otros puedan encontrarlo fácilmente. Felicitaciones 👍también son agradables.
      Nathaniel
      Advanced Editor paste code Editor avanzado pegar códigopestaña Inicio en Home tab in PQ new source blank query PQ nueva consulta en blanco de origenEn In PowerBI  Transform Data on home tab PowerBI Transformar datos en la pestaña inicio Tabla Final table final

      • Syndicate_Admin's avatar
        Syndicate_Admin
        Icon for Administrator rankAdministrator

        Muchas gracias esto es tan útil pero podría por favor decirme cómo crearlo Dax y no power query

  • Otra posible construcción:

    let
        Start = #date(2019,12,1),
        End = #date(2024,12,31),
        Years = {Date.Year(Start)..Date.Year(End)},
        #"Converted to Table" = Table.FromList(Years, Splitter.SplitByNothing(), {"Year"}),
        #"Added Months" = Table.AddColumn(#"Converted to Table", "Month", each {1..12}),
        #"Expanded Month" = Table.ExpandListColumn(#"Added Months", "Month"),
        #"Changed Type" = Table.TransformColumnTypes(#"Expanded Month",{{"Year", Int64.Type}, {"Month", Int64.Type}}),
        #"Added Date" = Table.AddColumn(#"Changed Type", "Date", each #date([Year], [Month], 1), type date),
        #"Filtered Rows" = Table.SelectRows(#"Added Date", each [Date] >= Start and [Date] <= End),
        #"Added Custom" = Table.AddColumn(#"Filtered Rows", "MonthName", each Date.MonthName([Date]), type text)
    in
        #"Added Custom"

    Puede mantener o eliminar las columnas adicionales como desee.

    AlexisOlson_0-1637983133493.png

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      Muchas gracias esto es lo que necesito pero podría por favor decirme cómo crearlo Dax y no power query

      • Syndicate_Admin's avatar
        Syndicate_Admin
        Icon for Administrator rankAdministrator

        DAX es un poco más simple en este caso:

        MonthlyCalendar =
        ADDCOLUMNS (
            FILTER (
                CALENDAR (
        			DATE ( 2019, 12, 1 ),
        			DATE ( 2024, 12, 31 )
        		),
                DAY ( [Date] ) = 1
            ),
            "Year", YEAR ( [Date] ),
            "Month", MONTH ( [Date] ),
            "MonthName", FORMAT ( [Date], "mmmm" )
        )

  • Hay @rima_ch ,

    Compruebe la nueva fórmula de tabla.

    Table = distinct(SELECTCOLUMNS(CALENDAR(DATE(2019,12,1),DATE(2024,12,31)),"Year",YEAR([Date]),"Month",FORMAT([Date],"MMMM")))

    Capture.PNG

    Saludos

    Arrendajo