Power BI Dashboard Design from dbt MART | End-to-End
Introduction
ஒரு Power BI Dashboard உருவாக்கும்போது பலர் செய்யும் common mistake என்னனா, Power BI Desktop open பண்ணியவுடன் உடனே Visuals create பண்ண ஆரம்பித்துவிடுவது. ஆனால் ஒரு நல்ல Enterprise Dashboard உருவாக்குவதற்கு அதற்கு முன்னாடியே எந்த analysis செய்யப் போகிறோம், என்னென்ன KPIs தேவை, எந்த data தேவை, எப்படி data model செய்யப் போகிறோம் என்பதெல்லாம் clear ஆக இருக்க வேண்டும்.
இந்த Analytics Engineering Project-ல் OpenSky API-யிலிருந்து Python மூலம் data எடுத்துக்கொண்டு Snowflake-ல் load செய்து, dbt மூலம் RAW → STAGING → MART layer உருவாக்கப்பட்டுள்ளது. இப்போது அந்த analytics-ready MART data-வை Power BI-க்கு connect செய்து Dashboard development ஆரம்பிக்கலாம்.
இந்த process-ல் முக்கியமான point என்னனா, Visuals create செய்வதற்கு முன்னாடி analysis மற்றும் metrics-ஐ define செய்வது. இதனால் Dashboard development structured-ஆகவும் future changes easy-ஆகவும் இருக்கும்.
What You Will Learn
- Snowflake MART model-ஐ Power BI-க்கு connect செய்வது
- Power BI-ல் data validation செய்வது
- Data Type மற்றும் Data Category configure செய்வது
- Live மற்றும் Historical Data-வை handle செய்வது
- Date Dimension உருவாக்குவது
- DAX மூலம் basic Measures உருவாக்குவது
- Live Map மற்றும் KPI Card உருவாக்குவது
- Country-wise Aircraft analysis உருவாக்குவது
- Basic Dashboard page structure உருவாக்குவது
Power BI Dashboard Design-க்கு முன் Analysis-ஐ Define செய்யுங்கள்
Power BI project-ல் முதலில் நாம் answer செய்ய வேண்டிய business questions என்ன என்பதை identify செய்ய வேண்டும்.
இந்த Aviation Analytics project-ல் முக்கியமான questions:
- எத்தனை Aircraft தற்போது இருக்கிறது?
- எந்த Country-களை சேர்ந்த Aircraft இருக்கிறது?
- Aircraft தற்போது எங்கு இருக்கிறது?
- Aircraft-ன் Speed என்ன?
- Aircraft-ன் Altitude என்ன?
இந்த questions-க்கு answer கொடுக்கக்கூடிய Metrics மற்றும் Visuals-ஐ முன்கூட்டியே plan செய்தால் Dashboard development மிகவும் structured-ஆக இருக்கும்.
Metrics Tracker ஏன் முக்கியம்?
ஒவ்வொரு KPI-க்கும் ஒரு simple Metrics Tracker maintain செய்வது ஒரு நல்ல Enterprise practice.
| KPI | Calculation | Business Logic |
|---|---|---|
| Total Aircraft | Aircraft Count | Current Aircraft count |
| Total Country | Distinct Country Count | Aircraft எந்தெந்த Countries-ல் இருக்கிறது |
| Average Altitude | Average Altitude | Aircraft-ன் average altitude |
இந்த மாதிரி KPI name, calculation மற்றும் business logic ஆகியவற்றை document செய்து வைத்தால் future-ல் additional Metrics add செய்வதும் easier ஆக இருக்கும். மேலும் Dashboard users-க்கும் ஒரு KPI எப்படி calculate செய்யப்படுகிறது என்பதை understand செய்ய உதவும். :contentReference[oaicite:1]{index=1}
Dashboard Analysis-ஐ முதலில் Plan செய்யுங்கள்
இந்த project-ல் Aviation Overview, Aircraft Analysis, Flight Activity, Geography Analysis மற்றும் Performance Analysis போன்ற analysis areas plan செய்யப்பட்டுள்ளன.
ஒவ்வொரு analysis-க்கும் தேவையான Metrics-ஐ identify செய்து, அதற்கான Measures-ஐ create செய்த பிறகுதான் individual Dashboard pages build செய்ய வேண்டும். :contentReference[oaicite:2]{index=2}
நாம் என்ன build செய்யப் போகிறோம் என்பது தெரியாமல் நேரடியாக Dashboard development ஆரம்பித்தால், எந்த Metrics-ஐ group செய்ய வேண்டும், எத்தனை pages வேண்டும், எந்த analysis தேவை என்பதில் confusion வரலாம்.
Power BI Project Files-ஐ Organize செய்வது
Enterprise project-ல் simple file organization கூட முக்கியமானது. Project folder-க்குள் Power BI files-க்கு தனியாக folders வைத்துக்கொள்ளலாம்.
- DEV – Development files மற்றும் version-wise files
- PUBLISHED – Publish செய்ய பயன்படுத்தப்படும் final file
Development files-ஐ version-wise maintain செய்வது useful. Published folder-ல் final file-ஐ maintain செய்து தேவையானபோது updated version-ஐ replace செய்து publish செய்யலாம். :contentReference[oaicite:3]{index=3}
இது ஒரு small project-ல் simple practice போல தோன்றினாலும், Enterprise project-ஐ explain செய்யும்போது இத்தகைய development மற்றும் publishing process-கள் project maturity-ஐ காட்ட உதவும்.
Snowflake MART-ஐ Power BI-க்கு Connect செய்வது
Power BI-ல் Get Data option மூலம் Snowflake connector-ஐ select செய்து Snowflake account-க்கு connect செய்யலாம்.
Snowflake connection-ல் பொதுவாக:
- Server
- Warehouse
- Authentication
பயன்படுத்தப்படுகிறது. Snowflake account create செய்யும்போது கிடைக்கும் Server URL-ஐ பயன்படுத்தி connection establish செய்யலாம். Project-ல் பயன்படுத்திய warehouse-ஐயும் select செய்ய வேண்டும்.
Organization environment-ல் Microsoft Account மற்றும் SSO authentication பயன்படுத்தப்படலாம். இந்த project-ல் username மற்றும் password authentication பயன்படுத்தி connection establish செய்யப்படுகிறது. :contentReference[oaicite:4]{index=4}
MART Layer-ஐ மட்டும் Load செய்வது
Connection establish ஆன பிறகு available databases மற்றும் schemas Power BI-ல் காணப்படும். இங்கே analytics-ready MART layer-ல் இருக்கும் view-ஐ select செய்து preview data-வை cross-check செய்யலாம்.
Data ஏற்கனவே Snowflake மற்றும் dbt layer-ல் clean செய்யப்பட்டுள்ளதால், Power BI-ல் தேவையில்லாத transformation செய்யாமல் data-வை Load செய்யலாம். :contentReference[oaicite:5]{index=5}
Import vs DirectQuery
Snowflake data-வை Power BI-க்கு connect செய்யும்போது Import அல்லது DirectQuery போன்ற options கிடைக்கும்.
| Mode | Use Case |
|---|---|
| Import | Data-வை Power BI model-ல் load செய்து analysis செய்வது |
| DirectQuery | Source data-வை directly query செய்ய வேண்டிய scenarios |
இந்த project-ல் தற்போது Import mode பயன்படுத்தப்படுகிறது. தேவைக்கு ஏற்ப பின்னர் connection mode மாற்றிக்கொள்ளலாம். :contentReference[oaicite:6]{index=6}
Power BI Model உருவாக்குவதற்கு முன் Data Validation
Data load ஆனவுடன் உடனே Relationships மற்றும் Visuals create செய்யாமல், முதலில் data-வை cross-check செய்ய வேண்டும்.
குறிப்பாக கீழ்கண்டவற்றை validate செய்யலாம்:
- Missing values இருக்கிறதா?
- தேவையில்லாத records இருக்கிறதா?
- Country values சரியாக இருக்கிறதா?
- Data Type சரியாக இருக்கிறதா?
- Unexpected values இருக்கிறதா?
உதாரணமாக Call Sign column-ல் சில values MT ஆக இருக்கலாம். அந்த value business-க்கு தேவையா என்பதை check செய்து, தேவையில்லையெனில் filter செய்யலாம்.
Data model create செய்வதற்கு முன் இந்த validation செய்வது மிகவும் important. ஏனெனில் source data சரியாக இல்லாமல் உருவாக்கப்படும் model மற்றும் visuals தவறான output கொடுக்கலாம். :contentReference[oaicite:7]{index=7}
Data Type மற்றும் Data Category Configure செய்வது
Snowflake-ல் define செய்யப்பட்ட Data Type Power BI-ல் சரியாக reflect ஆகிறதா என்பதையும் cross-check செய்ய வேண்டும்.
உதாரணமாக Call Sign ஒரு Text column என்றால் Power BI-லும் அது Text ஆக இருக்கிறதா என்பதை verify செய்ய வேண்டும். தேவையெனில் Power BI-ல் Data Type change செய்யலாம். :contentReference[oaicite:8]{index=8}
Latitude மற்றும் Longitude Data Category
Aviation data-ல் Latitude மற்றும் Longitude மிகவும் முக்கியமான fields. இவற்றை Power BI-ல் சரியான Data Category-ஆக configure செய்ய வேண்டும்.
Latitude column-க்கு Latitude மற்றும் Longitude column-க்கு Longitude Data Category set செய்தால் Map Visual இந்த location information-ஐ சரியாக பயன்படுத்த முடியும்.
இந்த configuration மூலம் Latitude மற்றும் Longitude அடிப்படையில் Aircraft locations-ஐ Map Visual-ல் display செய்ய முடியும். :contentReference[oaicite:9]{index=9}
Position Timestamp-ல் இருந்து Date Column உருவாக்குவது
MART data-ல் Position Timestamp உள்ளது. இது Date மற்றும் Time information-ஐ கொண்டுள்ளது.
Analysis-க்கு Date முக்கியமாக இருந்தால், Position Timestamp-ஐ பயன்படுத்தி தனியாக ஒரு Date column உருவாக்கலாம்.
புதிய Date column-ஐ உருவாக்கிய பிறகு அதன் Data Type-ஐ Date ஆக மாற்றி, தேவையான Date Format-ஐ configure செய்யலாம்.
இந்த project-ல் Month, Date, Year போன்ற format-ல் Date-ஐ display செய்யும் வகையில் configure செய்யப்படுகிறது. :contentReference[oaicite:10]{index=10}
Live Data vs Historical Data
இந்த project-ல் முக்கியமான ஒரு consideration Live Data மற்றும் Historical Data எப்படி handle செய்ய வேண்டும் என்பதுதான்.
OpenSky API மூலம் கிடைக்கும் data live data. தற்போதைய Aircraft status-ஐ பார்க்க இது பயன்படுகிறது. ஆனால் historical trend analysis செய்ய historical data தேவைப்படும்.
API source-ல் historical data available இல்லாததால், project-க்காக synthetic historical data தனியாக prepare செய்து Excel மூலம் import செய்யப்படுகிறது. :contentReference[oaicite:11]{index=11}
Historical Data-க்கு Date Dimension
Historical data-வை date-wise analyse செய்ய வேண்டுமெனில் ஒரு proper Date Dimension table உருவாக்குவது better practice.
Snapshot Date போன்ற date information-ஐ fact data-வில் இருந்து நேரடியாக use செய்வதை விட Date Dimension பயன்படுத்தி historical analysis செய்வது structured modelling approach ஆகும்.
Historical மற்றும் Snapshot data தேவைக்கேற்ப Date Dimension-உடன் relationship create செய்யலாம். ஆனால் தற்போது standalone data தேவையாக இருப்பதால் unnecessary relationship create செய்யப்படவில்லை. :contentReference[oaicite:12]{index=12}
Power BI Measures-ஐ தனி Table-ல் Organize செய்வது
Measures-ஐ organize செய்வதற்காக ஒரு தனி table உருவாக்கலாம்.
உதாரணமாக:
_ALL MEASURES
என்ற பெயரில் ஒரு dedicated Measures table உருவாக்கப்படுகிறது. இது Measures-ஐ model-ல் ஒரே இடத்தில் maintain செய்ய உதவும்.
இந்த approach Power BI model-ஐ clean-ஆக வைத்துக்கொள்ள உதவுகிறது. :contentReference[oaicite:13]{index=13}
Basic DAX Measures உருவாக்குவது
Dashboard-ல் பயன்படுத்த வேண்டிய basic Metrics-க்கு DAX Measures உருவாக்கலாம். இந்த project-ல் ஆரம்ப கட்டமாக மூன்று முக்கிய Measures உருவாக்கப்படுகின்றன.
Total Aircraft
Live Aircraft count-ஐ காட்டுவதற்காக Total Aircraft Measure உருவாக்கப்படுகிறது.
Total Country
ஒரே Country-ல் multiple Aircraft இருக்கலாம். அதனால் Country values repeat ஆகும் வாய்ப்பு உள்ளது. எனவே Total Country calculation-க்கு distinct Country count தேவைப்படுகிறது. :contentReference[oaicite:14]{index=14}
Average Altitude
Aircraft-ன் average altitude-ஐ காட்டுவதற்காக Average Altitude Measure உருவாக்கப்படுகிறது.
இந்த Measures தான் Dashboard-ன் initial KPI section-க்கு foundation ஆக பயன்படுகின்றன. :contentReference[oaicite:15]{index=15}
Live Aircraft Map உருவாக்குவது
Live Aircraft location-ஐ visualise செய்ய Map Visual பயன்படுத்தலாம்.
Map Visual-ல்:
- Latitude
- Longitude
fields-ஐ add செய்து Aircraft location-ஐ display செய்யலாம்.
சில Power BI environments-ல் Map Visuals default-ஆக enabled இல்லாமல் இருக்கலாம். அப்போது Power BI Settings-ல் Map மற்றும் Map Visuals தொடர்பான option-ஐ enable செய்து Power BI-ஐ restart செய்ய வேண்டியிருக்கலாம். :contentReference[oaicite:16]{index=16}
Map Data Category மற்றும் Summarization
Map Visual-ல் Latitude மற்றும் Longitude சரியாக பயன்படுத்தப்படுவதற்காக அவற்றின் Data Category மற்றும் summarization settings-ஐ verify செய்ய வேண்டும்.
தேவையில்லாமல் Latitude அல்லது Longitude-ஐ Average போன்ற aggregation-ல் summarize செய்யாமல், location information-க்கு ஏற்ற configuration பயன்படுத்த வேண்டும். :contentReference[oaicite:17]{index=17}
இதன் மூலம் current Aircraft locations map-ல் தெரியும். மேலும் Aircraft ID போன்ற details-ஐ Legend பகுதியில் பயன்படுத்தினால் எந்த Aircraft எங்கு இருக்கிறது என்பதையும் identify செய்ய முடியும்.
Live API data refresh ஆகும்போது location information-ம் update ஆகும். :contentReference[oaicite:18]{index=18}
KPI Cards உருவாக்குவது
Live Map-க்கு மேலாக முக்கியமான KPIs-ஐ display செய்ய KPI Cards பயன்படுத்தலாம்.
இந்த project-ல் உருவாக்கப்பட்ட Measures-ஐ KPI Cards-ல் add செய்து:
- Total Aircraft
- Total Country
- Average Altitude
போன்ற metrics-ஐ ஒரு glance-ல் பார்க்கக்கூடிய வகையில் Dashboard-ல் display செய்யலாம். :contentReference[oaicite:19]{index=19}
Aircraft by Country Analysis
அடுத்த முக்கியமான analysis Aircraft by Country. இதற்காக Bar Chart பயன்படுத்தலாம்.
Bar Chart-ல்:
- Country → Axis
- Total Aircraft → Values
என்று configure செய்யலாம்.
இதன் மூலம் எந்த Country-ல் எவ்வளவு Aircraft தற்போது இருக்கிறது என்பதை quickly identify செய்ய முடியும். :contentReference[oaicite:20]{index=20}
Basic Aviation Analytics Dashboard
இந்த stage-ல் ஒரு basic Dashboard page உருவாக்கப்பட்டுள்ளது. இதில் முக்கியமாக:
- Live Aircraft Map
- KPI Cards
- Aircraft by Country Bar Chart
- Aircraft details Table
போன்ற Visuals இடம்பெறுகின்றன. :contentReference[oaicite:21]{index=21}
இது final Dashboard design அல்ல. இது analytics requirements மற்றும் data model அடிப்படையில் உருவாக்கப்பட்ட ஒரு basic foundation. அடுத்த கட்டங்களில் additional analysis மற்றும் Visuals சேர்க்கலாம்.
Snowflake MART முதல் Power BI Dashboard வரை
இந்த complete flow-ஐ பார்த்தால் Analytics Engineering architecture-ன் value தெளிவாக புரியும்:
| Layer | Purpose |
|---|---|
| OpenSky API | Live Aviation Data Source |
| Snowflake RAW | Source data storage |
| dbt STAGING | Data transformation மற்றும் cleaning |
| dbt MART | Analytics-ready business data |
| Power BI | Data Model, Measures மற்றும் Visualization |
Power BI-ல் unnecessary data transformation செய்வதை குறைத்து, already prepared MART layer-ஐ பயன்படுத்தி analytics மற்றும் visualization-ல் focus செய்ய முடிகிறது. :contentReference[oaicite:22]{index=22}
Key Takeaways
- Visuals-க்கு முன்னாடி Analysis-ஐ define செய்யுங்கள்.
- ஒவ்வொரு KPI-க்கும் Calculation மற்றும் Business Logic document செய்யுங்கள்.
- Power BI-ல் data load ஆன பிறகு Data Validation செய்யுங்கள்.
- Data Type மற்றும் Data Category-ஐ சரியாக configure செய்யுங்கள்.
- Latitude மற்றும் Longitude-க்கு சரியான Data Category பயன்படுத்துங்கள்.
- Live Data மற்றும் Historical Data requirements-ஐ தனியாக consider செய்யுங்கள்.
- Historical analysis தேவைப்பட்டால் Date Dimension பயன்படுத்துங்கள்.
- Measures-ஐ dedicated Measures table-ல் organize செய்யுங்கள்.
- Dashboard-ஐ KPI, Map, Chart மற்றும் Table போன்ற meaningful Visuals மூலம் build செய்யுங்கள்.
Frequently Asked Questions
Power BI-ல் Visuals create செய்வதற்கு முன் Analysis plan செய்ய வேண்டுமா?
ஆம். எந்த business questions-க்கு answer கொடுக்க வேண்டும் என்பது முதலில் clear ஆக இருந்தால், தேவையான Metrics, Measures, Visuals மற்றும் Dashboard pages-ஐ சரியாக plan செய்ய முடியும்.
Snowflake MART layer-ஐ ஏன் Power BI-ல் பயன்படுத்த வேண்டும்?
MART layer analytics purpose-க்காக prepared data-வை வழங்குகிறது. இதனால் Power BI-ல் தேவையில்லாத transformation குறைந்து, modelling மற்றும் visualization-ல் focus செய்ய முடியும்.
Power BI-ல் Data load செய்த உடனே Dashboard create செய்யலாமா?
முதலில் data validation செய்ய வேண்டும். Missing values, unexpected values, Data Type மற்றும் Data Category போன்றவற்றை verify செய்த பிறகே modelling மற்றும் visualization தொடங்குவது better approach.
Latitude மற்றும் Longitude-க்கு Data Category ஏன் set செய்ய வேண்டும்?
Map Visual-ல் geographic information சரியாக identify செய்ய Latitude மற்றும் Longitude-க்கு appropriate Data Category configure செய்வது முக்கியம்.
Live Data இருந்தால் Date Dimension தேவையா?
Live current-state analysis மட்டும் செய்யும்போது Date Dimension தேவையில்லாமல் இருக்கலாம். ஆனால் Historical Data-வை date-wise analyse செய்ய வேண்டிய scenario வந்தால் Date Dimension useful ஆகும்.
Historical Data இல்லையென்றால் என்ன செய்யலாம்?
இந்த project-ல் API மூலம் historical data கிடைக்காததால் project purpose-க்காக synthetic historical data தனியாக prepare செய்து Excel மூலம் import செய்யப்படுகிறது.
Measures-ஐ தனி Table-ல் வைத்திருப்பது ஏன் useful?
Measures-ஐ ஒரே இடத்தில் organize செய்து maintain செய்ய இது உதவும். குறிப்பாக Dashboard வளரும்போது Measures அதிகரிக்கும் நிலையில் இது model organization-க்கு useful ஆக இருக்கும்.
Aircraft by Country analysis-க்கு எந்த Visual பயன்படுத்தலாம்?
இந்த analysis-க்கு Bar Chart பயன்படுத்தலாம். Country-ஐ Axis-ல் வைத்து Total Aircraft-ஐ Values-ல் பயன்படுத்தினால் Country-wise Aircraft count-ஐ compare செய்ய முடியும்.
Conclusion
ஒரு நல்ல Power BI Dashboard என்பது Visuals மட்டும் உருவாக்குவதால் உருவாகாது. முதலில் எந்த analysis செய்ய வேண்டும், எந்த KPIs தேவை, அவற்றின் calculation மற்றும் business logic என்ன என்பதை define செய்ய வேண்டும்.
இந்த workflow-ல் Snowflake MART layer-இலிருந்து Power BI-க்கு data connect செய்து, data validation, Data Type மற்றும் Data Category configuration, Historical Data handling, Date Dimension, DAX Measures மற்றும் basic Dashboard Visuals ஆகியவற்றை setup செய்துள்ளோம்.
முக்கியமாக, RAW → STAGING → MART → Power BI என்ற structured data flow மூலம் Power BI analytics development-ஐ மிகவும் organized-ஆக கொண்டு செல்ல முடியும்.
👉 இந்த concept-ஐ முழுமையாக Demo உடன் பார்க்க கீழே உள்ள video-வை கண்டிப்பாக பாருங்கள்.
Watch the Video
🎥 இந்த topic-ஐ Step-by-Step Demo-வாக பார்க்க கீழே உள்ள YouTube video-வை பாருங்கள்.

கருத்துரையிடுக
0 கருத்துகள்