În această postare vă arăt un truc simplu pentru a vă face modelul Power BI mai organizat și mai lizibil. O numesc creând un „Tabel de măsuri”. Lasă-mă să explic. Povestea este că lucram la un model cu multe mese. Schema bazei de date NU a fost o schemă stelară adecvată, așa că au existat o grămadă de măsuri răspândite în multe tabele diferite. În plus, am creat o mulțime de măsuri calculate cu diferite tabele de acasă, ceea ce a făcut cu adevărat dificil să găsești o anumită măsură sau o măsură calculată. M-am gândit, ei bine, când este atât de greu de găsit măsurile calculate la momentul dezvoltării cât de greu ar putea fi pentru un client să găsească, să înțeleagă și să utilizeze măsurile pe care le-am creat. Vizibilitatea măsurilor calculate ar putea fi o problemă atunci când avem o mulțime de măsuri în multe tabele diferite. Veți simți în curând problema în sesiunile de instruire a clienților, atunci când trebuie să navigați între o mulțime de tabele diferite pentru a găsi o măsură calculată.

măsurare

Luați în considerare crearea unui model Power BI cu conectare directă la o instanță multidimensională SSAS. Veți observa imediat că toate grupurile de măsuri au o pictogramă specială de calcul (), mai degrabă decât o pictogramă normală de tabel (), care face grupurile de măsuri mai ușor de recunoscut pentru utilizatorii finali. De exemplu, puteți găsi cu ușurință orice măsură calculată legată de „Vânzări pe Internet” în grupul de măsuri „Vânzări pe Internet”.

Știu, putem căuta și găsi măsurile foarte ușor, dar modelul nostru ar fi mai organizat și mai ușor de utilizat dacă putem pune toate măsurile într-unul sau mai multe tabele care conțin doar măsuri calculate și nimic altceva. De exemplu, putem crea un tabel de măsuri pentru calculele de informații de timp și îl putem denumi „Măsuri de informație de timp de vânzări” și putem pune toate măsurile calculate, cum ar fi „Vânzări YTD”, „Vânzări LYTD”, „Vânzare perioadă peste perioadă”. Acesta va face modelul dvs. frumos și curat, ușor de utilizat și ușor de învățat pentru clienții dvs. De asemenea, vă va ajuta să vă instruiți clienții mai ușor.

În acest articol mă voi conecta la o instanță SQL Server și voi folosi celebra bază de date Adventure Works. Vă arăt, de asemenea, cum să faceți treaba atât în ​​modurile „Import”, cât și în „DirectQuery”, deoarece există unele limitări aplicate modului DirectQuery, ceea ce face mai greu să facem ceea ce dorim.

Ideea este adăugarea unui nou tabel cu o singură coloană având o singură valoare în acea coloană. Apoi, trebuie să ascundem acea coloană. Acest lucru face ca întregul tabel să fie ascuns deoarece nu există coloane de afișat. Apoi folosim acest tabel ca „Tabel de acasă” pentru toate măsurile calculate aferente. Amintiți-vă, NU ascundem masa, ci doar coloana. În acest caz, Power BI Desktop recunoaște tabelul ca tabel de măsuri, astfel încât folosește pictograma grupului de măsuri () pentru aceasta.

Creați un tabel de măsurare în modul Import

  • Deschideți desktopul Power BI
  • Obțineți date
  • Conectați-vă la o bază de date SQL Server (Adventure Works ca eșantion)

  • Selectați un tabel dorit (FactInternetSales în cazul nostru)
  • Faceți clic pe butonul „Selectare tabele corelate”
  • Faceți clic pe „Încărcați”

  • Faceți clic pe „Import”, apoi OK

  • Faceți clic pe „Introduceți date” din fila Acasă

  • Introduceți o valoare pentru „Coloana1”
  • Introduceți un nume pentru tabel, apoi faceți clic pe „Încărcare”

  • Extindeți noul tabel din panoul „Câmpuri”, apoi ascundeți coloana „Coloană1”

  • Aceasta va ascunde întregul tabel deoarece nu există coloane vizibile de afișat
  • Faceți clic pe „Măsură nouă” din fila „Modelare” din panglică pentru a crea o nouă măsură calculată

  • Tastați o expresie DAX dorită pentru a face noua măsură calculată, apoi apăsați Enter

  • Aceasta va crea măsura calculată în primul tabel din panoul „Câmpuri”

  • Faceți clic din nou pe bara de formule pentru a activa proprietățile măsurătorii
  • Faceți clic pe „Tabel de acasă” și alegeți tabelul nou creat din listă

  • După cum puteți vedea, tabelul apare din nou în panoul „Câmpuri” cu măsura calculată

  • După cum puteți vedea, tabelele au încă pictograma normală a tabelului, dar, dacă comutați la dreapta panoul câmpurilor, apoi comutați la stânga, pictograma va fi reîmprospătată

Puteți crea mai multe tabele precum „Vânzători de revânzători” și așa mai departe, apoi mutați măsurile calculate în tabelele corespunzătoare. În unele cazuri, puteți ascunde întregul tabel de date dacă ați creat toate măsurile calculate de care aveți nevoie sau când clientul dvs. nu va trebui să vadă măsuri din tabelele de informații.

Creați un tabel de măsurare în modul DirectQuery

Practic, trebuie să facem același proces, dar de data aceasta vrem să ne conectăm la o bază de date SL Server în modul DirectQuery. Deci, pentru a obține date, facem exact aceleași lucruri:

Deschideți Power BI Desktop => Obțineți date => Conectați-vă la o bază de date SQL Server și așa mai departe.

Este important să introduceți numele bazei de date la primul pas de obținere a datelor.

Dar, veți observa imediat că butonul „Introduceți date” este dezactivat în modul DirectQuery.

E bine. Există întotdeauna o modalitate alternativă de a marca golul.

După cum am menționat anterior, trebuie să introducem numele bazei de date atunci când obținem date. Acest lucru este important, deoarece vom reutiliza conexiunea în pașii următori și dacă nu am introdus numele bazei de date, veți primi următorul mesaj:

„Conectarea la tabele din mai multe baze de date nu este acceptată în modul DirectQuery”

OK, iată trucul.

După ce v-ați conectat la baza de date SQL Server în modul DirectQuery, urmați pașii de mai jos:

  • Faceți clic pe „Editați interogările” din panglică

  • Faceți clic pe „Surse recente”, apoi faceți clic pe cea mai recentă

  • Selectați un tabel. Nu contează ce tabel selectați, deoarece îl vom modifica în timpul pașilor următori. Faceți clic pe OK

  • Aceasta va adăuga noul tabel în panoul „Interogări” (în exemplul meu este „AdventureWorksDWBuildVersion”)

  • Faceți clic pe „Advanced Editor” din fila „Acasă” din panglică

  • Tot ce trebuie să faceți este să adăugați la sursă o interogare simplă precum „[Interogare =” SELECT 1 AS NEW_COLUMN ”]”

  • Acum trebuie să comentați/eliminați următoarea linie, precum și ieșirea din „în
  • Puneți „Sursă” în „în"Bloc
  • Nu uitați să eliminați virgula „,”De la sfârșitul liniei„ Sursă ”
  • Faceți clic pe „Terminat”

  • Ar trebui să vedeți un tabel cu o singură coloană

  • Redenumiți interogarea, apoi faceți clic pe „Închideți și aplicați”

OK, acum avem un tabel cu o singură coloană. De aici, restul procesului este la fel ca ceea ce am făcut înainte.

  • Ascundeți coloana „Coloană_Nouă”
  • Adăugați o nouă măsură, apoi schimbați „Tabelul principal” în tabelul nou creat
  • Comutați la dreapta și la stânga în panoul de activități și ați terminat

Ai putea crede

„Ei bine ... a fost o procedură cam lungă. Ce se întâmplă dacă vreau să creez mai multe tabele de măsuri? Trebuie să refac întregul proces din nou și din nou? ”

Răspunsul este NU, NU trebuie să refaceți procesul pentru fiecare tabel de măsuri pe care doriți să îl adăugați la model. Tot ce trebuie să faceți este să creați o interogare de referință din interogarea pe care ați creat-o deja.

  • Faceți clic pe „Editați interogarea” din panglică pentru a deschide „Editorul de interogări”

  • Faceți clic dreapta pe interogarea pe care ați creat-o anterior și faceți clic pe „Referință”

  • Redenumiți tabelul de referință, apoi „Închideți și aplicați”

  • De aici trebuie să urmați același proces așa cum s-a explicat anterior

Imparte asta:

  • Faceți clic pentru a partaja pe Twitter (Se deschide într-o fereastră nouă)
  • Faceți clic pentru a partaja pe LinkedIn (Se deschide într-o fereastră nouă)
  • Faceți clic pentru a partaja pe Facebook (Se deschide într-o fereastră nouă)
  • Faceți clic pentru a partaja pe Reddit (Se deschide într-o fereastră nouă)
  • Faceți clic pentru a partaja pe WhatsApp (Se deschide într-o fereastră nouă)
  • Faceți clic pentru a partaja pe Telegram (Se deschide într-o fereastră nouă)
  • Faceți clic pentru a partaja pe Skype (Se deschide într-o fereastră nouă)
  • Marea

Asa:

Legate de

Publicat de Soheil Bakhshi

8 gânduri despre „Cum să definiți un tabel de măsuri în Power BI Desktop”

Îți mulțumesc. Post grozav!

Mă lupt cu aceeași problemă de ceva vreme, dar sunt conectat la un cub tabular Analysis Services prin interogare directă.

Uneori, tabelele mele FACT au simbolul Măsură și se află în partea de sus a listei de câmpuri, uneori au simbolul Tabel și se află în mijlocul listei de câmpuri. Acest lucru este extraordinar de frustrant într-un model de date de mari dimensiuni care trebuie să caute un loc pentru unele tabele FACT și un alt loc pentru celelalte tabele FACT (există o modalitate de a alfabeta doar indiferent de tipul de tabel!?).

Am căutat mult și ambele tabele FACT (cu simbolul Măsurare și fără) au doar câmpuri cu un simbol Calculator sau un simbol Sigma. Unele dintre câmpurile de simbol Sigma sunt ID-uri, nu măsuri de bază sau calculate, dar acest lucru este valabil pentru ambele. Nu există TEXT, DATE sau alte câmpuri. Ai vreun gând? Căutam un răspuns la asta de ceva timp ...

Pot să atașez capturi de ecran dacă ajută.

Sperăm că asta ajută.
Noroc.

Soheil, mulțumesc pentru explicația minunată!

Știu că acesta nu este un forum Microsoft în sine, dar acest lucru este problematic pentru scenarii în care dorim măsuri de bază provenind chiar din Data Warehouse, nu DAX. Acest lucru este adevărat în multe scenarii de performanță, ușurința menținerii ETL, etc.

Chiar dacă aducem aceste măsuri „de bază” în cub, le ascundem, apoi creăm un DAX, tot nu putem obține rezultatul dorit explicat mai sus. În acel moment nu văd că nu vom avea de ales decât să nu facem NICIODATĂ o măsură de bază în ETL/Source ... ar trebui să fie întotdeauna în DAX?

Sună bine?

Nu este deloc o problemă, mă bucur că ai ales să îți pui într-adevăr întrebarea aici.
Pentru a răspunde la întrebarea dvs., trebuie să spun că Power BI creează măsuri explicite temporare ori de câte ori puneți o măsură implicită unui vizual.
Măsurile explicite temporare sunt legate de vizualul pe care îl utilizați, prin urmare, atunci când utilizați aceeași măsură implicită în alte imagini, Power BI creează o altă măsură explicită dedicată vizualului care NU este o bună practică.
Este într-adevăr cea mai bună practică să creați măsuri explicite pentru toate cele implicite și să ascundeți toate măsurile implicite în modelul dvs. Mai ales atunci când creați un model tabular SSAS care servește mai multe instrumente de raportare, inclusiv Power BI.

Cu tabelele de date cu interogare directă și cu un tabel de măsuri, așa cum este sugerat, măsurile se actualizează când se termină DQ? Cred că nu, ceea ce face ca imaginile să depindă de măsurile care nu se actualizează. Este corect? Dacă da, acest lucru pare să fie un motiv pentru a păstra măsurile în tabelele DQ. Am pierdut ceva? Mulțumiri!