Când tabelul dvs. nu este prea mare, puteți importa tabelul cu coloana originală DateTime și numai atunci puteți crea coloane calculate derivate în DAX. Cu toate acestea, atunci când masa dvs. este mare (adică milioane de rânduri sau mai multe), atunci este o idee bună să faceți calculul în afara PowerPivot.

tabel

De exemplu: dacă aveți 15 milioane de rânduri pentru o lună, presupunând că datetime are o granularitate de o secundă și aveți o distribuție liniară pe 24 de ore, veți avea un dicționar de aproximativ 2,5 milioane de valori unice doar pentru aceasta coloană. Acest lucru face ca acea coloană să fie destul de costisitoare. Acum, când împărțiți coloana în SQL, este posibil să economisiți mult spațiu. Dacă aveți SQL Server 2008 R2, puteți utiliza următoarea sintaxă într-o interogare SQL (sau o vizualizare SQL) pentru a face împărțirea într-un mod inteligent.

Aceasta dacă pentru data:

PowerPivot citește în continuare coloana ca DateTime, dar oră/minut/secunde dispare și numărul de valori unice este redus la numărul de zile distincte din datele dvs. Desigur, este mai ușor să vă alăturați cu un tabel Calendar!

Aceasta este pentru rotunjirea timpului la secunde:

Din nou, PowerPivot citește acest lucru ca DateTime și pune oricum o dată (ziua curentă când importați date folosind formula de mai sus) - cu toate acestea, probabil veți obține ora și minutul în coloane calculate (dar a face asta în SQL este o idee bună, de asemenea).

În cazul în care doriți să rotunjiți timpul la minut în loc de secunde, puteți utiliza tipul de date SMALLDATETIME utilizând această distribuție:

Folosind această tehnică am salvat un tabel de 15 milioane de rânduri într-un registru de lucru Excel de 66 Mb, folosind nu mai mult de 400Mb sau RAM o dată încărcat în memorie. Nu uitați, coloanele cu valori unice pentru fiecare rând sunt cele mai scumpe din PowerPivot!