100% found this document useful (1 vote)
350 views77 pages

Power BI Features and Functionality Guide

The document outlines the features and components of Power BI, a Microsoft reporting tool, including its necessity for data visualization and business decision-making. It details the various components like Power Query, Power Pivot, and Power View, along with their functionalities and the learning path for users. Additionally, it discusses job opportunities, salary expectations in India, and provides installation guidance and licensing options for Power BI.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
350 views77 pages

Power BI Features and Functionality Guide

The document outlines the features and components of Power BI, a Microsoft reporting tool, including its necessity for data visualization and business decision-making. It details the various components like Power Query, Power Pivot, and Power View, along with their functionalities and the learning path for users. Additionally, it discusses job opportunities, salary expectations in India, and provides installation guidance and licensing options for Power BI.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

============================================08/04/2024====================

===========================================
Agenda

1) What is Power BI?

POWER BI IS REPORTING TOOL FROM MICROSOFT

Why reporting required ?

what is Visual?

Visuals (also known as charts and visualizations) are picture representations of your
data.
Some common examples are column charts, maps, scatter charts, and radial gauges. ...

Why we need Visual?

To make the users understand what is happening as part of business.(Summarized way)


Based on Power BI reports user makes business decision.

Power BI is collection of component :--

1) POWER QUERY :-- ETL : EXTRACT TRANSFORM AND LOAD--> 10 TO 12


DAYS

2) POWER PIVOT :-- MODELING :-- IT IS A RELATIONSHIP BETWEEN


TABLES 5 TO 7 DAYS

3) POWER VIEW : REPORTING --> 7 TO 8 DAYS

4) POWER BI SERVICE: COLLABRATION & SHARING ([Link])


--> 2 DAYS

5) DAX : 10 DAYS

6) SQL SERVER 7 DAYS

> 20 REPOTING TOOL


2) Why Power BI?

1) MORE TRENDING TOOL --> [Link]

2) MORE BULIT IN FUNCTION 2500 --dateofbirth

3) COST >70 $ 10$ --700 (MICROSOFT)


10 PER MONTH PER USER

4) DATA CONNECTIVITY <70+


100+
STR(XLS,CSV,TXT),SEMISTR(XML,JSHON) AND UNSTR(RAW)
5) GATNAR

Important points to note :--

a) Non Technical -->


b) Less comptition : 8-9 YEARS --> 4 -->
c) Easy to Learn(Specally for Excel user)
d) Part of data science role :--
e) Salaries in India ON POWER BI

3) How Power BI works?

4) Jobs on Power BI

5) salaries in india

Do we required any program skills for this Power BI---> We don't any program skills --->
Who all are eligable for this course?---> Any degree
Class timing and Duration of the class ---> 7 TO 8 AM 45 DAYS POWER BI+SQL SERVER
Do we have any recorded videos? ---> Yes
FEE :8000
MON TO SAT

PLACEEMNT --> PROXY -->


SUPPORT --> OFFLINE-->

Experince
Q&A

POWER BI INSTALLATION :--


----------------------

LAPTOP/DESKTOP

BASIC CONFIGURATIONS :--


--------------------

4 GB
OS WINDOW 10 --
I3 PROCESS
500 GB 250

START BUTTON --> SEARCH FOR MS STORE --> OPEN --> SEARCH FOR
POWER BI DESKTOP

GET --> DOWNLOAN & INSTALLATION --> SKIP SIGN IN --> CONTINUE --> 5
TO 10 MIN

*****TYPES OF LICENSES :---


----------------------
[Link]

3 TYPES OF LINCENSES :--


---------------------

FREE PRO PREMIUM

ALL KIND OF FUNCTIONALITIES ALL KIND OF FUNCTIONALITIES LARGE USER BASE


IT WILL BE USEFUL
+ + MORE BENFITS
NO SHARING :( SHARING :)

PER USER PER MONTH 1O $ 20 $USERBASED ,


3985$ PREMIUM

USER BASED LINCENSE USERBASED , PREMIUM


1 GB DATA LIMIT 10 GB + (P1,P2,P3.....) 400
GB

END USER REQUIRED LINCE END USER DON'T


REQUIRED ANY LICENSE
TO ACCESS THE REPORT

MAX REFRESH 8/PER DAY MAX REFRESH 48/PER


DAY

SMALL & MEDIUM BUSINESS ENTERPISE LEVLE

BASIC ANALYTICS REPORTS ADVANCED


ANALYTICS REPORT

=================================09/04/2024===============================
===========================================
POWER QUERY :-- ETL :- EXTRACT TRANSFORM AND LOAD
-----------
3995$

MSBI SSIS SSAS SSRS

POWER BI POWER POWER POWER


QUERY PIVOT VIEW

*******3 TYPES OF CONNECTIVITY MODES:--


------------------------------------

IMPORT DIRECT
LIVE
IT WILL IMPORT/COPY SOURCE DATA INTO DATA WILL BE @ SOURCE ONLY
DATA AND MODEL BOTH WILL @ SOURCE
POWER BI WE ARE NOT IMPORTING ANY DATA

IT WILL ALSO CONNECT MULTIPLE SOURCE IT WILL CONNECT DB'S


ONLY FOR SSAS(SQL SERVER ANALSYS SERV
EXCEL,SQL SERVER, SHAREPOINT....ECT SQL SERVER, ORACLE, IBM DB2...
PRO :-- 1 GB NO DATA LIMIT IT CAN
HANDLE 1 TB
PREMIUM 10 GB+ WHY BCZ DATA @ SOURCE

WE CAN USE ALL KIND OF DAX WE CANN'T USE ALL KIND OF DAX
WE CAN USE ALL KIND OF DAX FUNCTIONS
FUNCTION FUNCTION

IT WILL HAVE FAST PERFORMANCE IT WILL HAVE SLOW PERFORMANCE


IT WILL HAVE FAST PERFORMANCE

IT WILL NOT HAVE LATEST DATA DIRECT QUERY WILL HAVE LATEST DATA
LIVE ALSO WILL HAVE THE LATEST DATA

IT WILL HAVE ALL 3 VIEWS IT WILL HAVE ONLY REPORT AND MODELING IT
WILL HAVE ONLY REPORT

3 TYPES OF VIEW
1) REPORT VIEW
2) TABLE VIEW/ DATA VIEW
3) MODEL VIEW

WHEN LOAND WE CLICK ON LOAD BUTTON?

WHEN WE CLICK ON TRANSFORM BUTTOPN --> POWER QUERY EDITOR

SPILT TRANSFORM :--


-----------------

========================================10/04/2024========================
===========================================

CLOSE --> WITH OUT SAVING CHANGE IT WILL CLOSE THE POWER QUERY

APPLY --> IT WILL SAVE POWER QUERY CHANGES WITHOUT CLOSING POWER QUERY

CLOSE & APPLY--> IT WILL SAVE POWER QUERY CHANGES AND ALSO IT WILL CLOSE
THE POWER QUERY WINDOW
NAV :---
REPORT VIEW --> HOME -->TRANSFORM DATA --> POWER QUERY EDITOR
REPORT VIEW --> DATA --> RT CLK TABLE--> EDIT QUERY --> POWER QUERY
EDITOR

DATA--> HOME -->TRANSFORM --> POWER QUERY EDITOR


DATA--> FIELD --> RT CLK TABLE--> EDIT QUERY --> POWER QUERY EDITOR

MODEL--> HOME -->TRANSFORM --> POWER QUERY EDITOR


MODEL--> FIELD --> RT CLK TABLE--> EDIT QUERY --> POWER QUERY EDITOR

MANAGE COLUMNS :--


----------------
CHOOSE COLUMN :--
--------------
CHOOSE COLUMNS :-- REQUIRED COLUMNS WE WILL USE TO CHOOSE
THE COLUMNS
GO TO COLUMN :-- SMART WAY TO FIND REQUIRED COLUMNS
REMOVE COLUMNS :--
--------------
REMOVE COLUMNS :-- IT WILL REMOVE ONLY SELECTED COLUMNS
REMOVE OTHER COLUMNS :-- THIS WILL REMOVE OTHER COLUMNS
WHICH ARE NOT SELECTED

REDUCE ROWS :--


------------

KEEP ROWS --
TOP ROWS
BOTTON ROWS
ALTERNATIVE ROWS
DUPLICATES
KEEP ERRORS

REMOVE ROWS :--


TOP ROWS
BOTTON ROWS
ALTERNATIVE ROWS
DUPLICATES
REMOVE ERRORS

REPLACE VALUES :--


GROUP BY :--IT WILL CONVERT DETAIL DATA INTO SUMMERIZED WAY

BASIC
ADVANCED --> MULTPLE GROUPING COLUMNS
MULTIPLE AGGRIGATIONS

DUPLICATE REFERENCE

1) IT WILL TAKE ALL APPLIED STEPS IT WILL TAKE ONLY SOURCE STEP
FROM MAIN QUERY FROM MAIN QUERY

2) IF YOU CHANGE ANY THING IN MAIN IF YOU CHANGE


ANYTHING(R/C/REN,...ECT)
QUERY, IT WILL NOT EFFECT TO DUP ALL THE CHANGES WILL BE EFFECT IN
REF

3) IF DO ANY CHANGE IN DUP IF YOU DO ANY CHANGES IN REF


IT WILL NOT EFFECT MAIN QUERY IT WILL NOT EFFECT IN MAIN
QUERY

4) MAIN QUERY IS NOT DEPENDENT IF YOU WANT DELETE MAIN


QUERY
ON DUPLICATE FIRST WE NEED TO REF, SO THAT
MEANS MAIN QUERY
DEPENDS ON REF

DUPLICATE : -- WHEN YOU WANT CUSTOM TABLE OR CUSTOM SORTING

*** REF : TO AVIOD MANY TO MANY RELATIONSHIP WE WILL USE REFERENCE


QUERY

==========================================4/11/2024=======================
==========================================

APPEND :-- IT WILL CONCATNATE MULTIPLE TABLE DATA INTO SINGLE TABLE

NORMAL :--

CASE SENSTIVE:-- APPEND IS A CASE SENSTIVE

DO WE REQURIED SAME COLUMN ORDER :-- NO


DO WE REQUIRED SAME NO OF COLUMN : NO

DO WE REQUIRED SAME DATA DATATYPE :

==========================================12/04/2024======================
==========================================
MERGE :-- IT WILL CONCATNATE 2 TABLES COLUMNS INTO SINGLE TABLE
-----

========================================================
NOTE :-- YOU SHOULD HAVE COMMON (KEY)COLUMN B/W 2 TABLES
========================================================

******* 6 TYPES OF JOINIES:--


-------------------
1) LEFT OUTER JOIN :-- TOTAL RECORDS FROM LEFT TABLE AND
MATCHING RECORDS FROM RIGHT TABLE
2) RIGHT OUTER JOIN :-- TOTAL RECORDS FROM RIGHT TABLE
AND MATCHING RECORDS FROM LEFT TABLE
3) INNER JOIN :-- MATCHING RECORDS FROM BOTH TABLES
4) FULL JOIN :-- TOTAL RECORDS FROM BOTH TABLES
5) LEFT ANTI :-- ONLY LEFT TABLE RECORDS
6) RIGHT ANTI :-- ONLY RIHGT TABLE RECORDS

****DIFFERENCE APPEND AND MERGE :--


-----------------------------

APPEND MERGE

1) IT COMBINES ROWS 1) IT WILL COMBINES COLUMNS

2) > 2 TABLES 2) AT A TIME ONLY 2 TABLES WE CAN


COMBINE

3) SAME DATATYPE IS NOT REQUIRED 3) KEY COLUMNS REQUIRED SAME


DATA TYPE

4) APPEND DON'T REQUIRED ANY KEY 4) MERGE REQUIRED KEY COLUMN


COLUMN

5) SQL UNION ALL CONCEPT 5) IT IS SAME LIKE SQL JOIN CONCEPT

Append Multiple excel files in folder automatically when monthly file is added
GETDATE --> clk MORE--> connect FOLDER --> COPY PASTE PATH OR BROWSE PATH -->
OK --> SELECT SAMPLE FILE --> COMBINE& TRANFORM
ONCE YOU ADDED NEW FILE
REFRESH POWER BI FILES

RERESH --> REFRESH PREVIEW ---> ONLY SINGLE QUERY(SELECTED QUERY) WILL BE
REFRESH
REFRESH ALL --> MULTIPLE QUERIES REFRESH

MANAGE PARAMETER :---


-----------------

IN ---> 300 MB
US ---> 350 MB
UK ---> 300 MB
--------------

PRO --> 1GB

IN WHICH SINARIO?
EXCEL
SQL

DEV --> EDIT/DELETE/ADD


UAT -->
PROD --->

INCREMENTAL REFRESH

WHAT IS MANAGE PARAMETER?

IT WILL FILTER DATA DYNAMICALLY AT SOURCE LEVEL

HOW TO CREATE IT

1) POWER QUERY EDITOR --> HOME --> MANAGE PARAMETER -->


MANAGE PARAMETER : SETTING
EDIT PARAMETER : TO
CHANGE THE PARAMETER
NEW PARAMETER -->
NAME : CUST COUNTRY
DESC
TYPE :
TEXT
SUGGEST VALUE : ANY VALUE --> USER HAS TO
REMEMBER ALL VALUES WITH SPLING
LIST OF VALUE --> YOU WILL HAVE
DROP DOWN -->
QUERY -->
CURRENT --> OK
2) CHOOSE THE PARAMETER COLUMN --> RT CLK --> ADD AS NEW
QUERY --> REMOVE DUPLICATES

3) MAPPING BETWEEN MAIN QUER AND PARAMETER

MAIN QUERY --> CHOOSE PARAMETER COLUMN -->


FILTER --> TEXT FILTER--> EQUAL
--> PARAMETER --> OK

DIFFERENCE B/W TRANFROM AND ADD COLUMN :--


-------------------------------------
TRANSFORM WILL OVERRIDE EXISTING COLUMNS AND CREATE NEW OPERATIONS
ADD COLUMN WILL CREATE NEW COLUMN FOR EACH AND EVERY OPERATIONS

****DIFFERENCE BETWEEN MERGE QUERY AND MERGE COLUMN

MERGE QUERY

IT COMBINE THE 2 QUERIES INTO SINGLE QUERY (Based on the joinies)

MERGE COLUMN :- IT WILL COMBINE MULTIPLE COLUMNS INTO SINGLE COLUMN WITH
IN SAME QUERY

Text Function :---


-----------------
i) Merge column :-- IT IS CONCATNATE COLUMNS WITH IN SAME QUERY
note :-- select more then 1 column then merge will be enabled
MERGECOLUMN WILL CONCATENATE THE COLUMNS WITH IN THE SAME
TABLE/query
BASED ON ORDER OF THE COLUMN SELECTION IT WILL CONCATNATE
THE COLUMNS
===============================================17/04/2024=================
===========================================
ii) Split and Trim
iii) Add prefix and suffix
iv) Left , right and mid
v) Text with delimiter
a) Befor delimiter
b) After delimiter
c) B/w delimiter

Date function : ---


-----------------
i) Year, Qtr, Month, Day
ii) Difference b/w dates, Earliest and Latest
--> SLA --> OPEN -> CLOSE
open date --> close date
P1--> RESPONE 1 HOUR AND RESOLUTION 3 HOURS
P2 --> 1 DAY
P3--> 3 DAYS
iii) Name of Day and Name Of Month
iv) Day of Week/Year & Week of Month/Year
v) Etract DateTIME from Date and Time
vi) Calculate age 2 button clicks
vii) Which day of Year, Qtr,Month your date of Birth is
=============================================18/04/2024===================
===========================================
NUMBER FUNCTIONS :---
----------------
i) Add, Substract, Divid , Multiply
ii) % , % of , Modulo
iii) Rounding the numbers
iv) IsEven , IsOdd and Sign

Datatype and Error handling


-----------------------------
***DATA TYPES :--
---------------
NUMBER
DECIMAL
WHOLE
FIXED
%
DATE
DATETIME
DATE
TIME
TIMEZONE

TEXT
TEXT
BINARY
TRUE/FALSE

CHANGE DATA TYPE BY USING DROP DOWN


POWER QUERY EDITOR --> HOME -->DATA TYPE --> SELECT DATA TYPE
POWER QUERY EDITOR --> TRANSFORM --->DATA TYPE --> SELECT DATA TYPE

ERROR HANDLING :--


---------------

WHEN WILL GET THE ERROR :--


------------------------
1) DATA TYPE MISMATCH
2) SOURCE FILES IS NOT AVALIABLE
3) IF WE DON'T HAVE SOURCE DATA ACCESS
4) RENAME COLUMN NAMES
=========================================19/04/2024=======================
===========================================
HOW TO AVIOD ERROR

REMOVE ERROR
KEEP ERROR
REPLACE ERROR

HOW TO FIND WHAT IS EXACT ERROR

ADD COLUMN --> CUSTOM COLUMN --> try(COLUMNNAME) --> OK --> COMPRESS
COLUMN
--> EXPAND --> HAS ERROR --> True/False
ERROR --> REASON
VALUE MESSAGE
DETAILS

Fill
Transpose : IT WILL CONVERT ROWS TO COLUMNS AND COLUMNS TO ROWS
1) REMOVE TOP 2 ROWS
2) keep only top3 records/REMOVE BLANKS
3) REMOVED BLANK COLUMNS
4) SELECT COLUMN HEADERS AND CLK TRANSPOSE
5) USE FIRST ROW AS HEADER
D 6) FILL DOWN

pivot :-- __ to | (rows to columns)

unpivot :-- | to __ (columns to rows)

===========================================20/04/2024=====================
===========================================

DUPLICATE

INDEX

Conditional column :-- It just IF else statement in other c, C++


BASED THE CONDITION IF YOU CREATE ANOTHER COLUMN IS CALLED
CONDITIONAL COLUMN

PROFIT <= 200 THEN LOW PROFIT

>=201 AND <= 499 AVG PROFIT

>= 500 THEN HIGH PROFIT

1) Single column
2) Multiple column
3) Compare Two columns
4) Date

Column from Examples :---


-------------------
1) Split
2) Merge
3) Date
4) Alphanumerics 12rt12tyu 12 rt 12 tyu

==============================================22/04/2024==================
==========================================

INVOKE CUSTOM FUNCTION : ---


----------------------
Why function is required? :-- TO AUTOMATE MANUAL WORK WE WILL CREATE FUNCTION
[Link]

WITHOUT INVOKE CUSTOM FUNCTION:--


-------------------------------
1) CONNECT ABOVE URL (GETDATA --> WEB --> COPY & PASTE URL --> OK --> TABLE
VIEW) --> TRANSFORM --> POWER QUERY
2) REMOVED EMPTY COLUMN AND USE FIRST ROW AS HEADER.
3) OUR MAIN GOAL IS TO CHANGE YEAR NO IN URL BY CREATING MANAGE
PARAMETER.
4) POWER QUERY --> MANAGEPARAMETER
5) NEED DO THE MAPPING B/W MAIN QUERY AND PARAMETER ("&PARAMETER
NAME&")
6) NOTE :-- MAKE SURE PARAMETER DATA TYPE SHOULD TEXT
7) ADD CUSTOM COLUMN TO TEST WHETHER YEARNO IS CHANGE CORRECTLY OR
NOT
8) MAIN QUERY --> RT CLK --> CREATE FUNCTION --> OK
9) ENTER PARAMETER VALUES --> CLK INVOKE --> CREATE 4 QUERIES (2022,2023,2024
AND 2025)
10) APPEND ALL ABOVE QUERIES INTO SINGLE TABLE (FINAL HOLIDAY LIST)

WITH INVOKE CUSTOM FUNCTION:--


---------------------------

1) CUSTOM TABLE WITH PARAMETER VALUES (2022,2023,2024 AND 2025)

2) SELECT CUSTOM TABLE --> ADD COLUMN --> INVOKE CUSTOM FUNCTION -->
CLK --> FUNCTION --> MAP PARAMETER

NOTE : MAKE SURE PARAMETER VALUES DATA TYPE SHOULD BE TEXT

3) EXPAND

========================================23/04/2024========================
===========================================
Custom colum :--
--------------
M-Language (M-Code):-- IT BACK END PROGRAMMING THE POWER QUERY :- Mash up ---
> Clean - (Is case senstive)
M stands for ? MAIN GOAL OF M CODE IS TO CLEAN DATA --> F
1) M-Language Intraduction (Understanding of M-Language)
WHATEVER THE STEP WE APPLIED THRU BUTTON CLICK ALL WILL BE STORED AS M -
CODE IN ADVANCE EDITOR

1) M-Language on Date Functions ("dateisin")


i) Previous Year --2023 --true
Current Year --2024
Nextyear

dateisin

ii) PreviousNyear
NextNYears

iii) Add & Subsction dates


iv) MonthName , Dayname

2) M-Language on Text Functions

3) Sample code to how language is work.

4) Tips to 900 Functions


blankquery --> formulabar =#shared --> convert that in table

=============================================24/04/2024===================
===========================================
POWER PVIOT :-- MODELING :--- IT IS A RELATIONSHIP BETWEEN FACT AND
DIMENTION (DIM) TABLES
-----------

FACT
1) MORE NUMBER DATA
2) TRANSACTIONAL/CHILD
3) DUPLICATE FK DATA
4) DATA FREQUENCY VERY HIGH COMPARE TO DIM TABLE
5) IT WILL ALWAY GIVE ANSWER TO THE BUSINESS
6) FACT TABLE SIZE IS VERY BIG COMPARE TO DIM

DIM
1) MORE TEXT DATA
2) MASTER/PARENT
3) PK (UNIQUE)
4) DATA FREQUENCY VERY LESS COMPARE TO FACT TABLE
5) IT WILL ALWAYS THE QUESTION ABOUT FACT
6) SIZE IS VERY LESS COMPARE TO FACT TABLE
7) HIRACHIES

2 TYPES OF SCHEMA'S :--


--------------------
1) STAR SCHEMA :--
--------------

FACT TABLE DIRECTLY CONNECT WITH DIM TABLES, BUT


THOSE DIM TABLES WILL NOT HAVE
ANY SUB DIM'S THIS IS CALLED STAR SCHEMA

2) SNOWFLAKE SCHEMA :--


---------------

FACT TABLE CONNECT'S WITH DIM TABLE AND THIS DIM


AGAIN CONNECT WITH ANOTHER
DIM TABLE IS NOTHING SNOWFLAKE SCHEMA

FACT TABLE INDIRECTLY CONNECT WITH ANOTHER DIM IS


CALLED SNOWFLAKE SCHEMA.

==================================25/04/2024==============================
===========================================

DIFFERENCES BETWEEN STAR SCHEMA AND SNOWFLAKE:--


---------------------------------------------

DWH TRASACTIONAL

STAR SNOWFLAKE

1) DENORMALIZED(COMBINED TABLES) 1) NORMALIZATION


(SPLITING TABLES)

2) LESS TABLES 2) MORE TABLES

3) LESS JOINIES 3) MORE JOINIES


4) DATA READING IS FAST 4) DATA READING SLOW

5) WHEN YOU HISTORICAL DATA 5) WHEN YOU HAVE DAILY


TRANSACTIONAL DATA
RECOMMAND GO WITH STAR SCHEMA RECOMMAND TO
USE SNOWFLAKE SCHEMA

-VE +VE
------ --------
I/U/D I/U/D

+VE -VE
-------------------- ----------------------
DATA READING VERY FAST DATA READING WILL BE
VERY SLOW

WHY RELATIONSHIP IMP :--


--------------------

========================================================================
==========
NOTE : WHEN WE HAVE PROPER RELATIONSHIP THEN ONLY WE WILL
GET CORRECT CALCULATIONS

========================================================================
===========

A 31
B 77
C 148
-------------
TOTAL 256
-------------

HOW TO CREATE RELATIONSHIP BETWEEN TABLES?


NEW :--
MODELING --> MANAGE RELATIONSHIP --> SELECT TABLES --> SELECT
COLUMNS

AUTODETECT :

NOTE :-- KEY COLUMN NAME SHOULD BE SAME.

FILE --> OPTIONS & SETTING --> OPTIONS --> CURRENT FILE --> DATA
LOAD --> RELATIONSHIP
SETTING :-- 1) IMPORT RELATIONSHIP FROM DATA SOURCE ON FIRST
LOAD
2) AUTODETECT RELATIONSHIP AFTTER DATA IS LOADED

EDIT :
MANAGE RELATIONSHIP --> EDIT -->SELECT PROPER COLUMN --> OK

DELETE :
MANAGE RELATIONSHIP -->DELETE --> OK

=====================================26/04/2024===========================
===========================================
CARDINALITY :--
------------
4 TYPES OF CARDINALITIES:--
------------------------
1) 1 TO M
BY DEFAULT IT WILL CREATE SINGLE DIRECTION
BUT WE CAN MAKE IT TO BOTH/BI DIRECTION
2) M TO 1
BY DEFAULT IT WILL CREATE SINGLE DIRECTION
BUT WE CAN MAKE IT TO BOTH/BI DIRECTION
3) 1 TO 1
BY DEFAULT IT WILL CREATE BOTH/BI DIRECTION
BUT WE CAN NOT MAKE IT SINGLE DIRECTION
4) M TO M
BY DEFAULT IT WILL CREATE BOTH/BI DIRECTION
BUT WE CAN MAKE IT SINGLE DIRECTION

*****HOW TO AVIOD MANY TO MANY RELATIONSHIP :---


------------------------------------------

WHY WE NEED TO AVIOD MANY TO MANY RELATIONSHIP


2 REASONS :--
----------
1) YOU MAY NOT GET THE CORRECT CALCULATIONS
2) MODEL PERFORMANCE WILL BE SLOW

HOW TO AVIOD MANY TO MANY RELATIONSHIP :----


--------------------------------------

BY USING BRIDGE TABLE, WE CAN AVIOD MANY TO MANY RELATIONSHIP

HOW TO CREATE BRIDGE TABLE :--


---------------------------
1) WE NEED TO USE REF TABLE, WHICH TABLES ARE HAVING MANY TO
MANY
2) KEEP ONLY KEY COLUMNS AND REMOVE OTHER COLUMNS
3) MAKE SURE KEY COLUMN NAME SHOULD BE SAME , IF NOT RENAME
IT
4) APPEND BOTH REF TABLES INTO SINGLE TABLE
5) REMOVE DUPLICATES --> CLOSE AND APPLY

CROSS FILTER DIRECTIONS :---


---------------------
COMPANY PROJECTS IS 1 SIDE
PROJECTHRS IS MANY SIDE

1) SINGLE :-- IT WILL ALWAY FILTER DATA FROM DIM (1) TO FACT (M). BUT IT
WILL FILTER DATA FROM FACT TO DIM
2) BOTH/BI :-- IT WILL ALWAY FILTER DATA FROM DIM (1) TO FACT (M) AND ALSO
FACT TO DIM

WHEN WE WILL GO WITH A BOTH/BI

3 THINGS WE NEED TO AVIOD IN MODELING


-------------------------------------
1) M TO M
2) BOTH
3) SNOWFLAKE
===================================================27/04/2024=============
===========================================

TYPES OF RELATIONSHIP:--
---------------------
2 TYPES OF RELATIONSHIP
1) ACTIVE RELATIONSHIP

BETWEEN 2 TABLES WE HAVE SOLID LINE THEN IT


WILL ACTIVE RELATIONSHIP
__________________
ONE ACTIVE RELATIONSHIP BETWEEN 2 TABLES

1)
2) INACTIVE RELATONSHIP

-------------------
ETWEEN 2 TABLES WE HAVE DOT LINES THEN IT
WILL ACTIVE RELATIONSHIP > 1 INACTIVE
RELATIONSHIP

DIMDATE FACTINTERNETSALES DIMORDERDATE


DATEKEY DUEDATEKEY DATEKEY
ORDERDATEKEY
SHIPDATEKEY

TO MAKE INACTIVE RELATIONSHIP ACTIVE WE HAVE 2 WAYS:--


---------------------------------------------------
1) DUPLICATE
how to create duplicate
MODELING --> NEW TABLE --> FORMULA BAR
ORDERDIMDATE = DIMDATE
2) USERELATIONSHIP

FILES
FOLDER
WEB
FOLDER
SQL SERVER

DUE AMOUNT BY YEAR


ORDER AMOUNT BY YEAR
SHIPED AMOUNT BY YEAR
USERELATIONSHIP(COL1,COL2)

SHIDEDAMOUNT= CALCULATE(SUM(SALESAMOUNT),

USERELATIONSHIP(DIMDATE[DATEKEY],FACTINTERNETSALE[SHIPDATEKEY]))

========================================================================
=============================
NOTE :--WHEN EVER WE ARE USING USERELATIONSHIP, MAKE SURE
YOU SHOULD NOT DELETE INACTIVE RELATIONSHIP

========================================================================
=============================

===========================================29/04/2024=====================
==========================================
DAX :-- DATA ANALSYS EXPRESSION
----

WHAT IS DAX?
DEFINATION :-- IT IS A COLLATION FUNCTIONS AND OPARETORS
----------

FUNCTION :-- SUM,MIN,MAX,AVG,YEAR,QTR,AND,OR.............ECT

OPERATORS :-- +,-,>,<.........ECT

WHY DAX IS IMP?


--------------

WHEN YOU WANT ANALSYS YOUR DATA DEEPLY THEN WE WILL GO FOR DAX

TOTAL SALES, TOTAL PROFITS, SALE % GROWTH, YoY SALES,MoM


SALES...........ECT.....

WHERE WE WILL USE THIS DAX?


POWER BI, TABULAR MODEL,EXCEL PIVOT, PAGINATED
REPORT.....ECT....

WHAT PRE-REQ TO USE DAX?

EXCEL FORMULA'S........

1) MEASURE/CALCULATED MEASURE/NEW MEASURE


2) COLUMN/CALCULATED COLUMN/NEW COLUMN
3) TABLE/CALCUATED TABLE/NEW TABLE

6 RULES FOR DAX BASIC SYNTAX:--


------------------------------
1) MEASURE /COLUMN/TABLE NAME
2) =
3) FUNCTION
4) ( )
5) TABLENAME
6) COLUMNNAME

DIFF BETWEEN MEASURE AND COLUMN:---


--------------------------------

MEASURE COLUMN
1) RECOMMAND TO GO WITH NUMBER DATA TYPE 1) YOU CAN WITH ANY
(NUMBER,TEXT,DATE...)DATA TYPE

2) IT WILL BE A SCALAR VALUE 2) BUT COLUMN IS NOT A


SCALAR VALUE

3) IT IS DYNAMIC CALCULATION 3) IT IS A PRE-DEFINED(STATIC)


CALCULATION

4) IT WILL TAKE CPU PROCESSING TIME 4) IT WILL TAKE CPU MEMORY

5) MEASURE RESULTS CAN SEE ONLY IN 5) COLUMN RESULTS CAN


SEE IN DATA VIEW/TABLE VIEW
VISUAL

6) MEASURE IS NOT BELONGS SPECIFIC TABLE 6) COLUMN IS BELONGS


TO SPECIF TABLE

7) IT IS FILTER LEVEL CONTEXT 7) ROW LEVEL CONTEXT

8) MEASURE WILL BE REFRESH WHEN WILL BE 8) COLUMN WILL BE


WHEN SOURCE DATA IS REFRESHED
VISUAL REFRESHED

9) IT IS SAME LIKE A SQL VIEW 9) IT IS SAME LIKE A SQL TABLE

NAV :--
----
REPORT :
MODELING --> MEASURE/COLUMN/TABLE
DATA --> TABLE --> RT -->MEASURE/COLUMN
HOME --> MEASURE

TABLE : HOME --> MEASURE/COLUMN/TABLE


TABLE TOOLS --> MEASURE/COLUMN/TABLE
COULMN TOOLS --> COLUMN
DATA --> TABLE --> RT -->MEASURE/COLUMN

MODELING :-
HOME --> MEASURE/COLUMN/TABLE
DATA --> TABLE --> RT -->MEASURE/COLUMN

HOW TO EDIT/DELETE MEASURE/COLUMN :--


----------------------------------

EDIT :-- SELECT MEASURE/COLUMN THEN IN FORMULA BAR...

====================================================================
TIP : SHIFT + ENTER IT WILL TAKE YOU TO NEXT LINE IN DAX FORMULA

====================================================================

DELETE :-- RT CLK MEASURE/COLUMN --> DELETE FROM MODEL-->ARE YOU


SURE --> OK

TABLE/NEW TABLE :-- BY USING EXISTING DATA/TABLE OR USING DAX FUNCTIONS, IF


YOU CREATE ANOTHER TABLE
----------------
IS NOTHING BUT NEW TABLE/CALCULATED TABLE.

========================================
NOTE:-- WE WILL NOT TAKE FROM THE SOURCE
=========================================

TABLE FUNCTIONS:--
---------------
1) CALENDAR
2) CALENDARAUTO
3) FILTER
4) CALCUALTED TABLE
5) ALL
6) SUMMRIZE
7) SUMMERIZECOLUMN
8) VALUE
9) DISTINCT
10) TOPN

CALENDAR:-- IT WILL CREATE TABLE WITH ONE COLUMN ALL DATE BETWEEN
START DATE AND ENDDATE
---------
SYNTAX : CALENDAR(STARTDATE,ENDDATE)
1/1/2024,10/1/2024

DATE(YEAR,MONTH,DAY)
DATE(2024,01,01) = 1/1/2024

CALENDAR(DATE(2024,01,01),DATE(2024,01,15))

========================================01/05/2024========================
===========================================

DATETIME FUNCTION:---
----------------

DATE
YEAR
YEAR(DATE) = YYYY
YEAR("01/01/2024") = 2024
MONTH
MONTH(DATE) = 1 TO 12
MONTH("01/01/2024") = 1
QTR
QTR(DATE) = 1 TO 4
1 JAN - MAR
2 APR -JUN
3 JUL - SEP
4 OCT - DEC
WEEKNUM
WEEKNUM(DATE) = 1 TO 54
WEEKDAY
WEEKDAY(DATE) = 1 TO 7
1 -SUN
2 -MON
3 -TUE

CALENDAR
CALENDAR(STARTDATE,ENDDATE)
CALENDARAUTO
CALENDARAUTO()
DATE
DATE(YEAR,MONTH,DAY)

DATETIME
NOW() --> CURRENT DATA&TIME
UTCNOW()
UTCTODAY()

TIME
HOURS(DATETIME)
MIN(DATETIME)
SEC(DATETIME)

POWER QUER AND DAX IS SAME?

IS NOT SAME

IF WE ACHIVE SAME RESULT BY USING POWER QUERY AND DAX? WHICH ONE
WE NEED CHOOSE?
WHY?

ALWAYS GO WITH POWER QUERY

3 REASON :--
---------
1) PERFORMANCE

2) NO NEED TO REMEMBER ANY SYTAX

3) EASY TO SHARE THE CODE

CALENDAR :-- IT WILL CREATE DATE TABLE WITH ONE COLUMN OF ALL DATE
B/W STARTDATE AND ENDDATE

CALENDAR(STARTDATE,ENDDATE)

FIRSTDATE(SALE[DATE]) = 1/15/2024

LASTDATE(SALE[DATE]) = 11/22/2024

CALENDAR(FIRSTDATE(SALE[DATE]),LASTDATE(SALE[DATE]))

12/31/2024
01/01/2025

01/01/2024
12/31/2025

CALENDAR(MIN(SALE[DATE]),MAX(SALE[DATE]))

CALENDARAUTO

CALENDARAUTO() = 01/01/2024
12/31/2024

CALENDARAUTO(FISCALYEARENDMONTH)

===========================================02/05/2024=====================
===========================================
WHEN USE CALENDAR AND WHEN USE CALENDARAUTO?

*****WHAT ARE THE DIFFERENCE BETWEEN CALENDAR AND CALENDARAUTO


Calendar Calendarauto
1) We have control on date 1) we don't have DATE CONTROL
2) Based on exact start date and 2) Start date always starting year of start date
exact end we can create calendar end date would be ending year of the end date
table
3) NOT USING FISCAL CALENDAR 3) TO CREATE FISCAL CALENDAR
TABLE

OPERATORS :--
----------
4 TYPES OF OPERATORS :---
-------------------
1) ARITHMETIC OPERATORS

+,-,*,/

3+3 =6

10 ---> 15

PROFIT = SALEAMOUNT - PRICE

A+B
PRICE QTY PRICE*QTY
15 2= 15*2 = 30

SUB1 90 100 = 90/100 *100


SUB2 95 100
SUB3 98 100

P1 400 1300
p2 600 1300
p3 300 1300

2) COMPARITION OPERATORS
REGION = "IN"
==
PROFIT> 1000
PROFIT< 500
>= 2022
<=2021
city <> "BLR"
3) TEXT

& STATE CITY = STATE &"-"& CITY


AAA aa = AAA-aa
BBB bb = BBB-bb
4) LOGICAL
--------
&& (AND)

T T T
F T F
T F F
F F F

HYD AND ITEM

CITY = "HYD" && ITEM = "LAPTOP"

||(OR)

T T T
F T T
T F T
F F F

CITY = "HYD" || ITEM = "LAPTOP"

IN -- LIST OF ITEMS
IN {"APPLE",.. }

10 15 = 5

SALEAMOUNT - PRICE = PROFIT

ITEM PRICE QTY


PEN 10 5 = PRICE*QTY = 10*5 = 50

S1 90 100 90/100*100
S2 95 100
S3 97 100
------------------------------------
Arithmetic operator:--
------------------------------------ Meaning
Example
+ (plus sign) Addition 3+3 =6
– (minus sign) Subtraction or sign 3–1–1
* (asterisk) Multiplication 3*3
/ (forward slash) Division 3/3
^ (caret) Exponentiation
16^4
--------------------------------------------------------------------------------------------------------------------
Comparison operators :---
---------------------------------------------------------------------------------------------------------------------
Comparison operator Meaning Example
= Equal to [Region] = "USA"
== Strict equal to [Region] == "USA"
> Greater than [Sales Date] > "Jan 2009"
< Less than [Sales Date] < "Jan 1 2009"
>= Greater than or equal to [Amount] >= 20000
<= Less than or equal to [Amount] <= 100
<> Not equal to [Region] <> "USA" !=

---------------------------------------------------------------------------------
Text operator:--- MERGE COLUMN
-------------------------------------------------------------------------------------
& (ampersand) Connects, or concatenates, two values to produce one continuous text
value
[Region] & ", " & [City] =

TS HYD = TS,HY
AP VZ
TN CH

---------------------------------------------------------------------------------------------------------------------
Logical operators :---
---------------------------------------------------------------------------------------------------------------------
operator Meaning

&& (double ampersand) Creates an AND condition between two expressions that
each have a Boolean result.
If both expressions return TRUE, the combination of the
expressions also returnsTRUE;
otherwise the combination returns FALSE.
([Region] = "France") && ([BikeBuyer] =
"yes"))
(REGION = "TS") && (ITEM = "LAPTOP")
|| (double pipe symbol) Creates an OR condition between two logical expressions.
IF(AND(([Region] = "France"),
([BikeBuyer] = "yes")))
If either expression returns TRUE, the result is TRUE;
only when both expressions are FALSE is the result FALSE.
(([Region] = "France") || ([BikeBuyer]
= "yes"))
(REGION = "TS") || (ITEM = "LAPTOP")
IN Creates a logical OR condition between each row being compared to a
table.
Note: the table constructor syntax uses curly braces.

DATETIME
LOGICAL FUNCTIONS
TEXT FUNCTION
AGGRIGATION FUNCTION
FILTER FUNCTION
TIME INTALLIGENCE
PARENT-CHILD
TABLE FUNCTION
RELATIONSHIP
INFORMATION
FINANCE
MATH

LOGICAL FUNCTIONS:-
-----------------

IF :-- IT WILL CHECK THE LOGIC, IF IT IS TRUE RETURN TRUE


RESULT
IF IS FALSE RETURN FALSE
SYNTAX : IF(LOGICALTEST,ResultIfTrue,ResultIfFlase)

EX : IF(10>2,"COND PASS","COND FAIL")

1 -- SUN WEEKEND
2 -- MON WEEKDAY
3 -- TUE WEEKDAY
4 -- WED

7 -- SAT WEEKEND
WEEKEND/WEEKDAY = IF(WEEKDAY IN
{1,7 },"WEEKEND","WEEKDAY")

STATE
TS
AP
TN
LAN = IF(STATE IN {"TS","AP"},"TELUGU","OTHER")

==================================================04/05/2024==============
===========================================

SWITCH :-- BASED ON EXPRESSION VALUE , WE WILL GET


DIFFERENT RESULTS

SWITH(EXPRESSION,
V1,R1,
V2,R2,
V3,R3,
------,
------,
ELSE
)

MONTHNO
1
2
3
4
5
MONTHNAME=SWITH(MONTHNO,
1,"JAN",
2,"FEB",
3,"MAR",
------,
------,
ELSE
)

AND &&
SYNTAX : AND(LOGICAL1,LOGICAL2)
LOGICAL1 && LOGICAL2 && LOGICAL3.....

T T T
F T F
T F F
F F F

IF(AND(10>30,20>10),"BOTH COND PASS","ONE OR BOTH FAILED")

OR ||

OR(LOGICAL1,LOGICAL2)

LOGICAL1||LOGICAL2||LOGICAL3.......

T T T
T F T
F T T
F F F
COALESEC : IT WILL RETURN THE FIRST NON BLANK VALUE
IF ALL VALUES ARE BLANK , THEN IT WILL RETURN THE
BLANK

SYNTAX :-- COALESEC(VAL1,VAL2,VAL3,.......)

COALESEC(BLANK(),10,"10/10/2024") = 10

COALESEC(BLANK(),BLANK(),BLANK()) = BLANK()

IFERROR :- IT WILL VALUES

IFERROR(VALUE,IFERROR)

IFERROR(12/0, 999) = 999


IFERROR(12/2, 999) = 6

TRUE
FALSE

IF(AND(10>30,20>10),TRUE(),FALSE())
====================================================06/05/2023============
===========================================

TEXT FUNCTION :--


--------------
1) UPPER
UPPER(TEXT)
UPPER("abcD") = ABCD
2) LOWER
LOWER(TEXT)
LOWER("ABCd") = abcd
3) LEN
LEN(TEXT)
LEN("WELCOME") = 7
4) LEFT
LEFT(TEXT,NOCHAR)
LEFT("POWER BI",5) = POWER
5) RIGHT
RIGHT(TEXT,NOCHAR)

RIGHT("POWER BI",2) = BI
6) MID
MID(TEXT,STARTINGCHAR,NOCHAR)
MID("WELCOME",4,4) = COME

7) REPLACE
HELLO --> HI
REPLACE(TEXT,STARTINGPOSITION,NOOFCHAR,NEWCHAR)
REPLACE("HELLO",2,4,"I") = HI
8) REPT
REPT(TEXT,NOOFTIME)
REPT("PCF",3) = PCFPCFPCF

9) SUBSUITUE
SUBSUITUE(TEXT,OLDTEXT,NEWTEXT)

SUBSUITUE("I LOVE MY COUNTRY","COUNTRY","INDIA")

I LOVE MY INDIA

10) SEARCH E
SEARCH(FINDTEXT,WITHINTEXT,STARTINGPOSITION,NOTFOUNDVAL/ALTERNATIVERE
SULTS)

SEARCH(E,"POWERE BI")= 4
SEARCH(E,"POWERE BI",5)= 6
SEARCH(A,"POWERE BI") = ERROR
SEARCH(A,"POWER BI","NA") = ERROR

IT WILL SEARCH CHAR AND IT WILL RETURN THE POSITION


ONCE YOU SPECIFY THE STARTING POSITION, IT WILL IGNORE
BEFORE THE CHAR
MAKE SURE NOT FOUND VALUE SHOULD BE NUMBER DATA TYPE
SERACH IS NOT CASE SENSTIVE

11) FIND

FIND(FINDTEXT,WITHINTEXT,STARTINGPOSITION,NOTFOUNDVAL/ALTERNATIVERESUL
TS)

FIND(E,"POWERE BI")= 4
FIND(E,"POWERE BI",5)= 6
FIND(A,"POWERE BI") = ERROR
FIND(A,"POWER BI","NA") = ERROR

IT WILL SEARCH CHAR AND IT WILL RETURN THE POSITION


ONCE YOU SPECIFY THE STARTING POSITION, IT WILL IGNORE
BEFORE THE CHAR
MAKE SURE NOT FOUND VALUE SHOULD BE NUMBER DATA TYPE
FIND IS CASE SENSTIVE

12) CONCATNATE &


IT WILL JOIN 2 TEXTS IN SINGLE TEXT

CONCATNATE(TEXT1,TEXT2)

CONCATNATE("WELCOME",CONCATNATE(" ","DAX CLASSES")) =


WELCOME DAX CLASSES

"WELCOME"&"DAX"
13) CONCATNATEXT
CONCATNATEXT(tablename,expression,delimeter)

14) FORMAT

FORMAT(VALUE,FORMART)

DATE
DAY
WEEK
MONTH
QTR
YEAR

NUMBER
BEALOON

======================================08/05/2024==========================
===========================================

AGGRIGATION FUNCTIONS

****DIFFERENT B/W SUM IT WILL WORK SINGLE COLUMN AT A TIME


SUM(COLUMNNAME)
FILTER LEVEL CONTEXT
EX : TOTALPROFIT,TOTALSALE, TOTALQTY
SUMX IT WILL WORK ON MULTIPLE COLUMN
SUMX(TABLE,EXPRESSION)
ROW LEVEL CONTEXT

SUMX(TABLE,PRICE*QTY)

VARIABLE :--
---------
IT WILL MIN THE DAX CODE

VARIABLE WILL STORE THE VALUE

THAT VALUE WE WILL USE IN RETURN STATMENT

MEASURE =
VAR VARNAME = 10
MEASURE_XX =
VAR A = 10
VAR B = 20
VAR C = 30
RETURN
A+B+C
10+20+30 =60

====================================================
NOTE :IF YOU WANT MOVE NEXT LINE IN DAX (SHIFT+ENTER)
=====================================================

60

CALENDAR (STARTDATE,ENDDATE)
CALCULATE(EXPRESSION,F1,F2...)
SUMX

COUNT
IT WILL DO THE COUNT OF VALUES IN COLUMN
IT WILL INGORE BLANKS FOR DATE AND NUMBER DATA
TYPES
BUT IT WILL COUNT THE BLANKS FOR TEXT DATA TYPES
IT WILL NOT WORK ON BEALOON DATA TYPES
SYNTAX : COUNT(COLUMNNAME)
COUNTX
IT WILL DO THE COUNT OF VALUES IN COLUMN
IT WILL INGORE BLANKS FOR DATE AND NUMBER DATA
TYPES
BUT IT WILL COUNT THE BLANKS FOR TEXT DATA TYPES
IT WILL NOT WORK ON BEALOON DATA TYPES
IT WILL APPLY FILTERS AND THEN DO THE COUNT
IF YOU DON'T APPLY FILTER , IT IS SAME LIKE COUNT

SYNTAX : COUNTX(TABLE,EXPRESSION)
COUNTA
IT WILL DO THE COUNT OF VALUES IN COLUMN
IT WILL INGORE BLANKS FOR DATE AND NUMBER DATA
TYPES
BUT IT WILL COUNT THE BLANKS FOR TEXT DATA TYPES
IT WILL WORK ON BEALOON DATA TYPES
SYNTAX : COUNTA(COLUMNNAME)
COUNTAX
IT WILL DO THE COUNT OF VALUES IN COLUMN
IT WILL INGORE BLANKS FOR DATE AND NUMBER DATA
TYPES
BUT IT WILL COUNT THE BLANKS FOR TEXT DATA TYPES
IT WILL WORK ON BEALOON DATA TYPES
IT WILL APPLY FILTERS AND THEN DO THE COUNT
IF YOU DON'T APPLY FILTER , IT IS SAME LIKE COUNTA
SYNTAX : COUNTAX(TABLE,EXPRESSION)
COUNTBLANK
IT WILL COUNT ONLY THE BLANKS IN COLUMN
COUNTBLANK(COLUMNNAME)
DISTINTCOUNT
IT WILL GIVE THE UNIQUE VALUE IN A COLUMN
DISTINCTCOUNT(COLUMNNAME)
COUNTROWS
COUNTROWS(TABLENAME)

MIN
MIN(PRICE)
2000
MINX
IT WILL FILTER SOMETHING, FIND OUT MIN VALUE
MINX(TABLE,EXPRESSION)
MINA
IT WILL WORK FOR ALL DATA TYPE

MAX
MAXA
MAXX

AVG
AVGA
AVGX

============================================09/05/2024====================
===========================================
***FILTER FUNCTIONS:--
----------------

1) CALCULATE :--
1) IT WILL EVALUATE EXPRESSION BASED ON FILTERS
2) IT WILL RETURN THE SCALAR (SINGLE VALUE)

3) SYNTAX : CALCULATE(EXPRESSION,F1,F2,F3,......)

CALCULATE(SUM(SALESAMOUNT),[CUST COUNTRY] =
"US")

4) EXPRESSION MONDATORY
5) FILTERS ARE OPTIONAL

6) IN EXPRESSION PLACE YOU CAN COUNT,MIN,MAX,AVG,SUM


AND ALSO USE THE MEASURE

7) FILTER PLACE YOU CAN USE THE MEASURE

AND
US SALES = CALCULATE(SUM(DIY_SALES_BDCS[Sales_Amt])
,AND(DIY_SALES_BDCS[Customer
Country]="IN",DIY_SALES_BDCS[Department]="SALES" ))
OR
US SALES = CALCULATE(SUM(DIY_SALES_BDCS[Sales_Amt])
,OR(DIY_SALES_BDCS[Customer
Country]="IN",DIY_SALES_BDCS[Department]="SALES" ))

&&
US SALES = CALCULATE(SUM(DIY_SALES_BDCS[Sales_Amt])
,DIY_SALES_BDCS[Customer Country]="IN"
&&DIY_SALES_BDCS[Department]="SALES"
&&DIY_SALES_BDCS[Pay Type] = "DEBIT")
||

US SALES = CALCULATE(SUM(DIY_SALES_BDCS[Sales_Amt])
,DIY_SALES_BDCS[Customer Country]="IN"
||DIY_SALES_BDCS[Department]="SALES"
||DIY_SALES_BDCS[Pay Type] = "DEBIT")

2) CALCULATETABLE (TABLE FUNCTIONS)


1) IT WILL EVALUATE TABLE EXPRESSION BASED ON FILTERS
2) IT WILL RETURN TABLE OUTPUT
3) SYNTAX : CALCULATETABLE(TABLE,F1,F2,F3,......)
CALCUATETABLE(DIY_SALES_BDCS,[CUST COUNTRY] =
"IN")

4) EXPRESSION MONDATORY
5) FILTERS ARE OPTIONAL

3) FILTER
TABLE FUNCTION : SYNTAX : FILTER(TABLE,FILTEREXPRESSION)

CALCULCATE(EXPRESSION, FILTER(TABLE,FILTEREXPRESSION))

COUNTX
COUNTX(TABLE,EXPRESSION)

COUNTX(FILTER(TABLE,FILTEREXPRESSION),EXPRESSION)

COUNTAX
MINX
MAXX
AVGX
=========================================10/05/2024=======================
===========================================
4) ALL
IT WILL REMOVE/IGNORE/NOT ALLOWED THE FILTERS, THAT MAY BE
INSIDE OR OUTSIDE

SYNTAX : ALL(TABLEorCOLUMNNAME, COL1,COL2.....)

CALCULATE(EXPRESSION,ALL(TABLEorCOLUMNNAME,
COL1,COL2.....))

EITHER YOU CAN APPLY ALL FUNCTION ENTIRE TABLE LEVEL OR SPEFIC
COLUMN

SUB1 90 100
SUB2 95 100
SUB3 98 100
------------------

/ DIVID OPETOR IS NOT GOING BE HANDLE SOMETHING DIVIDE BY


ZERO CASE
BETTER ALWAY USE DIVIDE FUNCTION

5) ALLEXCEPT :--
IT WILL KEEP FILTERS , THAT INSIDE OR OUTSIDE FILTERS
IT WORK ONLY COLUMN LEVEL
ALLEXCEPT(TABLENAME, COL1,COL2,COL3......)

CALCULATE(EXPRESSION,ALLEXCEPT(TABLENAME,
COL1,COL2,COL3......))

6) ALLSELECTED
IT WILL REMOVE/NOT ALLOWED/IGNORE THE INSIDE FILTERS
BUT IT WILL KEEP THE OUTSIDE FILTERS

ALLSELECTED(TABLENAMEORCOLUMN,COL1,COL2.......)

CALCULATE(EXPRESSION,ALLSELECTED(TABLENAMEORCOLUMN,COL1,COL2.......))

7) REMOVEFILTERS
IT IS SAME LIKE ALL FUNCTION
IT WILL WORK IN DIRECT QUERY
ALL FUNCTION WILL NOT WORK IN DIRECT QUERY
8) KEEPFILTERS
IT IS SAME LIKE ALLEXCEPT FUNCTION
IT WILL WORK IN DIRECT QUERY
ALLEXCEPT FUNCTION WILL NOT WORK IN DIRECT QUERY
==================================14/05/2024==============================
===========================================

9) LOOKUPVALUE
IT IS SAME LIK E VLOOKUP IN EXCEL

2 TABLES...WHICH SHOULD NOT HAVE THE RELATIONSHIP

SYNTAX :
LOOKUPVALUE(RESULTCOLUMN,SEARCHCOLUMN,SEARCHVAL,ALTERNATIVEVALUE)
EXAMPLE :
LOOKUPVALUE([Link],[Link],[Link],"DEPT NOT FOUND")

10) EARLIER :- CUMULATIVE TOTAL


CALCULATE(EXPRESSION,FILTER(TABLENAME,EARLIER(DATE)>=(DATE))
11) SELECTEDVALUE

DYNAMIC TITLE

SELECTEDVALUE(COLUMNNAME,ALTERNATIVERESULTS)

REGION
IN
US
UK
TOTAL SALE BY UK
P1 10000
P2 20000
P3 30000

========================== Time Intalligence


Functions===============================================================

1) SAMEPERIODLASTYEAR CY PY YoY = (CY-PY)


14/05/2024 40000 30000 10000

SAMEPERIODLASTYEAR(DATE)

CALCULATE(EXPRESSION,SAMEPERIODLASTYEAR(DATE))

FACTINTERNETSALES DIMDATE

2) DATEADD

DATEADD(DATE,INTERVALNO,INTERVAL)
YEAR
QTR
MONTH
DAY
DATEADD(DATE,-1,YEAR)

CALCULATE(EXPRESSION,DATEADD(DATE,INTERVALNO,INTERVAL))
3) PARALLPERIOD

PARALLPERIOD(DATE,INTERVALNO,INTERVAL)
YEAR
QTR
MONTH

YEAR TOTALS

DAY 300 40000

4) TOTALMTD (MONTH TO DATE)


TOTALMTD(EXPRESSION,DATE,FILTER)
5) TOTALQTD (QTR TO DATE)
TOTALQTD(EXPRESSION,DATE,FILTER)
6) TOTALYTD (YEAR TO DATE)
TOTALYTD(EXPRESSION,DATE,FILTER)

7) DATESMTD (MONTH TO DATE)


CALCULATE(EXPRESSION,DATESMTD(DATE),F1,F2,F3.....)
8) DATESQTD (QTR TO DATE)
CALCULATE(EXPRESSION,DATESQTD(DATE),F1,F2,F3.....)
9) DATESYTD (YEAR TO DATE)
CALCULATE(EXPRESSION,DATESYTD(DATE),F1,F2,F3.....)
10) FIRSTDATE
CALENDAR(STARTDATE,ENDDATE)
CALENDAR(FIRSTDATE[SALEDATE],LASTDATE[SALEDATE])
11) LASTDATE

12) DATESINPERIOD

13) DATESBETWEEN
DATESBETWEEN(DATE,STARTDATE,ENDDATE)
CALCUATE(EXPRESSION,DATESBETWEEN(DATE,STARTDATE,ENDDATE))

CALCUATE(AVG(SALE),DATESBETWEEN(DATE,STARTDATE,ENDDATE))
CALCUATE(SUM(SALE),DATESBETWEEN(DATE,STARTDATE,ENDDATE))
CALCUATE(COUNT(SALE),DATESBETWEEN(DATE,STARTDATE,ENDDATE))

14) PREVIOUSDAY
TOTALSAL = CURRENTDAY
PREVIOUSDAY = CALCULATE(EXPRESSION,PREVIOUSDAY(dATE))
DAY OVER DAY = CURRENTSAL -PREVIOSU
SALE % GRWOTH = (CURRENT-PREVIOUS/PREVIOUS)
16) PREVIOUSMONTH
17) PERVIOUSQTR
18) PERVIOUSYEAR
19) NEXTDAY
20) NEXTMONTH
21) NEXTQTR
22) NEXTYEAR
23) MONTHEND
24) QTREND
25) YEAREND

===================================================16/05/2024=============
==========================================
******RLS : (ROW LEVEL SECURITY) :--
-------------------------------
BASED ROLES IF WE RESTRIC THE DATA THAT IS CALLED ROW LEVEL
SECURITY

2 TYPE OF RLS :--


-------------

1) STATIC ROW LEVEL SECURITY

TO CREATE STATIC ROW LEVEL SECURITY WE WILL


PROVIDE VALUES MANUALLY

WHERE TO CREATE RLS

WE WILL CREATE RLS IN POWER BI DESKTOP

HOW TO CREATE RLS

REPORT VIEW --> MODELING --> MANAGE ROLE --> WE CAN


CREATE/DELETE/RENAME
VIEW AS ROLE --> FOR TESTING ROLE

IN --> India --> Add Member


US --> US
UK --> UK
HOW ADD MEMBER? WHERE TO ADD MEMBER?

IF WE WANT TO ADD MEMBER WE NEED TO PUBLISH THIS


REPORT TO POWER BI SERVICE

WE NEED TO HAVE A SERVICE ACCOUNT

YOU CAN NOT CREATE WITH PERSONAL MAIL ID'S -->


GMAIL,YAHOO,LIVE,OUTLOOK...ECT

YOU NEED TO HAVE SCHOOL ACCOUNT/COMPANY MAIL

HOW TO CREATE FREE SERVICE ACCOUNT ?

PUBLISH --> POWER BI SERVICE --> DATASET/SEMATIC MODEL --> CLK 3


DOT -->SECURITY --> ROLES -->

2) DYNAMIC ROW LEVEL SECURITY

TO CREATE DYNAMIC ROW LEVEL SECURITY WE WILL USE


DAX FUNCTION

WHERE WE HAVE MORE THAN 30 ROLES --> SUGGEST GO WITH


DYNAMIC RLS

USERPRINCIPALNAME() -->
SRINIVAS@[Link]/[Link]@[Link]/[Link]@[Link]
USERNAME() --> PCF/SRINIVAS/TCS/SRINIVAS/WIPRO/SRINIVAS

PARENT-CHILD FUNCTION (ORG FUNCTION) :--


-----------------------------------
1) PATH
2) PATHCONTAIN
3) PATHLENGTH
4) PATHITEM

==========================================17/05/2024======================
===========================================

PARENT-CHILD FUNCTION (ORG FUNCTION) :--


-----------------------------------
1) PATH --> CEO|VP|D|SM|M
2) PATHCONTAIN
3) PATHLENGTH
4) PATHITEM

TABLE FUNCTIONS :---


---------------
1) CALENDAR
SYNTAX :-- CALENDAR(STARTDATE,ENDDATE)
2) CALENDARAUTO
CALENDARAUTO()
CALENDARAUTO(FISCALYEARENDMONTH)
3) CALCULATETABLE
CALCULATETABLE(TABLE,F1,F2,F3..................)
4) FILTER
FILTER(TABLE,FILTEREXPRESSION)
COUNTX(TABLE,EXPRESSION)

5) ALL ---> duplicate table --> all(tablename)


6) SUMMERIZE --> same like group by in power query --> ROW LEVEL CONTEXT

SUMMERIZE(TABLENAME,
GROUPBYCOLUMN,COLUMNNAME,EXPRESSION)
SUMMERIZE(DIY_SAELS, CUSTOMERCUST,"TOTAL SALES",SUM(SALES))

7) SUMMERIZECOLUMN :-- FILTER LEVEL CONTEXT-->

8) TOPN 10 DIY SUM(SALES),DESC


TOPN(NVALUES,TABLENAME,EXPRSSION, ASC)
9) VALUES :--
SYNTAX : VALUE(TABLENAMEORCOLUMNAME)
--> TABLE FUNCTION
--> IT WILL CREATE TABLE OR IT WILL HAVE ONE COLUMN
--> IT WILL HAVE A UNIQUE DATA
--> IT WILL HAVE ONE NULL
10) DISTINCT
SYNTAX : DISTINCT(TABLENAMEORCOLUMNAME)
--> TABLE FUNCTION
--> IT WILL CREATE TABLE OR IT WILL HAVE ONE COLUMN
--> IT WILL HAVE A UNIQUE DATA
--> DISTINCT WILL NOT ALLOW NULL

11) CROSSJOIN :--(LEFT,RIGHT,FULL,INNER,LEFT ANTI & RIGHT ANTI)

===============================================================
NOTE:- WHEN TABLES ARE NOT HAVING KEYCOLUMNS, EVENTHOUGH IF
YOU
WANT TO JOIN THEN WE CAN USE CROSSJOIN

===============================================================

TABLE1 2 * TABLE2 3 = 6

CROSSJOIN(TABLE1,TABLE2)

12) UNION --> SAME LIKE APPEND IN POWER QUERY

NEED TO HAVE SAME ORDER


WE REQUIRED SAME

UNION(tABLE1,TABLE2,TABLE3......)

INFORMATION :---
----------
TRUE/FALSE
CONTAINS
CONTAINSSTRING
CONTRAINSSTRINGEXACT
ISBLANK
ISNUMBER
ISDATE
ISEMPTY
ECT.....

RELATIONSHIP:--
------------
USERELATIONSHIP --> TO MAKE INACTIVE TO ACTIVE
USERELATIONSHIP(COL1,COL2)
RELATED
SALE PROD
PRICE QTY
RELATEDTABLE
CROSSFILTER
SINGLE/BOTH

==============================================POWER
VIEW============================================================
POWER QUERY
POWER PIVOT
DAX
POWER VIEW

Table :---
FORMAT --> GENRAL --> IS SAME FOR EACH AND EVERY VISUAL
VISUAL --> PROPERTY MAY VARY VISUAL TO VISUAL

1) Creating simple Table


2) Formating in table
3) Condition formating on table
types :--
Background
Font
Icons
Data bars
===============================================20/05/2024=================
==========================================

table URL
[Link]
[Link]
[Link]

DATA VIEW --> SELECT URL COLUMN --> DATA CAT --> WEB URL

REPORTING VIEW --> FORMAT --> URL ICON--> ON

4) Changing aggression in a table

Matrix :--- It's kind of Pivot in excel (Drill Down)


i) YOU CAN ANALSYS THE DATA ROW AND COLUMN WISE

what is drill down?

within same page or same visual , if you nav FROM SUMMARY to detailed level that is
called
drill down

1) Creating simple Matrix


2) Conditional formating on Matrix
3) Automatic Hirearchy in Matrix (Drill down report) --> WITHIN SAME VISUAL/PAGE ,
IF YOU GO TO DETAIL LEVEL
Date--> Natural Hirachy
how to create hirachies :--
field --> more options(3 dots) --> clk --> create hirarchy
4) Hirachy can be at row level or column
drill down at Either it will row level or Column level
5) Subtotal and Grand total
6) Number formating in Matrix

pie
donut
Line
Area
=====================================================21/05/2024===========
===========================================

RIBBON
COLUMN
BAR
100% STACKED CLOUMN
FINAL
TREE MAP

MAP

Scatter Chart :---BY DEFAULT GIVEN Animated chart


------------
2 MEASURE
1) X- SALES
2) Y- PROFIT
3) VALUES --> PRODUCT
4) SIZE --> UNIT SOLD
5) PLAY AXIS --> DATE
6) LEGEND --> COUNTRY

=========================================22/05/2024=======================
===========================================
Cards :----
number
text
date
multi-row card :--

****EDIT INTRACTIONS :--


--------------------
SELECT ANY ONE OF THE VISUAL -->FORMAT --> EDIT INTRACTION -->
3 BUTTONS WILL BE ENABLED FOR EACH CHART
1) HILIGHT --> HIGHLIGHT WHAT EVER YOU FILTER, REMAINING COLOR WILL BE
LIGHT COLOR
2) FILTERED --> IT WILL FILTER 100%
3) NON --> STOP INTRACTION

THEMES

BROWSE THEMES

THEMES GALLERY

CUSTOM THEMES

save

Filters :--
---------
4 TYPE OF FILTERS:--
-----------------
1) VISUAL LEVEL FILTER (FILTER ON THIS VISUAL):--
THIS FILTER IS ONLY APPLICABLE FOR SPEFIC VISUAL

i) BASIC FILTER
ii) ADVANCE FILTER
iii) TOP N

2) PAGE LEVEL FILTER (FILTER ON THIS PAGE) :--


THIS FILTER IS ONLY APPLICABLE FOR SPEFIC PAGE

i) BASIC FILTER
ii) ADVANCE FILTER
TEXT
CONTAINS
DOES NOT CONTAINS
START WITH
DOES NOT START WITH
IS
IS NOT
IS BLANK
IS NOT BLANK
IS EMPTY
IS NOT EMPTY
DATE
RELATE DATE
DAY --> LAST --> CURRENT --> NEXT
WEEK
MONTH
YEAR
RELATE TIME
HOURS
MINS
NUMBER
>
<
>=
<=
=
<>

3) REPORT LEVEL FILTER (FILTER ON ALL PAGES)

THIS FILTER IS ONLY APPLICABLE FOR ALL PAGES


i) BASIC FILTER
ii) ADVANCE FILTER

4) DRILL THROUGH FILTER :-- WE WILL APPLY FILTER AT SUMMARY


PAGE AND NAV TO DETAILED PAGE

1) SUMMARY
2) DETAIL

============================================================
NOTE :-- DRILL THROUGH FILTER WILL BE ENABLED IN
DETAIL PAGE

============================================================

========================================================23/05/2024========
==========================================
SLICERS :--
--------
TEXT
1) SIMPLE SLICER
2) RESPOSIVE SLICER
FORMAT --> SLICER SETTING --> TILES
3) SINGLE SELECTION,MULTI AND SELECT ALL
4) HIRACHY SLICERS

NUMBER

BETWEEN
LESS THEN
>
<=
>=

DATE
RELATIVE DATE
RELATIVE

****SYNC SLICER :--


----------------

WHAT IS SYNC SLICER

WHERE WE CAN ENALBE IT

report view --> VIEW --> SYNC SLICER

****DIFF B/W FILTERS AND SLICERS

FILER SLICER
1) NO HIRACHRY FILTER 1) HIRACHRY SLICERS
2) MAINLY FOR DEVELOPER 2) SLICER MAINLY USERS
3) VISUAL FILTER 3) NO VISUAL LEVEL SLICER
4) ADVANCED FILTER 4) NO ADVANCE FILTERING
5) NO RESPENSIVE FILTER 5) RESPONSIVE SLICERS
6) FAST PERFORMANCE 6) SLOW PERFORMANCE(DIRECT QUERY)
7) DON'T HAVE SYNC FILTER 7) SYNC SLICERS

=====================================================24/05/2024===========
===========================================

buttons :--
-------------
Text box --> info,title

BUTTONS
SHAPES
IMAGES

sample reports
visual --> help --> examples --> sample reports --> default browser

[Link]
samples/Regional%20Sales%[Link]

=================================================25/05/2024===============
===========================================

ACTIONS :--
--------
1) BACK ACTION
2) WEB URL
[Link]
[Link]
3) PAGE NAVIGATION :
4) DRILL THROUGHT (DRILL THROUGH FILTER)
5) BOOKMARK :-- it will save current status of the page
SELECT
ACTION

IF WANT SHOW/HIDE SOMETHING WE ALWAYS GO FOR BOOKMARK

1) NEED TO TAKE APPROVAL FROM CUSTOMER /MANAGER

2) CUSTOM VISUALS WILL HAVE MORE PERFORMANCE ISSUES...COMPARE DEFAULT


VISUALS

HOW TO IMPORT CUSTOM VISUAL --> POWER BI SERVICE ACCOUNT

HOW TO CREATE FREE SERVICE ACCOUNT FOR POWER BI

HOW TO GET THE CUSTOM VISUAL

VISUALATION PANE --> BELOW 3 DOT --> CLK --> GET MORE VISUALS --> OPEN APP
STORE --> SEARCH
--> ADD --> IMPORTED SUCCESSFULLY

[Link]
%20Chain%[Link]

jeler40242@[Link]

-------------------------Power BI Services---------------------------------------------------------------------------
[Link]

1) Publish Report to Power BI Service Account

[Link] --> cloud site

POWER BI DESKTOP -->HOME --> PUBLISH --> SELECT WORKSPACE -->


API SCRIPT WE CAN DO PUBLISHING
DEPLOYEMENT PIPELINES

2) What is Workspace --> KIND OF FOLDER IN LAPTOP/DESKTOP


Dev --> sample--ADD DATA/DELETE
UAT ---> near to realtime -->
Prod --> real time

Power shall script

****Workspace Roles
1) Admin --> Create/Delete/Update/publish/sharing/read/write
2) Member --> publish/sharing/read/write
3) Contributer ---> publish/sharing/read
4) Viewer ---> Read

Report , Dataset--Connection and Dashboard


Create workspace --> workspace --> create --> name --> contact --> ok
Delete workspace --> 3 dots --> other --> remove works
===============================================27/05/2024=================
===========================================
bobiset592@[Link]
3) Difference b/w Workspace and App?

WORKSPACE APP
1) DATASETS,REPORTS & DASHBOARDS 1) ONLY REPORT
2) DIFFERENT LEVEL ACCESS(A,M,C,V) 2) ONLY READING ACCESS
3) REFRESHES 3) CANN'T DO REFRESHES IN APP

20000

8 pm ---> we have not reached the target today

p1 --> 3 -->
support -->

4) Export (PPT,PDF,PBIX) Report and share

*** 5) Share and Subscribe to a report


Way to share the report to user
1) file share --
2) MS Teams
3) Subscription
4) Workspace
5) App

6) Report , Dataset and Dashboard --> all pages summery

7) Create a dashboard in Power BI Service


8) Problem in Power BI Dashboard and its solution
Dashboard is intractive or Not?
9) Difference b/w Report and dashboard?

Report Dashboard
1) Power BI Desktop/Service 1) Only Power Bi Service
2) Report will have multiple 2) Only one page
pages
3) each visual will be intractive 3) Only Live pin will be intractive
in page

10) Types of Gateways :--- It's a bridge b/w On-prime/offline source and Power BI
serivce
Personal Gateway---> you can't share with and also you--local machine -->
On-Prime Gateway --> server -->everyone -->

dataset --> offline --> file/db's -->


online

NOTE : GATEWAY SHOULD BE INSTALLED AT SOURCE SERVER

dataset --> 3 dots --> schedule

Types of Refreshs --->


On demaond refresh --
schedule refresh
Tile Refresh
Visual
Table refresh
ONEDRIVE

11) Automatic refresh - Data gateway

SERVICE ACCOUNT
GATEWAY

====================================================28/05/2024============
===========================================

Tell about Yourself?

RESUME PREPARATION

1) Professional Summary:

2) Educational Qualification:

3) Experience Summary:

capgemini

4) Technical Skills:
5) Project Profile:

PROJECT1

Description:

ROLES & RES

PROJECT2

PROJECT3

naukri

MAY I SPEAK TO XYZ


YES, SRINIVAS SPEAKING
HOW MUCH EXP
4 .6 YEARS
RELAVENT 4 YEARS

ANY OTHERS SKILSS


SSIS , SSRS, SSAS, SQL SERVER

WHAT IS YOUR PRIMARY SKILL


power bi
WHAT IS YOUR CURRENT COMPANY
WIPRO --> PAYROLL -->

IS THAT YOUR PAYROLL COMPANY


NO
WHAT IS YOUR PAYROLL COMANY
PICK FROM LIST
WHAT HIGHEST QUALIFICATION

WHAT IS YOUR NOTICE PERIOD?


1 month days --> I CAN TRY TO JOIN IN 15 DAYS

WHEN IS YOUR LASTDAY (LWD)?


I DID NOT PUT DOWN THE PEPARS. ONCE I GET THE OFFER I WILL PUT DOWN THE
PAPERS
%
PAN
ADHAR

NEW PHONE -->


NEW MAILID

AGILE :---WITHIN SHOT PERIOD OF TIME--> EXPECT DELIVERABLES


WATERFALL -->DEV--> TESTING --> PROD-->

SCRUM MASTER
SPRINT PLANNING --> BY WEEKLY OR 1 MONTH
DEV1 ----> TASK1,TASK2,TASK3 --> BA ---
JIRA,DEVOPS,SERVICENOW,ITSM,EXCEL
DEV2 ---> TASK1,TASK2,TASK3..........
DEV3

SPRINT REVIEW :--

DEV1 :-- TASK3,TASK4,TASK5......

SPRINT PLANNING
TASK3, TASK4,TASK5

RETRO SPECTIVE :--

WHAT WENT WELL :--


WHAT WENT WRONG :--
WHAT NEED TO IMPROVE :--

WHAT IS YOUR DAILY TASK?

1) CHECKING EMAILS
2) MONITOR SCHEDULE REPORTS
3) CATUP/STANDUP/SCRUM MEETING
4) EXTRA MEETINGS
5) WILL START WORK ON TASKS
task1
task2
task3
I AM DONE ? DO YOU HAVE ANY QUESTIONS?

THANKS FOR GIVING OPP TO ASK A QUESTION

IT IS ALMOST 30 MINS OF INTERVIEW. YOU UNDERSTAND SOMETHING ABOUT


ME RIGHT?

WHERE CAN I IMPROVE MYSELF. THAT WOULD BETTER FOR MY FUTURE.

T ---> Feeling --> Action --> results

===================================29/05/2024=============================
===========================================

SQL SERVER :--


-----------

What is SQL ?

SQL SERVER

S---> Structured ---> table/view/sp/fu --> data --->


Q ---> Query
L ---> Language -->

SERVER ---> DESKTOP/LAPTOP


DATABASES --> drives/FOLDERS
TABLES ---> FILES
COLUMNS --> COLUMNS

CREATE TABLE TABLENAME


(
COL1 DATATYPE[SIZE],
COL2 DATATYPE[SIZE],
COL3 DATATYPE[SIZE]
)

CREATE TABLE
(
ID INT,
NAME CHAR(20),
SAL MONEY
)

ALTER TABLE TABLENAME


ADD COLUMNNAME DATATYPE

ALTER TABLE TABLENAME


DROP COLUMN COLUMNNAME

INSERT INTO TABLENAME VALUES(VAL1,VAL2,VAL3....)

INSERT INTO TABLENAME (COL1,COL2,COL3...) VALUES(VAL1,VAL2,VAL3....)

UPDATE TABLENAME
SET COL1 =?,COL2 =?
WHERE COL1= ?

DELETE FROM TABLENAME

SQL COMMANDS :----

DDL :- DATA DEFINATION LANGAUGE

1) CREATE
CREATE TABLE TABLENAME
CREATE VIEW VIEWNAME
CREATE PROCEDURE PROCNAME
CREATE FUNCTION FNNAME
CREATE CUSOR CUSORNAME
CREATE DATABASE DATABASENAME

CREATE TABLE TABLENAME


(
COL1 DATATYPE [SIZE],
COL2 DATATYPE [SIZE],
COL3 DATATYPE [SIZE],
COL4 DATATYPE [SIZE]

)
2) ALTER
ALTER TABLE TABLENAME
ALTER VIEW VIEWNAME
ALTER PROCEDURE PROCNAME
ALTER FUNCTION FNNAME
ALTER CUSOR CUSORNAME
3) DROP
DROP TABLE TABLENAME
DROP VIEW VIEWNAME
DROP PROCEDURE PROCNAME
DROP FUNCTION FNNAME
DROP CUSOR CUSORNAME
DROP DATABASE DATABASENAME

4) TRUNCATE

DML :---
1) INSERT
2) UPDATE

===================================================30/05/2024=============
===========================================
3) DELETE
4) SELECT ---> DQL
SELECT * FROM [dbo].[tbl_STUDENT]

DROP TABLE [dbo].[tbl_STUDENT]

BEGIN TRAN
TRUNCATE TABLE [dbo].[tblCUSTOMER]
ROLLBACK

SELECT * FROM [dbo].[tblCUSTOMER]

BEGIN TRAN
DELETE FROM [dbo].[tblCUSTOMER]
WHERE ID = 7 AND NAME = 'GGG'
ROLLBACK

WHAT IS TRUNCATE?
**DDL

TRUNCATE TABLE TABLENAME

****WHAT ARE THE DIFFERENCE BETWEEN DELETE ,TRUNCATE AND DROP?

SELECT specific columns or all columns


Distinct Rows

SELECT * FROM TBLCUSTOMER

=,<> OR != , > ,<


1,2,3,4,5,6,7,8,9,10
IN :-- SEPECIFY THE LIST OF VALUES ---> 4 --> 2 --> IN('APPLE','') IN(1,10)
BETWEEN :-- SPECIFY THE RANGE OF VALUES --> 1 TO 100 --> 20 TO 30 --> 1 TO 10
LIKE :- SPECIFY THE PARTAN --> %,_,[],[^]
NOT :-- NOT IN THE LIST, RANGE ETC....
Filtering with Where clause
Wild cards in SQL Server
Joining Multiple conditions using AND and OR Operators
Sorting rows using Order by
Select TopN

CREATE TABLE tblCUSTOMER


(
ID INT,
NAME VARCHAR(20),
EMAIL VARCHAR(20),
AGE INT,
CITY VARCHAR(20),
SAL MONEY
)

INSERT INTO tblCUSTOMER VALUES


(1, 'AAA', 'AAA@[Link]', 30, 'HYD', 4000),
(2, 'BBB', 'BBB@[Link]', 35, 'BLR', 6000),
(3, 'CCC', 'CCC@[Link]', 28, 'HYD', 8000),
(4, 'DDD', 'DDD@[Link]', 32, 'PUN', 7000),
(5, 'EEE', 'EEE@[Link]', 38, 'BLR', 4000),
(6, 'FFF', 'FFF@[Link]', 26, 'PUN', 3000),
(7, 'GGG', 'GGGR@[Link]',40, 'HYD', 5000),
(8, 'HHH', 'HHHR@[Link]',38, 'PUN', 7000)
SELECT * FROM tblCUSTOMER
WHERE AGE = 26 OR AGE = 30 OR AGE = 38

SELECT * FROM tblCUSTOMER


WHERE AGE IN (26,30,38)

SELECT * FROM tblCUSTOMER


WHERE CITY LIKE 'H%'

SELECT * FROM tblCUSTOMER


WHERE CITY LIKE '%R'

SELECT * FROM tblCUSTOMER


WHERE EMAIL LIKE '%_@_PCF.COM'

SELECT * FROM tblCUSTOMER


WHERE EMAIL NOT LIKE '%_@_PCF.COM'

SELECT * FROM tblCUSTOMER


WHERE NAME LIKE '[AEC]%'

SELECT * FROM tblCUSTOMER


WHERE (CITY = 'HYD' OR CITY ='BLR') AND AGE BETWEEN 25 AND 40

SELECT * FROM tblCUSTOMER


ORDER BY SAL DESC

SELECT TOP 1 * FROM tblCUSTOMER


ORDER BY SAL DESC

3 types :---

TEXT
CHAR
NCHAR
VARCHAR(20)
NVARCHAR
NUMBER
DATE

DATATYPES :---
TEXT
CHAR(10) --> FIXED LEN DATATYPE
NCHAR
VARCHAR(50) --> VARIABLE LEN
NVARCHAR
NUMBER
DATE

DECLARE @value varchar(10) ='ABCD'


PRINT @VALUE
PRINT DATALENGTH(@VALUE)
PRINT LEN(@VALUE)

=========================================01/06/2024=======================
===========================================

NUMBER DATA TYPE

DATE DATA TYPE

CONSTRAINTS :---
------------
1) WHAT IS CONSTRAINTS
IT IS NOTHING BUT A RULE ON TABLE
2) WHY CONSTRAINT
TO INSERT VALID DATA INTO TABLE
3) HOW IT WILL SOLVE PROB
IT WILL AVIOD UNNERSARY DATA

***4) TYPES OF CONSTRAINTS

6 TYPES OF CONSTRAINTS :--


1) UNIQUE
2) NOT NULL
3) CHECK
4) PK
5) FK
6) DEFAULT
1) UNIQUE :-- IT WILL NOT ALLOW DUP
IT WILL ALLOW ONE NULL
MORE > 1 TO 999 PER TABLE
BY DEFAULT NON-CLUSTERED INDEX
3) CHECK
CREATE TABLE TBL_CH_TEST
(
ID INT,
AGE INT CHECK (AGE >= 3 AND AGE <18)

INSERT INTO TBL_CH_TEST VALUES(1,4)

INSERT INTO TBL_CH_TEST VALUES(1,17)

SELECT * FROM TBL_CH_TEST

ALTER TABLE TBL_CH_TEST


ADD CONSTRAINT CK_TBL_CH_TEST_ID CHECK(ID>=1 AND ID <=1000)

ALTER TABLE TBL_CH_TEST


DROP CONSTRAINT CK_TBL_CH_TEST_ID

4) PRIMARY KEY (UNIQUE + NOT NULL)


NOT ALLOW DUP + NOT ALLOWED NULLS
1) PER TABLE WE CAN HAVE ONLY 1 PRIMARY KEY
2) CLUSTER INDEX

CREATE TABLE TABLENAME


(
COLNAME DATATYPE PRIMARY KEY
)

ALTER TABLE TABLENAME


ADD CONSTRAINT CONSTRAINTNAME PRIMARY KEY(COLNAME)

ALTER TABLE TABLENAME


DROP CONSTAINT CONSTRAINTNAME

CREATE TABLE TBL_PROD


(
ID INT PRIMARY KEY,
NAME VARCHAR(20)
)
INSERT INTO TBL_PROD VALUES(1,'BIKES')
INSERT INTO TBL_PROD VALUES(2,'CARS')
INSERT INTO TBL_PROD VALUES(3,'LAPTOPS')

ALTER TABLE TBL_PROD


ADD CONSTRAINT PK_TBL_PROD_NAME PRIMARY KEY(NAME)

ALTER TABLE TBL_PROD


DROP CONSTRAINT PK_TBL_PROD_NAME

DIFFERENCE B/W UNIQUE AND PRIMARY KEY

UNIQUE PRIMARY KEY

1) NOT ALLOW DUP 1) IT WILL NOT DUP


2) UNIQUE WILL ONE NULL 2) PRIMARY KEY WILL NOT ALLOW NULL
VALUES
3) PER UP 1 TO 999 3) PER TABLE 1 PRIMARY KEY
4) BY DEFAULT NON-CLUSETRED INDEX4) BY DEFAULT CLUSTERED INDEX

5) FK :---

FOREIGN KEY (columnname) REFERENCES parenttable(columnname)

ALTER TABLE table


ADD CONSTRAINT FK_tablenamecolumn
FOREIGN KEY (Columnname) REFERENCES TBL_PROD(columnname);

SELECT * FROM TBL_PROD

CREATE TABLE TBL_ORDER


(
ID INT FOREIGN KEY(ID) REFERENCES TBL_PROD(ID),
NAME VARCHAR(20),
SALESMONEY
)

INSERT INTO TBL_ORDER VALUES(1,'BIKES',20000)


INSERT INTO TBL_ORDER VALUES(1,'BIKES',20000)
INSERT INTO TBL_ORDER VALUES(1,'BIKES',20000)
INSERT INTO TBL_ORDER VALUES(2,'CARS',30000)
INSERT INTO TBL_ORDER VALUES(2,'CARS',30000)
INSERT INTO TBL_ORDER VALUES(3,'LAPTOPS',40000)

INSERT INTO TBL_ORDER VALUES(4,'DESKTOPS',25000)

INSERT INTO TBL_ORDER VALUES(NULL,NULL,10000)

6) DEFAULT
create table test
(
id int ,
name varchar(20),
orderdate date default getdate()
)

ALTER TABLE TEST


ADD SAL INT

ALTER TABLE TEST


ADD CONSTRAINT df_TEST_SAL
DEFAULT 30000 FOR SAL;

======================================06/06/2024==========================
==========================================
AGGRIGATION FUNCTION
Aggrigation Functions in SQL Server :--
----------------------------------
1) SUM
2) Min
3) MAX
4) COunt
5) Avg

SELECT [ID]
,[NAME]
,[EMAIL]
,[AGE]
,[CITY]
,[SAL]
FROM [dbo].[tblCUSTOMER]
ORDER BY SAL DESC
SELECT SUM(SAL) AS TOTALSAL FROM tblCUSTOMER
SELECT Avg(SAL) AS AVGSAL FROM tblCUSTOMER
SELECT COUNT(SAL) AS CNTSAL FROM tblCUSTOMER
SELECT MIN(SAL) AS MINSAL FROM tblCUSTOMER
SELECT MAX(SAL) AS MAXSAL FROM tblCUSTOMER

SELECT * FROM tblCUSTOMER


WHERE SAL=
(SELECT MAX(SAL) AS MAXSAL FROM tblCUSTOMER
WHERE SAL< (SELECT MAX(SAL) AS MAXSAL FROM tblCUSTOMER))

SELECT SUM(SAL) AS TOTALSAL


,CITY
FROM tblCUSTOMER
GROUP BY CITY

SELECT SUM(SAL) AS TOTALSAL


,CITY
FROM tblCUSTOMER
--WHERE SUM(SAL)> 15000
GROUP BY CITY
HAVING SUM(SAL)> 15000

DATE FUNCTIONS :---


------------------
YEAR
MONTH
day
GETDATE()
CURRENTDATE

STRING FUNCTIONS :---


--------------------

CREATE TABLE [dbo].[TBL_EMP_DETAILS]


(
ID INT,
NAME VARCHAR(20),
SAL MONEY,
DEPT VARCHAR(20),
EMAILID VARCHAR(20)
)

INSERT INTO [dbo].[TBL_EMP_DETAILS]


VALUES(1,'NAVEEN',40000,'IT','NAVEEN@[Link]')
INSERT INTO [dbo].[TBL_EMP_DETAILS]
VALUES(2,'SRINIVAS',50000,'IT','SRINIVAS@[Link]')
INSERT INTO [dbo].[TBL_EMP_DETAILS]
VALUES(3,'RAJESH',60000,'IT','RAJESH@[Link]')
INSERT INTO [dbo].[TBL_EMP_DETAILS]
VALUES(4,'YAKENDAR',65000,'IT','YAKENDAR@[Link]')
INSERT INTO [dbo].[TBL_EMP_DETAILS]
VALUES(5,'KAMALAKAR',70000,'IT','KAMALAKAR@[Link]')
INSERT INTO [dbo].[TBL_EMP_DETAILS]
VALUES(3,'VIJAY',80000,'IT','VIJAY@[Link]')
INSERT INTO [dbo].[TBL_EMP_DETAILS]
VALUES(4,'RAJASHEKAR',90000,'IT','RAJASHEKAR@[Link]')

===============================================07/06/2024=================
===========================================
STRING FUNCTIONS :--

DATABASE --> PROGRAMABILITY --> FUNCTIONS --> SYSTEM FUNCTION --> STRING
FUNCTIONS
1) ASCII

2) LTRIM

3) RTRIM

4) UPPER
SELECT UPPER('abCD') = ABCD
5) LOWER
SELECT UPPER('ABCD')
6) LEN
SELECT LEN('WELCOME SQL CLASS')
7) REVERSE
SELECT REVERSE(SRINIVAS) savinirs
8) LEFT
LEFT(TEXT,NOOFCHAR)
LEFT('POWER BI',5)
9) RIGHT
RIGHT('POWER BI',2)
10) SUBSTRING
SUBSTRING('WELCOME',4,4) = COME
11) CHARINDEX ---> SAME SEARCH IN DAX

SELECT Charindex('@',EMAILID),* FROM [dbo].[TBL_EMP_DETAILS]


12) PATINDEX
LIKE '%[ACF]'
SELECT Patindex('%@[Link]',EMAILID),* FROM [dbo].
[TBL_EMP_DETAILS]
13) REPLICATE --> REPT
REPT("PCF",4) = PCFPCFPCFPCF
= PCFPCFPCFPCF

14) REPLACE
I LOVE MY COUNTRY
15) SPACE
16) Stuff

-
=====================================JOINES=============================
============================================

CREATE TABLE EMP


(
ID INT,
NAME VARCHAR(20),
SAL MONEY,
DEPTID VARCHAR(10)
)

INSERT INTO EMP VALUES(1,'AAA', 5000, 'D01'),


(2,'BBB', 6000, 'D01'),
(3,'CCC', 6500, 'D02'),
(4,'DDD', 4000, 'D02'),
(5,'EEE', 5500, 'D03'),
(6,'RRR', 8500, 'D06'),
(7,'YYY', 75000, 'D07')

CREATE TABLE DEPT


(
DEPTID VARCHAR(10),
DEPTNAME VARCHAR(20)
)
INSERT INTO DEPT VALUES('D01','IT' ),
('D02', 'Sales' ),
('D03', 'HR' ),
('D04', 'Audit' ),
('D05', 'Finance' )

SELECT * FROM EMP


SELECT * FROM DEPT

SELECT
NAME,
SAL,
[Link],
[Link],
DEPTNAME
FROM EMP
INNER JOIN DEPT
ON [Link] = [Link]

CROSS JOIN

DROP TABLE IF EXISTS EMP_TEST


CREATE TABLE EMP_TEST
(
ID INT,
NAME VARCHAR(10)
)
INSERT INTO EMP_TEST VALUES(1,'AA')
INSERT INTO EMP_TEST VALUES(2,'BB')

DROP TABLE IF EXISTS DEPT_TEST


CREATE TABLE DEPT_TEST
(
DID INT,
DNAME VARCHAR(10)
)
INSERT INTO DEPT_TEST VALUES(101,'YYY')
INSERT INTO DEPT_TEST VALUES(102,'ZZZ')
INSERT INTO DEPT_TEST VALUES(103,'XXX')

SELECT * FROM EMP_TEST

SELECT * FROM DEPT_TEST

SELECT *
FROM EMP_TEST
CROSS JOIN DEPT_TEST

TABLE1 REOCRDS * TABLE RECORDS = CROSS JOIN


================================
1) Purpose of the Union and Union All
2) Difference between Union and Union all
UNION ALL UNION
i) Union all will allow duplicates i) Union will NOT allow duplicates
ii) will not do any sorting ii) will do sorting
iii) union all will be fast performance iii) slow performance

Condition to perform Union and union all

1) column order should be same and data type also


2) order by clause should be at the end of the query
3) Difference Between Joinies and Union

create table tblIndiacustomer


(
id int,
name varchar(20),
email varchar(20)
)

create table tblUScustomer


(
id int,
name varchar(20),
email varchar(20)
)

create table tblUKcustomer


(
id int,
name varchar(20),
email varchar(20)
)

insert into tblIndiacustomer values (1,'AAA','AAA@[Link]'),


(2,'BBB','BBB@[Link]'),
(3,'CCC','CCC@[Link]')

insert into tblUScustomer values (1,'AAA','AAA@[Link]'),


(2,'DDD','BBB@[Link]'),
(3,'CCC','CCC@[Link]')

insert into tblUKcustomer values (1,'AAA','AAA@[Link]'),


(2,'DDD','BBB@[Link]'),
(3,'CCC','CCC@[Link]')

SELECT * FROM tblUKcustomer


UNION
SELECT * FROM tblIndiacustomer

VIEW :--
SAVED SELECT QUERY/VIRTUAL TABLE

WHY VIEW
1) IT WILL REDUCE THE COMPLEXSITY OF CODE
2) EASY TO MAINTAIN
3) YOU CAN APPLY COLUMN LEVEL SECURTY
4) YOU CAN APPLY ROW LEVEL SECURTY

2 TYPES OF VIEWS

1) SIMPLE VIEW / UPDATABLE VIEWS = 1 TBALE


2) COMPLEX VIEW / NON UPDATABLE VIEWS > ONE BASE

LIMITATION :--
1) WE CANN'T CREATE VIEW ON TEMP TABLE ---> # --> LOCAL TEMP TABLE,## --
> GLOBAL TEMP TEMO
2) WE CANN'T USE ORDER BY CLAUSE IN VIEW
3) WE CANN'T USE PARAMETERS IN VIEW

You might also like