Power query Календарь из месяца или календарь из таблицы

Я переформулирую свой вопрос (прежде всего извините и спасибо за поддержку).

У меня есть таблица «Horas trabajadores» со столбцом даты под названием «Fecha» (я пока не могу добавлять изображения, поэтому печатаю таким образом), где у меня нет всех дней месяца, если не несколько дней:

Fecha
01/03/2024
03/03/2024
05/03/2024
10/03/2024
31/03/2024

Я хотел бы создать новую таблицу под названием «NumberFromTo» со столбцом «WholeMonth», которая из месяца в столбце «Fecha» таблицы «Horas Trabajadores» генерирует все дни месяца до «WholeMonth», поэтому:

WholeMonth
01/03/2024
02/03/2024
03/03/2024
04/03/2024
05/03/2024
06/03/2024
07/03/2024
...one by one until the last day
31/03/2024

Надеюсь, это будет легче понять.

«Я пока не могу добавлять изображения...» Это хорошо. НЕ следует публиковать изображения данных/кода/сообщений об ошибках и т. д. Гораздо лучше публиковать эту информацию в виде текста, который можно скопировать/вставить.

Ron Rosenfeld 19.04.2024 19:54

Извините, я хотел добавить небольшое изображение таблицы, чтобы было понятно, а не кода или чего-то еще.

Luis Miguel 22.04.2024 12:04
Преобразование HTML-таблицы в профессиональный документ Excel
Преобразование HTML-таблицы в профессиональный документ Excel
Это самый простой способ создания Excel из HTML-таблицы.
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
0
2
82
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

это даст вам представление, попробуйте что-нибудь вроде этого:

let
  startDate = #date(2013, 1, 1),
  endDate = #date(2017, 10, 13),
  dur = #duration(1, 0, 0, 0),
  numberOfDays = Duration.Days(endDate - startDate),
  datesList = List.Dates(startDate, numberOfDays + 1, dur ),
  #"Converted to Table" = Table.FromList(datesList, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
  #"Changed Type" = Table.TransformColumnTypes(#"Converted to Table",{{"Column1", type date}})
in 

#"Changed Type"
Ответ принят как подходящий

Немного сложно понять, чего именно вы хотите.

Но чтобы создать список дат, включающий каждую дату месяца, включающую myDate, вы можете использовать:

   monthDays = List.Dates(
                    myDate, 
                    Duration.Days(Date.EndOfMonth(myDate)- Date.StartOfMonth(myDate)) +1, 
                    #duration(1,0,0,0))

Если myDate выпадает на март 2024 года, будет сгенерирован список всех дат в марте (формат MDY здесь):

Их можно преобразовать в имена столбцов таблицы с помощью функции Date.ToText.

Редактировать:
*Изучая ваше последнее изменение, где Fecha содержит несколько дат в одном и том же месяце, вы можете легко создать таблицу со всеми датами, просто, как я написал в своем комментарии, заменив myDate в приведенном выше коде на единственное свидание #"Horas trabajadores"[Fecha]{0}.

Таким образом, код для создания этой таблицы может быть таким:

let
    Source = Excel.CurrentWorkbook(){[Name = "baseDates"]}[Content],
    #"Horas trabajadores" = Table.TransformColumnTypes(Source,{{"Fecha", type date}}),
    #"Todo el mes" = Table.FromColumns ( 
        {List.Dates(
            #"Horas trabajadores"[Fecha]{0}, 
            Duration.Days(
                Date.EndOfMonth(#"Horas trabajadores"[Fecha]{0}) 
                - Date.StartOfMonth(#"Horas trabajadores"[Fecha]{0})) +1, 
            #duration(1,0,0,0))},
            type table[#"Todo el mes" = date])

in
    #"Todo el mes"

Что создает таблицу:

Привет! В таблице «Horas trabajadores» у меня есть столбец «Fecha», в котором нет всех дней месяца. Мне нужна новая таблица, которая: 1 - содержит месяц столбца «Феча» «Horas Trabajadores». 2- Из месяца в столбце «Феча» сгенерируйте все дни месяца. monthDays = List.Dates( #"HORAS TRABAJADORES"[Fecha], Duration.Days(Date.EndOfMonth(#"HORAS TRABAJADORES"[Fecha])- Date.StartOfMonth(#"HORAS TRABAJADORES"[Fecha])) +1, #duration(1,0,0,0)) Ошибка: значение «Дата» должно содержать компонент «Дата». Подробности: [Список]

Luis Miguel 17.04.2024 10:38

@LuisMiguel Я до сих пор не знаю, что ты пытаешься сделать, поскольку ты еще не привел подходящего примера. Однако ваша конкретная формула не работает, потому что #"HORAS TRABAJADORES"[Fecha] возвращает List, а функции List.Dates, Date.EndOfMonth и Date.StartOfMonth ищут Date. Вы не можете заменить одну дату списком дат.

Ron Rosenfeld 17.04.2024 12:36

У нас есть таблица «Horas Trabajadores» со столбцом «Fecha» с несколькими днями уникального месяца (03.01.2024, 03.05.2024..). Вот месяц «03». Я хочу создать новую таблицу «NumberFromTo», которая берет месяц «Horas Trabajadores» (в данном случае «03») и генерирует все дни месяца. Это потому, что я вызываю столбец [Fecha] и получаю ошибку. Знаешь, как я могу это сделать?

Luis Miguel 18.04.2024 09:57

@LuisMiguel Повторение того, что вы написали ранее, не делает это более понятным. Отредактируйте свой вопрос, предоставив образец таблицы в уценке, которую можно скопировать/вставить.

Ron Rosenfeld 18.04.2024 12:12

@LuisMiguel Возможно, вы сможете просто назвать одну дату из этого столбца.

Ron Rosenfeld 18.04.2024 14:17

Я отредактировал свое сообщение, спасибо за вашу поддержку и еще раз извините!

Luis Miguel 19.04.2024 15:33

Большое спасибо! Когда вы представляете {0} на #"Horas trabajadores"[Fecha]{0}. Имеется в виду диапазон?

Luis Miguel 22.04.2024 12:06

@LuisMiguel #"Horas trabajadores"[Fecha] возвращает весь столбец в виде списка. {0} возвращает первую запись в этом списке.

Ron Rosenfeld 22.04.2024 13:47

ок @Рон Ронсенфельд! Большое спасибо! Ценить!

Luis Miguel 26.04.2024 11:18

Другие вопросы по теме