신 Excel의 신 달력 (?)에서 날짜를 안내
3620 단어 PowerBIPowerQuery신 Excel
신 캘린더란?
슬프게도, 날짜에 해당하는 부분이 이렇게되어있는 Excel을 만나는 것이 드물게 자주 있습니다 ...
연월
일
11
12
...
19
2020년 4월
20
21
...
29
30
1
2
...
14
2020년 5월
15
16
...
30
31
1
2
...
9
2020년 6월
10
11
...
20
연월이나 일은, 서식으로 그렇게 되어 있는 것이 아니라, 각각 캐릭터 라인과 수치로 격납되고 있습니다.
인간이 읽는 분에는 문제없는 Excel입니다만, 데이터로서 처리할 때의 고통 포인트는,
같은 곳입니까?
연월이 반드시 그 달내의 선두일 옆에 입력하고 있으면, 「아래 방향으로 필」로 어떻게든 할 수 있으므로, 셀이 결합되고 있는 편이 좋다고 하는 드문(?) 케이스이기도 합니다.
신 캘린더에서 날짜를 도출
샘플
let
GodCalendar = #table(
type table [年月 = text, 日 = Int64.Type],
{
{null, 11}, {null, 12}, {null, 13}, {null, 14},
{null, 15}, {null, 16}, {null, 17}, {null, 18}, {null, 19}, {"2020年4月", 20}, {null, 21},
{null, 22}, {null, 23}, {null, 24}, {null, 25}, {null, 26}, {null, 27}, {null, 28},
{null, 29}, {null, 30},
{null, 1}, {null, 2}, {null, 3}, {null, 4}, {null, 5}, {null, 6}, {null, 7},
{null, 8}, {null, 9}, {null, 10}, {null, 11}, {null, 12}, {null, 13}, {null, 14},
{"2020年5月", 15}, {null, 16}, {null, 17}, {null, 18}, {null, 19}, {null, 20}, {null, 21},
{null, 22}, {null, 23}, {null, 24}, {null, 25}, {null, 26}, {null, 27}, {null, 28},
{null, 29}, {null, 30}, {null, 31},
{null, 1}, {null, 2}, {null, 3}, {null, 4}, {null, 5}, {null, 6}, {null, 7},
{null, 8}, {null, 9}, {"2020年6月", 10}, {null, 11}, {null, 12}, {null, 13}, {null, 14},
{null, 15}, {null, 16}, {null, 17}, {null, 18}, {null, 19}, {null, 20}
}
),
年月日のnullではない最初と最後の要素取り出す = List.Transform(
{GodCalendar[年月], GodCalendar[日]},
each
let
rn = List.RemoveNulls(_),
fl = {List.First(rn), List.Last(rn)}
in
fl
),
それらをガッチャンコして日付に変換する = List.Transform(
List.Zip(年月日のnullではない最初と最後の要素取り出す),
each Date.FromText(_{0} & Number.ToText(_{1}, "0日"))
),
開始日と終了日がゲットできたのでリストにする =
let
start = それらをガッチャンコして日付に変換する{0},
end = それらをガッチャンコして日付に変換する{1}
in
List.Dates(
start,
Duration.Days(end - start) + 1,
#duration(1, 0, 0, 0)
),
元テーブルに追加 = Table.AddColumn(
GodCalendar,
"日付",
each Function.ScalarVector(
type function(dummy as any) as any,
(inputTable) => 開始日と終了日がゲットできたのでリストにする
)([0]),
type date
)
in
元テーブルに追加
결과
주의점
이번 샘플의 경우, 신 캘린더측에 여분의 날(같은 날이 더브 하고 있는 등)이 있는 경우, 에러가 나오므로 깨닫을 수 있습니다만, 빠져 있는 경우는 에러가 나오지 않습니다.
처음과 마지막만 보고 있기 때문에, 도중의 달의 표기가 잘못되어 있어도 문제 없다는 메리트는 있습니다만, 기본적으로는, 신 캘린더측도 캘린더로서 모순이 없을 필요가 있어, 상정되는 모순의 내용 에 따라 대응 방법을 바꿀 필요가 있을 것 같습니다.
원래
「일」의 부분의 「값」이 제대로 일자가 되어만 있으면 문제 없기 때문에, 재이용하기 쉬운 Excel의 만드는 방법을 꾸준히 계몽해 나가는 것도 중요하네요(직장 환경에 따라서는 그쪽이 어려울 수 있지만 ...)
Reference
이 문제에 관하여(신 Excel의 신 달력 (?)에서 날짜를 안내), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/D-Three/items/ed9814b4b51f2bf9adcf텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)