Vārda dienu saraksts Excel failā

Latviešu tradicionālo kalendārvārdu saraksts atrodas Valsts valodas centra mājas lapā un atliek tikai ielādēt Excel failā. Turklāt tādā veidā, lai pēc tam varētu piesaistīt sev nepieciešamajam saturam. Rakstā publicēts risinājums izmantojot Excel un Power BI pieejamo Power Query, apraksts izveidots Excel 2016, M kods pieejams raksta beigās.


Šādā struktūrā saraksts ir redzams raksta tapšana brīdī. Kamēr tas tā saglabājas un lapas adrese nemainās, risinājums strādās.

Risinājums pa soļiem:
1. Data -> New Query -> From Other Sources -> From Web un iekopē attiecīgo adresi, kurā atrodas vārda dienas. http://vvc.gov.lv/index.php?route=product/category&path=200

2. Navigator logā jāizvēlas atbilstošo tabulu un pēc tam jāizdara klikšķis uz pogas Edit.

Fragments no tabulas, ar kuru jāturpina strādāt Query Editor, izskatās šādi.

3. Add Column -> Conditional Column izveido kolonnu “Mēneša nosaukums” ar nosacījumu, kas mēneša nosaukumu izvada atsevišķā kolonnā.

4. Iezīmē jaunizveidoto kolonnu “Mēneša nosaukums” un sadaļā Transform rīkā Fill izvēlas Down.

5. Column2 jānoņem visi tukšie ieraksti (null), jo šīs rindas turpmāk ir liekas.

6. Labais klikšķis uz Column1 -> Replace Values, dienu numuriem noņem punktu, Value To Find lodziņā ievadot punktu, bet Replace With atstājot tukšu.

7. Column1 pārsauc par Diena, Column2 pārsauc par Vārdi. Mainīt nosaukumu var veicot peles dubultklikšķi uz kolonnas nosaukuma.



8. Add Column -> Cutom Column, izveido kolonnu Gads, kur izveido aprēķinu šī gada skaitlim
=Date.Year(DateTime.Date (DateTime.LocalNow()))

9. Add Column -> Cutom Column, izveido kolonnu Datums, kur vadoties pēc pieejamās informācijas, izveido pilnus datumus
=Date.FromText(Text.From([Diena])&"."&[Mēneša nosaukums]&"."&Text.From([Gads]))

10. Ja kolonnā Datums iegūst neeksistējošu datumu, piemēram, 29.02.2018, tad rezultāts ir kļūdas paziņojums. Tos vajadzētu noņemt no turpmākā datu apstrādes procesa. Labais peles klikšķis uz kolonnas un jāizvēlas Remove Errors.

11. Turpmākajām lietošanas ērtībām var izveidot arī atsevišķu dienas un mēneša kombināciju, kas padara rezultātus universālāk pielietojumus, ja vārda dienu saraksts nav bijis atjaunots, bet iestājies jau nākošais gads.
=Date.ToText([Datums],"dd.MM.")

12. Visbeidzot kolonnas var pārkārtot, sakārtot datu tipus un noņemt liekās kolonnas tā, lai iegūtu vēlamo gala rezultātu Excel failā.

13. Query Settings sadaļā datu atlases procesam piešķir nosaukumu, šādā vārdā sauksies arī Excel importētā tabula.

14. Datus ielādē Excel darba lapā Home -> Close & Load.

Ja pēc tam ir nepieciešams universāls paņēmiens (tāds, kas nav atkarīgs no gada skaitļa, ja gadījumā vārda dienu dati nav atjaunoti), kā parādīt Excel darba lapā tieši šīs dienas vārda dienu svinētājus, tad to var izdarīt šādi:
="Šodien ("&TEXT(TODAY();"dd.mm.yyyy")&") vārda diena: "&VLOOKUP(TEXT(TODAY();"dd.mm.");VD;3;FALSE)

VLOOKUP esošais parametrs VD ir vārda dienu tabulas nosaukums.



Risinājuma M kods, kuru var iekopēt Data -> New Query -> From Other Sources -> Blank Query -> Advanced Editor un iegūt visas būtiskās augstāk minētās darbības.




Komentēt