Ce este Sinele în Python: Exemple din lumea reală
Ce este Sinele în Python: Exemple din lumea reală
Pentru tutorialul de astăzi, voi arăta cum puteți automatiza procesul de sortare a unei coloane după o altă coloană în cadrul serviciilor de analiză LuckyTemplates și SSAS sau SQL server. Puteți viziona videoclipul complet al acestui tutorial în partea de jos a acestui blog.
În acest exemplu, avem tabelul Date cu mai multe coloane. Unele coloane sunt partea întreagă, pe care o vom ascunde; iar unele coloane sunt partea șirului, pe care o vom arăta utilizatorului final.
Deci, avem coloanele An calendaristic, Calendar Year Month și Month. Ceea ce vrem să facem este să automatizăm sortarea acestor trei coloane după partea lor întreagă. Voi sorta anul calendaristic după numărul anului calendaristic, luna anului calendaristic după numărul lunii anului calendaristic, precum și luna după numărul lunii.
Dar nu vom face asta unul câte unul. Vom rula un script care îl va sorta automat pentru acest tabel special. În cazul în care aveți mai multe coloane pentru mai multe tabele, puteți utiliza acel script pe acele seturi de tabele.
Vom folosi Editorul Tabular pentru a scrie acel cod C#, dar pentru moment, Editorul Tabular nu are un IntelliSense pentru limbajul C#. Pentru a face mai ușor, vom folosi Visual Studio (VS), unde avem limbajul IntelliSense pentru C# și puteți folosi și codul VS.
Cuprins
Sortarea coloanelor în LuckyTemplates și SSAS folosind C#
Mai întâi, trebuie să creăm un nou proiect în Visual Studio, care va fi Console App (.Net Framework) pentru limbajul C#. Să selectăm acel clic pe Următorul.
Apoi, putem oferi orice nume proiectului. Voi apela acest SortBy și voi face clic pe Creare.
Acum, puteți vedea că avem codul. Odată ce codul funcționează, pur și simplu îl vom copia și lipi în interiorul Tabular Editor.
Dar, pentru ca codul să funcționeze în Visual Studio, trebuie să setăm o referință la o bibliotecă. Și pentru asta, putem pur și simplu să facem clic pe Referințe și să alegem opțiunea Gestionare pachete NuGet în opțiunea browserului.
În interiorul opțiunii de navigare, trebuie să scriem servicii de analiză . Și apoi, în opțiunile disponibile, trebuie să o selectăm pe a doua și să facem clic pe Instalare. Va începe instalarea și va dura câteva secunde până când instalarea se va finaliza.
Apoi, trebuie să scriem în cod, Utilizând Microsoft.AnalysisServices.Tabular și apoi să scriem un punct și virgulă. Vom crea un obiect server, astfel încât să putem scrie pur și simplu Server , iar numele obiectului server va fi Server însuși și vom scrie New Server .
Deci, practic, creăm un nou obiect în interiorul memoriei. Și pentru a conecta acel server la fișierul LuckyTemplates, vom folosi o metodă a obiectului server. Deci, să scriem server.Connect și aici vom furniza numărul portului pe care ascultă AnalysisServices din LuckyTemplates.
Pentru a găsi acel număr de port, mergem la Instrumente externe, facem clic pe DAX Studio , iar în partea de jos, vom găsi gazda locală. Acesta este numărul de cod pe care serviciile de analiză a serverului SQL pe care le avem în interiorul LuckyTemplates ascultă modificările pe care le trimitem prin LuckyTemplates sau orice alt instrument extern.
Serverul este un lucru, dar un server poate avea mai multe modele și în cazul SSAS. Dar acum, în LuckyTemplates, avem un singur model. Deci, vom declara acel model. Scriem aici Modelul este egal cu (=) server.Databases și vom accesa prima bază de date din acel server, așa că vom scrie .Model .
Acum să testăm dacă acea parte a codului funcționează sau nu. Pentru a face asta, vom tipări pur și simplu lista tuturor tabelelor pe care le avem în acel model de date. Deci, vom introduce aici, pentru fiecare (Tabel t în model.Tables) , deschidem paranteza și apăsăm Enter.
După aceea, introducem Console.WriteLine (t.Name) . Pentru a ne asigura că fereastra nu se închide automat odată ce imprimă numele tabelelor, vom scrie acel Console.ReadLine , deschiderea și închiderea parantezei și un punct și virgulă. Acum, tot ce trebuie să facem este să facem clic pe opțiunea Start și să așteptăm să se execute.
Puteți vedea că putem tipări numele tabelelor pe care le avem în interiorul modelului de date. Avem datele, produsul, clientul și magazinul. Asta confirmă că configurația pe care am creat-o funcționează.
Așa că acum, putem de fapt să intrăm în carnea codului și să începem să creăm codul care ne va ajuta să sortăm acea coloană după omologul întreg.
Să scăpăm de tot ce am creat din partea ForEach . Vom păstra serverul și modelul așa cum sunt. Să declarăm o variabilă care va ține numele tabelului pe care dorim să iterăm. Îl voi numi ca DatesTable , iar numele tabelului va fi practic Dates .
În continuare, vom avea foreach var t în model.Tables , apoi vom folosi o clauză where , astfel încât să putem spune unde T merge la t.Name ar trebui să fie egal cu DatesTable . Dacă în prezent iterăm pe DatesTable, vom iniția o altă buclă peste toate coloanele acelui DatesTable. Deci, pentru asta, putem scrie pentru fiecare var c în t.Columns .
Pentru a testa dacă iterăm doar peste DatesTable și avem acces la toate coloanele DatesTable, putem pur și simplu să tipărim Console.WriteLine și vom spune c.Name .
Dacă apăs pe F5, puteți vedea că avem acces la coloane.
Acum putem continua și să scriem mai mult cod.
Vom crea o listă de tupluri care va conține încă trei coloane. Una dintre coloane va fi coloana țintă. A doua coloană va fi coloana prin care dorim să sortăm coloana țintă, iar a treia coloană va ține pur și simplu adevărat sau fals, indiferent dacă vrem să ascundem coloana prin care sortăm de fapt.
Să presupunem că vrem să sortăm coloana Anului calendaristic după numărul anului calendaristic. Prima coloană va conține Anul calendaristic, a doua coloană va fi pentru Numărul anului calendaristic, iar a treia coloană va decide dacă vrem să ascundem coloana Numărul anului calendaristic după ce am finalizat sortarea sau nu.
Și pentru asta, să revenim la Visual Studio, unde vom crea o nouă variabilă. Îi poți numi orice vrei. În acest exemplu, îl voi numi colOperations . În continuare, vom scrie new , apoi vom crea o listă și vom scrie tipul de coloane (șir, șir și bool). După aceea, creăm tuplurile.
Deci, practic, pur și simplu creăm o listă de trei coloane, iar pentru trei coloane, am furnizat două rânduri. Acum, în bucla noastră foreach , vom iniția o buclă for . Deci, practic, ceea ce spunem este că declarăm o variabilă care începe cu i în fiecare iterație. Dacă i este mai mic decât colOperations.Count, atunci pur și simplu incrementați acel .
În continuare, vom scrie o instrucțiune IF . C.Name aparține numelui coloanei în care ne aflăm în prezent. Apoi, avem colOperations i . I , practic, ne permite să accesăm un anumit rând. Și când scriem .Item1 , putem accesa prima coloană, a doua coloană sau a treia coloană.
Deci, mai întâi vom folosi coloana Item1 . Dacă este adevărat, scriem pur și simplu c.SortByColumn ar trebui să fie egal cu t.Columns . Amintiți-vă că t este obiectul tabelului. Apoi, accesăm coloanele din acel tabel special. Vrem colOperations , rândul pe care ne aflăm în prezent în operațiunile pe coloană, iar coloana este practic obiectul Item2 .
În cele din urmă, pentru a ascunde acea coloană specială prin care aplicăm sortarea, scriem o ultimă linie de cod.
Deci, acum că am scris codul principal pe care urmează să-l executăm pe modelul nostru tabular, putem pur și simplu să copiam codul din var colOperations și să-l ducem la Editorul tabelar și apoi vom executa același cod.
Sortarea coloanelor în LuckyTemplates și SSAS utilizând Editorul tabelar
Nu vom folosi serverul sau obiectul model, deoarece în spatele scenei Editorul tabelar va ști automat la ce model LuckyTemplates sau modelul serviciilor de analiză trebuie să se conecteze. Deci, nu trebuie să folosim acele variabile, deoarece aceasta este deja sarcina Editorului tabelar pentru a identifica modul în care dorește să se conecteze la acele modele.
Înapoi în LuckyTemplates, vom lansa fie Editorul tabelar 3, fie Editorul tabelar 2. Puteți folosi oricare dintre acestea doriți. În acest caz, să mergem cu Editorul tabelar 3.
Mergem la fila Fișier, facem clic pe Cod nou C# și închidem opțiunea Proprietăți. Apoi, putem lipi codul aici. Singurul lucru de care trebuie să ne asigurăm este că în loc să folosim variabila model este să folosim obiectul model . Deci, să folosim M majuscule și să executăm acel cod.
Acum că scriptul a fost executat cu succes și că arată, de asemenea, trei modificări de model, vom remite modificările în modelul de date. Vom salva orice am aplicat acelor coloane.
Înapoi în LuckyTemplates, puteți vedea că numărul lunii este ascuns. Dacă dau clic pe coloana Lună și merg la Instrumente pentru coloane și la coloana Sortare după , puteți vedea că acea coloană a fost sortată după numărul lunii. Același lucru este valabil și cu numărul lunii anului calendaristic.
Anul calendaristic este sortat singur, deoarece nu aveam acea coloană în acel cod C#. Deci, ceea ce putem face este să lansăm înapoi Editorul tabelar și să creăm un alt tuplu. Și apoi, încă o dată executăm acel script.
Editor tabelar LuckyTemplates: Versiunea 3 Revizuire și tutorial
LuckyTemplates Editor tabelar 3: Automatizare cu un script
Codare DAX în Editorul tabelar 3
Concluzie
Așa este cât de ușor este să automatizezi procesul de sortare a unei coloane după o altă coloană în și SSAS. Acesta a fost un exemplu foarte de bază despre cum puteți face acea operație în tabelul Date. Dar puteți îmbogăți această listă adăugând mai multe coloane și apoi verificați pentru un alt tabel.
În acest fel, puteți reduce timpul pe care trebuie să îl petreceți pentru sortarea acestor coloane pentru aceleași modele pe care le veți crea din nou și din nou.
Sper că ați găsit acest lucru util. Dacă aveți întrebări, spuneți-mi doar în secțiunea de comentarii.
Ce este Sinele în Python: Exemple din lumea reală
Veți învăța cum să salvați și să încărcați obiecte dintr-un fișier .rds în R. Acest blog va trata, de asemenea, cum să importați obiecte din R în LuckyTemplates.
În acest tutorial despre limbajul de codare DAX, aflați cum să utilizați funcția GENERATE și cum să schimbați în mod dinamic titlul unei măsuri.
Acest tutorial va acoperi cum să utilizați tehnica Multi Threaded Dynamic Visuals pentru a crea informații din vizualizările dinamice de date din rapoartele dvs.
În acest articol, voi trece prin contextul filtrului. Contextul de filtrare este unul dintre subiectele majore despre care orice utilizator LuckyTemplates ar trebui să învețe inițial.
Vreau să arăt cum serviciul online LuckyTemplates Apps poate ajuta la gestionarea diferitelor rapoarte și informații generate din diverse surse.
Aflați cum să vă calculați modificările marjei de profit folosind tehnici precum măsurarea ramificării și combinarea formulelor DAX în LuckyTemplates.
Acest tutorial va discuta despre ideile de materializare a cache-urilor de date și despre modul în care acestea afectează performanța DAX-ului în furnizarea de rezultate.
Dacă încă utilizați Excel până acum, atunci acesta este cel mai bun moment pentru a începe să utilizați LuckyTemplates pentru nevoile dvs. de raportare a afacerii.
Ce este LuckyTemplates Gateway? Tot ce trebuie să știți