Datum → D | A | T | U | M

Power Query, Datums-Funktionalität hinzufügen und nutzen


Video auf YouTubeHin­weis:
Die Arbeitss­chritte dieses Beitrages sind in einem kleinen Video doku­men­tiert. Das unter­stützende Begleit-Video find­en Sie auf YouTube an dieser Stelle.


In die­sem Bei­trag ist mit dem Be­griff „Da­tum” bzw. „Dat­en” auss­chließlich das kalen­darische Da­tum und nicht die Sin­gu­lar-Form von dem all­ge­mein gülti­gen Be­griff „Dat­en” ge­meint. Im Aus­nah­me­fall wird geson­dert dar­auf hin­ge­wie­sen, dass nicht das kalen­darischen Da­tum ge­meint ist.

Da­tum ist Da­tum ist Da­tum

Der 4. Jan­u­ar ist in der ge­sam­ten Welt (so­fern die üb­li­che Zeitrech­nung ver­wen­det wird) der 4. Jan­u­ar. Was im­mer sehr unter­schiedlich sein kann und auch nor­maler­weise der Fall ist: Die Schreib­weise des Da­tums. Aber nicht nur das, je nach Daten­quelle kann der Daten­typ auch Zahl oder Text sein. Wenn das ge­ge­be­ne Da­tum eine (se­ri­el­le) Zahl ist, stellt das für Ex­cel als auch für Pow­er Que­ry abso­lut kein Prob­lem dar. Egal auf wel­chem Kon­ti­nent oder in wel­chem Staat die (kalen­darischen) Dat­en er­fasst wor­den sind, der 4. Jan­u­ar 2017 wird durch die Zahl 42739 repräsen­tiert. (Gilt natür­lich nur für die Win­dows-Ver­sion, aber in der Mac-Ver­sion gibt es (noch) kein Pow­er Que­ry). Die Darstel­lung in Ex­cel selb­st ist je nach Lan­de­se­in­stel­lung ver­schieden.

Inter­es­sant wird es aber, wenn beispiel­sweise eine Daten­bank oder das Inter­net das Da­tum als Text lie­fert, die Lan­de­se­in­stel­lun­gen aber grund­sät­zlich an­de­re sind als bei uns hier in Deutsch­land. Bei­spiel USA: Da ist der 4. Jan­u­ar dann im bes­ten Fall Jan­u­ary 4. 2017, im Nor­mal­fall aber 1/4/2017 oder 1–4‑2017, je­doch nie 1.4.2017; alle Dat­en gegebe­nen­falls auch mit 2‑stel­li­ger Jah­res­zahl. – La­den Sie ein­mal die­se Map­pe und öff­nen das ers­te Blatt US-Da­tum. Die Spal­te A ist be­wusst als Text for­matiert, da­mit Ex­cel die eingegebe­nen Wer­te nicht automa­tisch in ein deut­sches Da­tum ‑welch­es dann auch noch falsch umgerech­net wird- wan­delt.

Zu­ge­ge­ben, im Nor­mal­fall wird solch ein „Kud­del­mud­del” nicht in ein­er abgeschlosse­nen Ta­bel­le ste­hen, es wer­den ge­wiss im­mer die gle­ichen Schreib­weisen ver­wen­det. Und in ei­nem sol­chen Nor­mal-Fall ist es auch dur­chaus mit rel­a­tiv weni­gen Auf­wand mög­lich, die­se Dat­en über beispiel­sweise Text in Spal­ten in das gewün­schte For­mat um zu wan­deln. Hier geht es aber dar­um, mit Pow­er Que­ry auch solch ei­nen Mis­chmasch in das deut­sche bzw. europäis­che For­mat umzuwan­deln. Dazu öff­nen Sie die Dat­en-Ta­bel­le in Pow­er Que­ry und erkun­den erst ein­mal, was da­von zu ge­brau­chen ist.

Die ers­te Fest­stel­lung: PQ hat jede der 3 Zei­len in ein Da­tum umge­wan­delt und automa­tisch die deut­sche Schreib­weise ver­wen­det. Der Daten­typ ist auch Da­tum. Aber auss­chließlich die 1. Zei­le ent­hält das kor­rek­te Da­tum, die bei­den Fol­gezeilen sind offen­sichtlich ein April­scherz. 🙁 – Die­ses Bei­spiel zeigt Ih­nen auf, dass sie bei der­ar­ti­gen Im­por­ten im­mer stich­probe­nar­tig kon­trol­lieren müs­sen, ob sich da nicht Feh­ler die­ser Art ein­ge­schli­chen ha­ben.

Be­vor Sie sich aber eine Kor­rek­tur vor­neh­men, schlie­ßen Sie die­se Ab­fra­ge ohne sie zu spe­ich­ern; Sie nut­zen also beispiel­sweise im Menü Da­tei den Punkt Ver­w­er­fen und schlie­ßen oder Klick­en auf das Schließen-Sym­bol des Fen­sters und entschei­den dann nach Sach­lage. Wie­der in der Ta­bel­le schrei­ben Sie nun in Zei­le 5 die­ses US Da­tum: 1/18/2017. Also den 18. Jan­u­ar 2017 in US-Schreib­weise. Und jet­zt er­stel­len Sie dar­aus wie­der­um eine Ab­fra­ge. Ob­wohl die ers­ten 3 Zei­len ja gle­ich ge­blie­ben sind, stellt sie das gan­ze doch kom­plett an­ders dar:

Daten komplett als Text

Dat­en kom­plett als Text

Da Pow­er Que­ry we­gen der neue hinzufü­gen Zei­le 4 kei­nen durchgängi­gen Daten­typ erken­nen kon­nte, weil die neu hinzuge­fügte Zei­le nicht ein­fach so in ein Da­tum umge­wan­delt wer­den kann, ist die kom­plette Spal­te erst ein­mal auch als Daten­typ: Text for­matiert wor­den. – Die Vorge­hensweise zur Än­de­rung in ein kor­rek­tes deut­sches Da­tum ist typ­isch für ei­nen sol­chen Fall. Ge­hen Sie dazu so vor:

  • Recht­sklick in die Über­schrift Da­tum
  • Im Kon­textmenü wäh­len Sie Typ än­dern | Mit Gebi­etss­chema…
  • Im erscheinen­den Dialogfen­ster wäh­len Sie bei Daten­typ: natür­lich das Da­tum, bei Gebi­etss­chema: Eng­lisch (USA)
  • Bestäti­gen Sie mit OK und sie erken­nen, dass al­les sei­ne Rich­tig­keit hat.

Wenn Sie die­se Ab­fra­ge nun schlie­ßen und sich das Ergeb­nis in der Ta­bel­le anse­hen, bleibt es (natür­lich) beim kor­rek­ten deut­schen Da­tum, wie schon in der Ab­fra­ge dar­ge­stellt. – Prob­lem ge­löst. 💡 

▲ nach oben …

ISO 8601 (ANSI)

Man­che ERP-Sys­teme, Daten­banken, Maschi­nen oder auch Scan­ner ge­ben ein Da­tum in der Form JJJJMMTT oder JJJJ-MM-TT aus (Jahr teil­weise auch 2‑stel­lig). Bei­des ent­spricht der ANSI-Norm. Mit Sicher­heit wird kein / oder . als tren­nen­des Ele­ment ver­wen­det. Im zweit­en Arbeits­blatt der Mus­ter-Map­pe (ISO 8601) erken­nen Sie in ein­er Lis­te vier typ­is­che Wer­te. Wenn Sie die­se Ta­bel­le nun mit Pow­er Que­ry öff­nen, stellt sie das Gan­ze so dar:

Eine andere Daten-Anordnung

Eine an­de­re Dat­en-Anord­nung

Wenn Sie nun ver­suchen, den gle­ichen Weg wie zu­vor zu ge­hen, wer­den sie ent­täuscht: Sie ha­ben nicht die Mög­lich­keit, ein Gebi­etss­chema zu wäh­len. Also muss ein ander­er Weg beschrit­ten wer­den. Zu Be­ginn ist es erst ein­mal wich­tig, dass der Typ der einzel­nen Zei­len iden­tisch ist. Denn wenn sie ge­nau hin­se­hen wer­den Sie erken­nen, dass bei Daten­typ: der Ein­trag  Be­lie­big ste­ht. Das zeigt sich auch dar­an, dass der Wert in Zei­le 1 rechts­bündig dar­ge­stellt wird, also offen­sichtlich eine Zahl ist. Dir rest­li­chen Zei­len sind links­bündig, dem An­schein nach Text.

Die Zei­le 2 kön­nte der „Aus­rutsch­er” sein, denn dort sind ja im Gegen­satz zu den an­de­ren Dat­en Jahr, Mo­nat und Tag mit ei­nem Binde­strich getren­nt. Um die­sen zu ent­fer­nen, mar­kie­ren Sie die Spal­te und in der Grup­pe Trans­formieren gibt es den Punkt Wer­te erset­zen. Im Dialogfen­ster dann das Zei­chen - als zu suchen­den Wert ein­ge­ben und bei Erset­zen durch las­sen Sie das Feld ein­fach leer. Nach ei­nem Klick auf OK wer­den sie se­hen, dass sie nichts se­hen. 😉 Es hat sich offen­sichtlich nichts geän­dert. Um den Ab­lauf bei Angewen­dete Schrit­te „sau­ber” zu hal­ten, lö­schen Sie dort im recht­en Seit­en­fen­ster den let­zten Ein­trag (Erset­zter Wert).

Zu­ge­ge­ben, das ist et­was irri­tierend. Mei­ne Sicht­wei­se: Da PQ wohl „merkt”, dass die 2. Zei­le ein Da­tum sein kön­nte, wird am - we­gen des Daten­typs Be­lie­big nicht gerüt­telt. Der Aus­weg ist ent­spre­chend lo­gisch: Wech­seln Sie den Daten­typ die­ser Spal­te zu Text und füh­ren Sie den Erset­zungsvor­gang wie ger­ade be­schrie­ben noch ein­mal durch. Und dann klappt es auch wie gewün­scht. Sie ha­ben nun ei­ni­ge Möglichkeit­en, die­ses ANSI-Da­tum in ein deut­sches Da­tum umzuwan­deln. Zwei da­von wer­de ich Ih­nen vor­stel­len.

Um­wand­lung (1)

Die in den meis­ten Fäl­len ein­fach­ste Mög­lich­keit: Ähn­lich wie ge­habt wer­den sie den Daten­typ verän­dern und da­bei die Mög­lich­keit nut­zen, das Gebi­etss­chema als Werk­zeug einzuset­zen. Sie wer­den wie­der­um den Daten­typ: Da­tum aus­wäh­len und bei Gebi­etss­chema bie­tet sich Eng­lisch (Welt) an, da die­ses am uni­versellen ist. Und das klappt auch sehr gut. (Eng­lisch USA klappt meis­tens auch.) Dass in Zei­le 4 eine Fehler­mel­dung er­scheint, hat dur­chaus sei­ne Berech­ti­gung, denn es gibt zwar im Jahr 2016 aber nicht anno 2017 den 29. Feb­ru­ar. Pow­er Que­ry ist da erhe­blich kon­se­quenter (und sen­si­bler) als (mit­un­ter) Ex­cel und zählt nicht ein­fach ei­nen Tag dazu. Bei sol­chen Feh­lern bleibt ih­nen ei­gent­lich nur die Mög­lich­keit, die Quell­dat­en ent­spre­chend anzu­passen, es bei der Fehler­mel­dung in der Zel­le zu be­las­sen oder aber über das Sym­bol Zei­len ver­ringern | Zei­len ent­fer­nen | Feh­ler ent­fer­nen die­se Zei­le zu lö­schen. Schlie­ßen & la­den, um die ge­sam­ten Dat­en in ein neu­es Arbeits­blatt und dort wie­der­um in eine neue Ta­bel­le zu schrei­ben.

Um­wand­lung (2)

Die­se zwei­te Mög­lich­keit ist et­was aufwendi­ger, sie soll ihn aber als beispiel­hafte Meth­ode für an­de­re Gele­gen­heit­en zei­gen, wie sie zu ei­nem gewün­scht­en Ziel gelan­gen. Erst ein­mal wer­den Sie wie­der­um von der ANSI-Ta­bel­le eine neue Ab­fra­ge er­stel­len. Auch hier wer­den sie auf die gle­iche Wei­se wie eben die Binde­striche ent­fer­nen, da­mit ein ein­heitlich­es Daten­for­mat vor­liegt. Hier erst ein­mal STOP! Nun geht es näm­lich dar­um, die drei Ele­mente des Tex­tes (Da­tums) in jew­eils eine ein­zel­ne Spal­te auf­zu­tei­len.

Sie mar­kie­ren dazu erforder­lichen­falls Spal­te Da­tum, dann Grup­pe Trans­formieren | Spal­te tei­len | Nach An­zahl von Zei­chen. Zu­erst soll er das 4‑stel­li­ge Jahr ex­tra­hiert wer­den, dar­um ge­ben Sie im Dialogfen­ster die 4 ein und bei Tei­len Klick­en Sie auf Ein­mal, so weit links wie mög­lich. OK und das Jahr ste­ht in ein­er eige­nen Spal­te. Die 2. Spal­te je­doch ist leicht irri­tierend:

Das Jahr ist nun abgeteilt, aber …

Das Jahr ist nun ab­ge­teilt, aber …

Pow­er Que­ry hat selb­st­ständig die 4 Zif­fern (Text) in eine Zahl umge­wan­delt und da­bei blei­ben we­gen der führen­den Null nur 3 Zif­fern üb­rig, was ja nicht unbe­d­ingt dem Sinn der Sa­che ent­spricht. Mar­kie­ren Sie dar­um die Spal­te Da­tum.2 und kon­vertieren Sie zum Daten­typ: Text. Jet­zt sind es wie­der 4 Zif­fern mit führen­der Null vor dem Mo­nat. Die­se Spal­te tei­len sie nun nach der 2. Stel­le, sie kön­nen es hier bei Wieder­holt be­las­sen.

Auch wenn es ab die­sem Punkt wie­der­um meh­re­re Möglichkeit­en gibt, zei­ge ich Ih­nen die aus mein­er Sicht prag­ma­tis­chste auf: Menü Spal­te hinzufü­gen, mar­kie­ren Sie nun alle 3 Spal­ten und wäh­len Sie in der Grup­pe Aus Text den Punkt Spal­ten zusam­men­führen. Im Dialogfen­ster wäh­len Sie im Drop­down beim Trennze­ichen den Punkt –Be­nut­zer­de­fi­niert–und ge­ben in die Zei­le dar­un­ter beispiel­sweise den Schräg­strich / oder ein - ein. Im Text­feld Neu­er Spal­tenname soll­ten Sie das Wort Zusam­menge­führt durch beispiel­sweise Da­tum erset­zen. Die ers­ten 3 Spal­ten sind im­mer noch mar­kiert; Recht­sklick in eine der drei Über­schriften und Spal­ten ent­fer­nen. Es bleibt die Spal­te Da­tum über. Jet­zt wie­der­um den Typ än­dern, es reicht aber auch in die­sem Fall aus, gle­ich den Typ Da­tum zu ver­wen­den. Der Er­ror in der Zei­le 4 ist natür­lich nach wie vor vorhan­den und kann ge­löscht wer­den. Ein Klick auf Schlie­ßen & la­den, und auch die­se Ab­fra­ge wird in ei­nem neu­en Tabel­len­blatt in eine Lis­te ge­schrie­ben.

▲ nach oben …

Deut­sches Da­tum, ver­schie­de­ne Se­pa­rie­run­gen

Na­vi­gie­ren Sie in der Map­pe zum Blatt Deutsch­Dat, wo 100 unter­schiedliche Dat­en zwis­chen dem 1. Jan­u­ar 2000 und dem 31. Jan­u­ar 2019 er­fasst sind. Die Auf­gabe ist nun: Mit Pow­er Que­ry (also nicht mit Ex­cel) sol­len unter­schiedliche Wer­te aus dem jew­eili­gen Da­tum in ein­er getren­nten Spal­te er­fasst wer­den. Die­ses sind:

  • Das Jahr
  • Der Mo­nat (nu­me­risch und als Text)
  • Der Tag
  • Das Quar­tal des Jah­res
  • Der Wochen­tag (nu­me­risch ‑EU-Norm- und als Text)

In Ex­cel ist erfahre­nen Nut­zern das Erre­ichen die­ses Ziels prob­lem­los mög­lich, wer sich ein we­nig in VBA ausken­nt, wird auch hier we­ni­ge Schwierigkeit­en ha­ben, das Wun­schergeb­nis zu ver­wirk­lichen. In Pow­er Que­ry ist da schon ein we­nig mehr Auf­wand erforder­lich. Sie müs­sen in die Spra­che „M” ein­steigen, um das Gan­ze zu ver­wirk­lichen. Wenn Sie also gar kei­ne Af­fi­ni­tät zu Pro­gram­mier­sprachen ha­ben, soll­ten Sie sich vielle­icht entschei­den, sol­che Auf­gaben entwed­er in „Plain Ex­cel” zu lö­sen oder das Gan­ze ei­nem (exter­nen) Fach­mann zu über­lassen. Aber be­den­ken Sie: Die Entschei­dung pro Pow­er Que­ry hat­te ja ei­nen bes­timmten Grund, und dar­um kann der zusät­zliche Auf­wand dur­chaus gerecht­fer­tigt sein.

Erk­lärun­gen wer­den sie im fol­gen­den Text kaum find­en, auch son­st ist vie­les recht kurz gehal­ten. Nach dem et­was nä­her beschriebe­nen Ein­stieg ist im Grun­de genom­men jed­er Schritt gle­ich, nur die Vok­a­beln än­dern sich ein we­nig. In die­sem Rah­men ein wich­ti­ger Hin­weis: Den Code, den sie ein­ge­ben, müs­sen Sie unbe­d­ingt in der exak­ten vorgegebe­nen Groß- Klein­schrei­bung ver­wen­den. Fach­lich aus­ge­drückt: die Syn­tax ist Case-sen­si­tiv.

Wie son­st auch wer­den sie die Ta­bel­le erst ein­mal im Que­ry Edi­tor öff­nen. Im näch­sten Schritt wer­den Sie der Op­tik we­gen den Daten­typ auf Da­tum (ohne Uhr­zeit) än­dern. Für jede der ge­for­der­ten Auswer­tungspunk­te wer­den sie nun nacheinan­der eine neue Spal­te hinzufü­gen. Also ein Klick auf eben die­sen Me­nü­punkt (Spal­te hinzufü­gen). Klick­en Sie an­schlie­ßend in der Grup­pe All­ge­mein auf die Aus­wahl Be­nut­zer­de­fi­nier­te Spal­te. Es er­scheint solch ein Dialogfen­ster:

Benutzerdefinierte Spalte hinzufügen

Be­nut­zer­de­fi­nier­te Spal­te hinzufü­gen

In das Text­feld Neu­er Spal­tenname schrei­ben Sie statt der Vor­gabe Be­nut­zer­de­fi­niert eine „spre­chen­de” Über­schrift des jew­eili­gen berech­neten Ergeb­niss­es ein; für die 1. neue Spal­te wäre die­ses Jahr. Bei den fol­gen­den Spal­ten ent­spre­chend natür­lich den pas­sen­den Text.

Jahr

Im gro­ßen Text-Eingabebere­ich Be­nut­zer­de­fi­nier­te Spal­tenformel ist ja bere­its das = vor­ge­ge­ben und kann auch nicht ge­löscht oder verän­dert wer­den. Ge­ben Sie da­nach bit­te fol­gende For­mel ein:

Date.​Year([Da­tum])

Sie kön­nen den ge­sam­ten Text die­ser For­mel von Hand ein­ge­ben, sie kön­nen sich es aber auch et­was leich­ter ma­chen, in­dem sie nach der öff­nen­den run­den Klam­mer auf die im recht­en Teil des Fen­sters ste­hende Auflis­tung der Ver­füg­baren Spal­ten ei­nen Dop­pelk­lick auf Da­tum durch­führen. Dann wird der Feld­name automa­tisch mit den umschließen­den eck­i­gen Klam­mern an der Stel­le einge­fügt. Bleibt nur noch, dass sie die For­mel mit der schließen­den un­ten Klam­mer verse­hen. OK und die Spal­te mit der entsprechen­den Jah­res­zahl und der kor­rek­ten Über­schrift wird in die Ab­fra­ge einge­fügt.

Mo­nat

Für die nu­me­ri­sche Aus­gabe des Mo­nats ge­ben Sie beispiel­sweise die­se Über­schrift ein: Mo­nat (1,2,3) und als For­mel schrei­ben Sie dann:

Date.​Month([Da­tum])

Wenn Sie jet­zt den­ken „Ja, das ist doch so auch lo­gisch” dann gebe ich Ih­nen Recht. Und wenn den­noch ir­gend ein Feh­ler auf­taucht, dann wird es wahrschein­lich dar­an lie­gen, dass sie nicht die exak­te Schreib­weise be­züg­lich der Groß-bzw. Klein­schrei­bung be­ach­tet ha­ben.

Vom Prin­zip her sieht es bei der Text­form des Mo­nats genau­so aus. Sie wer­den als Über­schrift Mo­nat (A,B,C) ver­wen­den und die­se For­mel:

Date.​MonthNa­me([Da­tum])

Und der ge­schrie­be­ne Monat­sname ist natür­lich … Deutsch, so­fern sie auch hier an die exak­te Schreib­weise ge­dacht ha­ben. In ein­er franzö­sis­chen Umge­bung wird es Franzö­sisch sein, bei an­de­ren Sprachver­sio­nen ent­spre­chend.

Tag

Das soll­te Ih­nen ei­gent­lich al­lei­ne von der Hand ge­hen. Der englis­che Aus­druck für den Tag ist „Day”.

Quar­tal des Jah­res

Die­se For­de­rung ist schon et­was kom­plex­er: Es soll nicht nur das Quar­tal als son­dern auch durch ei­nen / ver­bun­den das Jahr mit an­ge­ge­ben wer­den. Aber auch das ist prob­lem­los lös­bar, wenn sie die Lo­gik die­ser Spra­che aber auch des Pow­er Que­ry ver­standen ha­ben. Hier die For­mel, ers­ter Teil:

Date.​QuarterOfYear([Da­tum])

OK, jet­zt ste­ht erst ein­mal das kor­rek­te Quar­tal in der Spal­te. Das Jahr hat­ten Sie schon mal berech­net, es ste­ht in der 2. Spal­te. Mar­kie­ren Sie die­se erst ein­mal durch ei­nen ein­fachen Klick in die Über­schrift. Im­mer noch im Menü Spal­te hinzufü­gen Grup­pe All­ge­mein find­en Sie den Punkt Dop­pelte Spal­te. „Klick” und automa­tisch wird als neue let­zte Spal­te eine Ko­pie mit dem Na­men Jahr – Ko­pie­ren er­stellt. Auch wenn Sie der Name stö­ren soll­te, be­las­sen Sie es da­bei. Das re­gelt sich von al­lei­ne… 😎 – Nun gilt es nur noch, die­se bei­den Spal­ten zu ein­er einzi­gen zusam­men­zufü­gen.

Mar­kie­ren Sie zu­erst die Spal­te Quar­tal und da­nach die neu er­stell­te Spal­te mit dem Jahr. Die­se Rei­hen­folge ist wich­tig! Recht­sklick in eine der bei­den Über­schriften und im Kon­textmenü Spal­ten zusam­men­führen wäh­len. Im Dialogfen­ster ge­ben Sie als Trennze­ichen den / ein (geht nur über –Be­nut­zer­de­fi­niert–) und als Neu­er Spal­tenname neh­men Sie beispiel­sweise Qrt/Jahr. Die bei­den eben noch vorhan­de­nen einzel­nen Spal­ten wer­den ge­löscht und in der neu­en Spal­te in gewün­schter Form dar­ge­stellt.

Wo­chen­tag

Jet­zt ist ihre Kreativ­ität ge­for­dert. Ver­ges­sen Sie erst ein­mal die For­de­rung, dass die deut­sche Norm ver­wen­det wer­den soll. Im Ex­cel hei­ßt die Funk­tion ja WO­CHEN­TAG(), in PQ ist natür­lich al­les an­ders, näm­lich in Eng­lisch. Und wenn sie sich die Lo­gik beispiel­sweise beim Monat­sna­men anse­hen, kom­men Sie vielle­icht von al­lei­ne auf die For­mel. Als Tipp: Tag Der Wo­che. Wenn Sie die Funk­tion rich­tig über­set­zt ha­ben und auch der Schreib­weise im obi­gen Bei­spiel gefol­gt sind wird beispiel­sweise in der Zei­le 1 die Zahl 6 er­schei­nen, der 6. Tag der Wo­che. Und wenn sie sich Zei­le 3 anse­hen, wer­den Sie erken­nen: Tag 0.

Tag 0, den gibt es doch gar nicht. Was steckt also dahin­ter? Zu­ge­ge­ben, ich war zu Be­ginn auch ziem­lich ver­wirrt. Ein Blick in die Doku­men­ta­tion der Funk­tio­nen hat mir dann aber ge­zeigt, dass das Ergeb­nis die­ser Funk­tion im­mer Null-ba­siert ist. Also wer­den die Ergeb­nisse 0..6 zu­rück ge­ge­ben, der de­fi­nier­te ers­te Tag der Wo­che ist der Tag Null. Und das ist nicht änder­bar. Zumin­d­est nicht di­rekt. Aber es gibt natür­lich ei­nen Aus­weg, der ei­gent­lich ganz sim­pel ist:

Date.​DayOfWeek([Da­tum])+1

Und das ent­spricht ge­nau den Ergeb­nis­sen, die sie in Ex­cel mit der For­mel WO­CHEN­TAG(Da­tum; 2) erhal­ten, also der ex­pli­zi­ten An­wei­sung, die EU Norm (1. Tag der Wo­che ist Mon­tag) zu ver­wen­den. Hier erken­nt Pow­er Quer offen­sichtlich an­hand der Län­dere­in­stel­lun­gen, welch­es die kor­rek­ten Wer­te sind. Nett, wirk­lich nett.

Bleibt noch die aus­geschriebene Form des Wochen­t­ages. Hier will ich Ih­nen nicht die For­mel unter­schla­gen, denn vielle­icht sind sie eben nicht zum Ziel gekom­men; dann wird Ih­nen die­se For­mel ge­wiss eine Hil­fe sein, denn die ge­kürz­te Form passt oben zu 100 %. Hier schrei­ben Sie:

=Date.​DayOfWee­k­Na­me([Da­tum])

und das Ergeb­nis passt. – Wenn Sie jet­zt auf den Ge­schmack gekom­men sind und den­ken: „nun ja, ein­er geht noch” und da­bei an die Kalen­der­woche den­ken, dann will ich sie nicht ent­täuschen und auch hier das ent­spre­chen­de Bei­spiel brin­gen:

Date.​WeekOfYear([Da­tum])

… und es wir eine Kalen­der­woche in die Spal­te ge­schrie­ben. – Wie im­mer, wenn sie neue Wege beschre­it­en, wer­den sie das Ergeb­nis jed­er Spal­te kon­trol­lieren. Dazu bie­ten sich die entsprechen­den Ex­cel Funk­tio­nen an. Wenn Sie also die Ab­fra­ge gespe­ichert und ge­schlos­sen ha­ben und sich an­schlie­ßend der erstell­ten Ta­bel­le befind­en, kön­nen Sie mit entsprechen­den Ver­gle­ichs­formeln in den Spal­ten J (und fol­gen­den) ja eine ent­spre­chen­de For­mel hinein­schreiben beispiel­sweise in J2:

=JAHR(A2)=B2

Das Ergeb­nis wird automa­tisch bis zur let­zten Daten­zeile aus­ge­füllt; wenn Sie die­se For­mel nach rechts rü­ber zie­hen, wer­den die Spal­ten ent­spre­chend auch an­ge­passt. Das Ergeb­nis soll­te stets WAHR sein.

▲ nach oben …

In Sa­chen Da­tum (und genau­so in Sa­chen Zeit) und vie­len, vie­len an­de­ren Bere­ichen gibt es aus­ge­sprochen vie­le For­meln der Spra­che „M”. Ich selb­st muss auch noch recht oft nach­se­hen, ob es für mei­nen Wun­sch eine Funk­tion gibt aber auch um die ge­naue Syn­tax zu erken­nen. Wenn Sie das sel­ber ein­mal ma­chen, ge­ben Sie am bes­ten in der Such­mas­chine ih­rer Wahl fol­gende Stich­worte ein:

Pow­er Que­ry Spra­che M

und sie wer­den ver­mut­lich zu die­sem Link geleit­et. Im Bere­ich Date wer­den sie dann vielle­icht auch erken­nen, dass es für die Kalen­der­woche kei­ne Mög­lich­keit gibt, die europäis­che Norm als Argu­ment zu ver­wen­den. In­so­fern kön­nen Sie die­se Funk­tion nur für die US-Kalen­der­wochen nicht je­doch für den europäis­chen Raum ver­wen­den. Es ist aber dur­chaus denk­bar, dass in den regelmäßi­gen Up­dates der Pow­er Que­ry Funk­tion­al­ität die­ser Punkt noch nach­ge­bes­sert wird.

Ich räu­me ein: So ganz ein­fach ist das nicht mit den Funk­tio­nen der Spra­che „M”. Aber wenn sie we­gen gro­ßer Daten­men­gen (ohne die 1‑Mio-Gren­ze) oder we­gen der doch erhe­blich bes­se­ren Ge­schwin­dig­keit bei Abfra­gen Pow­er Que­ry ver­wen­den möcht­en oder müs­sen, dann lohnt sich auf Dau­er gese­hen auch die Beschäf­ti­gung mit die­sem The­ma.

▲ nach oben …

Hat Ih­nen der Bei­trag ge­fal­len?
Er­leich­tert die­ser Bei­trag Ihre Ar­beit?

Dann wür­de ich mich über ei­nen Bei­trag Ihrer­seits z.B. 2,50  freu­en …

Ref­er­ence: #0365

Dieser Beitrag wurde unter Allgemein, Verschiedenes, Datentyp anpassen, Ohne Makro/VBA, Power Query abgelegt und mit , , , , , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.