După postarea mea la începutul acestei săptămâni despre crearea rapoartelor curente de zi/săptămână/lună/an în Power BI, câțiva oameni mi-au cerut o explicație mai detaliată a modului în care cream tabele fără a utiliza o sursă de date în codul M. Acest lucru se întâmplă destul de mult atunci când încarc date cu Power BI și Power Query și, deși există mai multe moduri de a face acest lucru, constat că utilizarea funcției intrinseci #table () este cea mai elegantă opțiune.

crearea

Să vedem câteva exemple. Următoarea interogare returnează un tabel cu două coloane (numite „Prima coloană” și „A doua coloană”) și două rânduri care conțin valorile de la 1 la 4:

Nu este necesară nicio sursă de date - acesta este un mod de a defini o valoare a tabelului în cod M. pur. Primul parametru al funcției ia o listă de nume de coloane ca valori de text; al doilea parametru este o listă de liste, în care fiecare listă din listă conține valorile de pe fiecare rând din tabel.

În ultimul exemplu, coloanele din tabel erau de tipul de date Orice (pictograma ABC123 din fiecare antet de coloană vă spune acest lucru), ceea ce înseamnă că pot conține valori de orice tip de date, inclusiv numere, text, date sau chiar altele Mese. Iată un exemplu în acest sens:

Deși acest lucru este flexibil, nu este tocmai practic: în aproape toate cazurile, Orice tip de date este o alegere proastă pentru încărcarea datelor și trebuie să setați în mod explicit tipul de date pentru fiecare coloană. Puteți seta tipuri de date pentru coloane destul de ușor ca un pas separat, dar este, de asemenea, posibil să setați tipuri de date de coloană folosind #table ():

În acest exemplu, primul parametru nu mai este o listă de nume de coloane, ci o declarație a unui tip de tabel care nu numai că are nume de coloane, ci și tipuri de coloane. Puteți vedea din pictogramele din antetele coloanei din captura de ecran de mai sus că coloana numită „Coloană numerică” are un tip de date de număr, „Coloană text” are un tip de date text și „Coloană dată” are un tip de date de Data.