Skip to content
  • Despre noi
  • Portofoliu
  • Training personalizat pentru echipe
    • Cursuri Analiză și raportare (Excel, Power BI)
      • Curs Excel pentru business
      • Curs Power BI Desktop
    • Cursuri arhitectura de date și automatizări (Power Automate)
      • Curs Arhitectura datelor pentru automatizări și AI
      • Curs Power Automate – fluxuri automatizate
    • Cursuri Inteligență artificială în Microsoft 365
      • Curs utilizare AI în Microsoft 365 (Copilot/Claude/ChatGPT)
      • Curs AI pentru Comunicare și Prezentări Profesionale (Copilot/Claude/ChatGPT)
      • Curs AI pentru Excel. Fundamente
      • Curs AI pentru Excel. Prelucrări avansate
      • Agenți AI în Microsoft 365 Copilot & SharePoint
    • Cursuri Comunicare de afaceri și asistență de management
      • Curs Power Point – prezentări profesionale
      • Curs Comunicare scrisă eficientă în afaceri
  • Consultanță și servicii
    • Analiză și raportare date
    • Prezentări profesionale
    • Proceduri operaționale
    • Fișe post și competențe
  • Blog
  • Contact
R&I Etic Solutions

R&I Etic Solutions

Training și consultanță pentru organizații

  • +40 732 445 132
  • office@eticsolutions.ro
  • 2B Dimitrie Cantemir, Bucuresti
  • Despre noi
  • Portofoliu
  • Training personalizat pentru echipe
    • Cursuri Analiză și raportare (Excel, Power BI)
      • Curs Excel pentru business
      • Curs Power BI Desktop
    • Cursuri arhitectura de date și automatizări (Power Automate)
      • Curs Arhitectura datelor pentru automatizări și AI
      • Curs Power Automate – fluxuri automatizate
    • Cursuri Inteligență artificială în Microsoft 365
      • Curs utilizare AI în Microsoft 365 (Copilot/Claude/ChatGPT)
      • Curs AI pentru Comunicare și Prezentări Profesionale (Copilot/Claude/ChatGPT)
      • Curs AI pentru Excel. Fundamente
      • Curs AI pentru Excel. Prelucrări avansate
      • Agenți AI în Microsoft 365 Copilot & SharePoint
    • Cursuri Comunicare de afaceri și asistență de management
      • Curs Power Point – prezentări profesionale
      • Curs Comunicare scrisă eficientă în afaceri
  • Consultanță și servicii
    • Analiză și raportare date
    • Prezentări profesionale
    • Proceduri operaționale
    • Fișe post și competențe
  • Blog
  • Contact

Power Pivot (6) – Exemple de Functii DAX. Functia SWITCH

  • 07-2019
  • Ramona Stan
  • Excel și BI
  • Comentariile sunt închise pentru Power Pivot (6) – Exemple de Functii DAX. Functia SWITCH

Cursuri_gratuite_ExcelIncepand din 11 iulie 2016, vom publica in fiecare zi de luni si de joi cate un articol din seria de zece cursuri gratuite dedicate Power Pivot pentru Excel 2013.

ENJOY THE POWER! 🙂

 

Exemplul 1

Se da un model de date, format din mai multe tabele relationate astfel:

Power Pivot - Relatii intre tabele - Microsoft Excel 2013
Power Pivot – Relatii intre tabele – Microsoft Excel 2013

In tabela tblOrders, avem nevoie de introducerea unei coloane calculate care sa arate luna efectuarii comenzii, in baza datei comenzii, asa cum apare ea in coloana Data comanda.

Incarcam modelul de date (PowerPivot – Manage) si, in tabela tblOrders inseram o noua coloana (ea va fi denumita automat CalculatedColumn1), intre coloanele Data comanda si Status.

Power Pivot - Inserare coloana calculata - Microsoft Excel 2013
Power Pivot – Inserare coloana calculata – Microsoft Excel 2013

Pentru a afla luna efectuarii comenzii, utilizam functia MONTH, cu o sintaxa asemanatoare functiei clasice de tip Date&Time.

=MONTH([Data comanda])

Aceasta functie va intoarce extrage luna din data calendaristica si va intoarce un rezultat numeric, de la 1 la 12.

Ceea ce vrem sa obtinem, insa, este un rezultat de tip text, adica denumirea lunii in limba romana (Ianuarie, Februarie, etc.).

Utilizand optiunile clasice furnizate de Excel 2013, avem doua variante:

  • Utilizarea unei formule complexe, continand mai multe functii IF, de genul: =IF(MONTH([Data comanda])=1,”Ianuarie”,IF(MONTH([Data comanda])=2,”Februarie”,…….)))..
  • Utilizarea functiei VLOOKUP, cu conditia sa existe in fisierul Excel o tabela de corespondenta intre numar si denumire.

Utilizand optiunile specifice furnizate de Power BI, vom alege functia SWITCH pentru a calcula denumirea lunii, in functie de indicativul de luna (1,2,…..12).

Remember! Coloanele calculate NU exista in tabelele originale, ele vor putea fi utilizate in Pivot Table de tip Power Pivot.

Functia SWITCH este o functie DAX de tip Logic, cu urmatoarea sintaxa:

=SWITCH(<expression>, <value>, <result>[, <value>, <result>]…[, <else>])

Unde:

<expression> semnifica o interogare logica, asemanatoare cu logical_test al functiei clasice IF.

In exemplul de mai sus, trebuie sa evaluam rezultatul functiei MONTH, aceasta putand avea valori de la 1 la 12.

Daca <value> este 1, atunci <result> este textul “Ianuarie”, daca <value> este 2, atunci <result> este textul “Februarie”, ….etc.

Vom inscrie, prin urmare, formula:

=SWITCH(MONTH([Data comanda]),1,”Ianuarie”,2,”Februarie”,3,”Martie”,4,”Aprilie”,5,”Mai”,6,”Iunie”,7,”Iulie”,8,”August”,9,”Septembrie”,10,”Octombrie”,11,”Noiembrie”,”Decembrie”)

Observati ca “Decembrie” corespunde argumentului <else>, pentru ca este ultima varianta posibila.

Evident, pentru ca functia sa intoarca rezultatul corect, toate datele inscrise in coloana [Data comanda] trebuie sa fie de tip data calendaristica.

Power Pivot - Functia SWITCH - Microsoft Excel 2013
Power Pivot – Functia SWITCH – Microsoft Excel 2013

Este o formula mult mai simpla si mai intuitiva decat utilizarea mai multor functii IF si inlocuieste cu succes functia VLOOKUP.

 

Exemplul 2

In articolul anterior, am invatat cum se utilizeaza functia RELATED (functie DAX de tip Filter) ca argument al functiei IF, pentru a calcula statusul unei facturi, intr-un model de date complex, care continea atat tabela facturi, cat si tabela FACT_RESTANTE, relationate prin coloana InvoiceID.

Sa incercam sa obtinem acelasi rezultat, utilizand functia SWITCH, in loc de functia IF.

Toate facturile restante se regasesc in tabela FACT_RESTANTE. In tabela facturi, vrem sa introducem o coloana calculata, denumita Status factura, care sa aiba valoarea platit, respectiv valoarea neplatit.

Vom utiliza functia SWITCH, unde functia RELATED va fi parte a argumentului <expression>.

ID-ul facturii este un numar. Daca interogarea cu functia RELATED intoarce un rezultat in tabela FACT_RESTANTE, acesta va fi chiar numarul facturii, prin urmare expresia RELATED(FACT_RESTANTE[InvoiceID]) va fi mai mare ca 0.

In cazul in care rezultatul expresiei este pozitiv, inseamna ca este vorba despre o factura neplatita, in caz contrar (argumentul <else> al functiei SWITCH), este vorba despre o factura platita.

Expresia RELATED(FACT_RESTANTE[InvoiceID])>0 intoarce un rezultat de tip logic, prin urmare argumentul <value> al functiei SWITCH trebuie sa fie tot o valoare logica.

Formula

=SWITCH(RELATED(FACT_RESTANTE[InvoiceID])>0,”TRUE”,”neplatit”,”platit”)

Intoarce eroare, pentru ca <value> este textul TRUE.

Utilizam functia TRUE(), care intoarce pur si simplu valoarea logica de adevar TRUE.

Formula corecta va fi:

=SWITCH(RELATED(FACT_RESTANTE[InvoiceID])>0,TRUE(),”neplatit”,”platit”)

Am obtinut acelasi rezultat ca atunci cand am utilizat functia IF (coloana Status factura).

Power Pivot - Variante de calcul SWITCH vs. IF - Microsoft Excel 2013
Power Pivot – Variante de calcul SWITCH vs. IF – Microsoft Excel 2013

In coloana CalculatedColumn1, am obtinut acelasi rezultat, utilizand o varianta a formulei de mai sus, prin introducerea functiei ISNUMBER.

=SWITCH(ISNUMBER(RELATED(FACT_RESTANTE[InvoiceID])),true(),”neplatit”,”platit”)

Navigare în articole

« Ce ai de invatat ca sa poti sa inveti cand ai nevoie (I)
Power Pivot (7) – Exemple de Functii DAX. Functia CALCULATE »
Etichete: cursuri excel online gratuite, functia RELATED, functia SWITCH, functii DAX, model de date, Power BI, Power Pivot, relatii tabele

Alte articole pe blog:

  • Cum se valideaza in Excel datele dupa o lista predefinita (2)

  • Cum se valideaza in Excel datele dupa o lista predefinita (1)

  • Cum stergi un sheet in Excel fara sa il selectezi, utilizand VBA?


  • Power Pivot (10) – Cum se utilizeaza Power View. „Hărţi” sintetice

  • Power Pivot (9) – Crearea unei masuri

  • Functia IF cu AND – realizarea de formule complexe in Excel


Contact

R&I ETIC SOLUTIONS SRL
Blvd. Dimitrie Cantemir, 2B
Sector 4, Bucuresti
www.eticsolutions.ro
+40 732 445 132
office@eticsolutions.ro

GDPR

  • Politica privind cookies
  • Informare GDPR
  • Declaratie cookies

Training corporate

  • Cursuri Analiză și raportare (Excel, Power BI)
  • Cursuri arhitectura de date și automatizări
  • Cursuri Inteligență Artificială în Microsoft 365
  • Cursuri Comunicare de afaceri

R&I ETIC SOLUTIONS

Folosim cookie-uri pentru a personaliza conținutul și anunțurile, pentru a oferi funcții de rețele sociale și pentru a analiza traficul. Înainte de a continua navigarea pe www.eticsolutions.ro, te rugăm să citești și să înțelegi conținutul din Politica privind Cookies și Informare GDPR. Dacă NU ești de acord, poți modifica acum setările acestor fișiere cookie urmând instrucțiunile din Politica de cookies. Prin continuarea navigării pe www.eticsolutions.ro confirmi acceptarea utilizării fișierelor de tip cookie. Setare preferinte cookie-uriACCEPTA
Modificare setari confidentialitate

Acest site utilizează cookie-uri.


Folosim cookie-uri pentru a personaliza conținutul și anunțurile, pentru a oferi funcții de rețele sociale și pentru a analiza traficul. Înainte de a continua navigarea pe www.eticsolutions.ro, te rugăm să citești și să înțelegi conținutul din Politica privind Cookies și Informare GDPR. Dacă NU ești de acord, poți modifica acum setările acestor fișiere cookie urmând instrucțiunile din Politica privind Cookies. Prin continuarea navigării pe www.eticsolutions.ro confirmi acceptarea utilizării fișierelor de tip cookie.

NOTA: Aceste preferinte vor fi salvate doar pentru browserul si dispozitivul pe care il utilizati in acest moment.

Cookie-urile sunt mici fişiere de text ce pot fi utilizate de către site-urile web pentru a face utilizarea lor mai eficientă.

Legea stipulează că putem stoca cookie-uri pe dispozitivul dvs., în cazul în care ele sunt strict necesare pentru operarea acestui site. Pentru toate celelalte tipuri de cookie-uri avem nevoie de permisiunea dvs.

Acest site utilizează diferite tipuri de cookie-uri. Unele cookie-uri sunt plasate de către servicii părţi terţe care apar pe paginile noastre.

Puteți, în orice moment, să modificați sau să vă retrageți acordul din Declarația privind modulele cookie de pe website-ul nostru.

Aflați mai multe despre cine suntem, cum ne puteți contacta și cum procesăm datele personale în Politica noastră de confidențialitate.

Când ne contactați în legatura cu consimțământul dvs., va rugam sa precizați ID-ul și data consimțamântului dat.

Consimţământul dvs. se aplică următoarelor domenii: eticsolutions.ro
Necessary
Întotdeauna activate
Cookie-urile necesare ajută la a face un site utilizabil prin activarea funcţiilor de bază, precum navigarea în pagină şi accesul la zonele securizate de pe site. Site-ul nu poate funcţiona corespunzător fără aceste cookie-uri.
CookieDuratăDescriere
cookielawinfo-checkbox-advertisement1 yearThe cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Advertisement".
cookielawinfo-checkbox-analytics1 yearThis cookies is set by GDPR Cookie Consent WordPress Plugin. The cookie is used to remember the user consent for the cookies under the category "Analytics".
cookielawinfo-checkbox-necessary1 yearThis cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-performance1 yearThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
Functional
Cookie-urile functionale permit unele functionalitati ale site-ului, precum like sau share pe retele sociale
CookieDuratăDescriere
__sharethis_cookie_test__sessionThis cookie is set by ShareThis, to test whether the browser accepts cookies.
__stidv1 yearThis cookie is used by ShareThis. This cookie is used for sharing the content from the website to social networks.
Performance
Cookie-urile de performanta sunt utilizate pentru a analiza indicatorii de performanta ai unei pagini web (de exemplu, viteza incarcare), ceea ce faciliteaza furnizarea unei experiente mai placute de navigare pentru vizitatorii website-ului.
CookieDuratăDescriere
_gat1 minuteThis cookies is installed by Google Universal Analytics to throttle the request rate to limit the colllection of data on high traffic sites.
Analytics
Cookie-urile de statistică îi ajută pe proprietarii unui site să înţeleagă modul în care vizitatorii interacţionează cu site-urile prin colectarea şi raportarea informaţiilor în mod anonim.
CookieDuratăDescriere
tk_lr1 yearThis cookie is set by JetPack plugin on sites using WooCommerce. This is a referral cookie used for analyzing referrer behavior for Jetpack
tk_or5 yearsThis cookie is set by JetPack plugin on sites using WooCommerce. This is a referral cookie used for analyzing referrer behavior for Jetpack
tk_r3d3 daysThe cookie is installed by JetPack. Used for the internal metrics fo user activities to improve user experience
_ga2 yearsThis cookie is installed by Google Analytics. The cookie is used to calculate visitor, session, campaign data and keep track of site usage for the site's analytics report. The cookies store information anonymously and assign a randomly generated number to identify unique visitors.
_gid1 dayThis cookie is installed by Google Analytics. The cookie is used to store information of how visitors use a website and helps in creating an analytics report of how the website is doing. The data collected including the number visitors, the source where they have come from, and the pages visted in an anonymous form.
__stid1 yearThe cookie is set by ShareThis. The cookie is used for site analytics to determine the pages visited, the amount of time spent, etc.
Advertisement
Cookie-urile de marketing sunt utilizate pentru a-i urmări pe utilizatori de la un site la altul. Intenţia este de a afişa anunţuri relevante şi antrenante pentru utilizatorii individuali, aşadar ele sunt mai valoroase pentru agenţiile de puiblicitate şi părţile terţe care se ocupă de publicitate.
CookieDuratăDescriere
fr3 monthsThe cookie is set by Facebook to show relevant advertisments to the users and measure and improve the advertisements. The cookie also tracks the behavior of the user across the web on sites that have Facebook pixel or Facebook social plugin.
_fbp3 monthsThis cookie is set by Facebook to deliver advertisement when they are on Facebook or a digital platform powered by Facebook advertising after visiting this website.
Others
Cookie-urile neclasificate sunt cookie-uri în curs de clasificare, împreună cu furnizorii de cookie-uri individuale.
CookieDuratăDescriere
cookielawinfo-checkbox-functional1 yearThe cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-others1 yearNo description
fpestid1 yearNo description
st_samesitesessionNo description
tk_ai5 yearsGathers information for WordPress by themselves, first party analytics tool about how WP services are used. A collection of internal metrics for user activity, used to improve user experience.
tk_qs30 minutesGathers information for WordPress by themselves, first party analytics tool about how WP services are used. A collection of internal metrics for user activity, used to improve user experience.
SALVEAZĂ ȘI ACCEPTĂ
Propulsat de CookieYes Logo