Ciao,
di seguito l'istruzione M che calcola la settimana dell'anno:
= Table.AddColumn(#"Inserito mese", "Settimana dell'anno_CONS", each Date.WeekOfYear([DATA_CONSEGNA]), Int64.Type)
Mi è stato sollevato un problema: alcuni calendari considerano i giorni 1-2-3 gennaio come settimana 53 del 2020, mentre la funzione sopra la considera come settimana 1 del 2021.
Posso fare in modo la settimana 1 in PQ sia dal 4 al 10 gennaio, mentre 1-2-3 legarli alla settimana 53/2020?
Grazie
Settimana dell'anno in PQ
Moderatore: Utilizzo_prof_Excel
-
- Messaggi: 79 | Topic creati
- Iscritto il: gio 30 lug 2020, 13:18
- Ringraziato: 10 volte
- Contatta:
-
- Messaggi: 2266 | Topic creati
- Iscritto il: dom 28 giu 2020, 19:41
- Luogo: Bologna
- Ringraziato: 673 volte
- Contatta:
Settimana dell'anno in PQ
Ciao AntonioP,
Devi cercare online su come implementare la ISO WEEK 8601 in PowerQuery.
Ci sono tantissimi esempi di codice già pronti che potrai adattare alla tua query.
Esempio da inserire in una query vuota, il sito é datacornering.com:
//datacornering.com
A presto,
Andrea
Devi cercare online su come implementare la ISO WEEK 8601 in PowerQuery.
Ci sono tantissimi esempi di codice già pronti che potrai adattare alla tua query.
Esempio da inserire in una query vuota, il sito é datacornering.com:
//datacornering.com
Codice: Seleziona tutto
let
Source = List.Dates(#date(2021,1,1), 365, #duration(1, 0, 0, 0)),
#"Converted to Table" = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Renamed Columns" = Table.RenameColumns(#"Converted to Table",{{"Column1", "Date"}}),
#"Changed Type" = Table.TransformColumnTypes(#"Renamed Columns",{{"Date", type date}}),
#"Weekday Number" = Table.AddColumn(#"Changed Type", "Weekday Number", each Date.DayOfWeek([Date], Day.Monday)+1),
#"ISO Week Number" = Table.AddColumn(#"Weekday Number", "ISO Week Number", each if
Number.RoundDown((Date.DayOfYear([Date])-(Date.DayOfWeek([Date], Day.Monday)+1)+10)/7)=0
then
Number.RoundDown((Date.DayOfYear(#date(Date.Year([Date])-1,12,31))-(Date.DayOfWeek(#date(Date.Year([Date])-1,12,31), Day.Monday)+1)+10)/7)
else if
(Number.RoundDown((Date.DayOfYear([Date])-(Date.DayOfWeek([Date], Day.Monday)+1)+10)/7)=53
and (Date.DayOfWeek(#date(Date.Year([Date]),12,31), Day.Monday)+1<4))
then
1
else
Number.RoundDown((Date.DayOfYear([Date])-(Date.DayOfWeek([Date], Day.Monday)+1)+10)/7))
in
#"ISO Week Number"
Andrea
-
- Messaggi: 890 | Topic creati
- Iscritto il: dom 28 giu 2020, 19:03
- Luogo: San Giovanni in Persiceto (BO)
- Ringraziato: 325 volte
- Contatta:
Settimana dell'anno in PQ
Ciao AntonioP , se ti può interessare, la nuova versione del mio add-in , Excel Swiss Knife, include uno strumento per generare un calendario in Power Query, con un set di colonne personalizzabili tra cui la settimana ISO
Vedi qui: viewtopic.php?p=1482#p1482
Vedi qui: viewtopic.php?p=1482#p1482
Enrico Galli
Link utili: I nostri tutorial | Come inserire: Immagini - Codice - Risolto
Se il forum ti è stato utile, considera di supportarlo con una libera donazione
Link utili: I nostri tutorial | Come inserire: Immagini - Codice - Risolto
Se il forum ti è stato utile, considera di supportarlo con una libera donazione
-
Autore del topic - Messaggi: 79 | Topic creati
- Iscritto il: gio 30 lug 2020, 13:18
- Ringraziato: 10 volte
- Contatta:
Settimana dell'anno in PQ
@Andrea90 ignoravo l'esistenza del calendario ISO. Grazie
Enrico Galli è giunto il momento di provare Excel Swiss Knife.....
GRAZIE MILLE
Enrico Galli è giunto il momento di provare Excel Swiss Knife.....
GRAZIE MILLE