Aller au contenu (Pressez Entrée)
  • Accueil
  • Blog
  • Portfolios
DAXPowerBi

Sales Dashboard

This dashboard provides information about a company’s sales in Canada. The database is in csv format. and was downloaded from the Kaggle site. All performance indicators were created with the DAX language.

Dax Code

/***************************************/
/*****           Columns          ******/
/***************************************/

c_Margin = Products[Unit price] - Products[Unit cost]
-----------
c_Added Value = IF(Products[Margin] > 830, "High added value", "Low added value")
-----------
c_Territory = 
SWITCH(Clients[Province],
    "British Columbia", "West Coast",
    "Alberta", "Prairie Provinces",
    "Quebec", "Central Canada",
    "Ontario", "Central Canada",
    "Manitoba", "Prairie Provinces",
    "Saskatchewan", "Prairie Provinces",
    "Nova Scotia", "Atlantic Region",
    "Prince Edward Island", "Atlantic Region",
    "N/A"
)
-----------
c_Quarter = "Q - " & QUARTER(Dates[Date])
-----------
c_Weekday = WEEKDAY(Dates[Date], 2)
-----------
c_WeekEnd = IF(
                OR(
                    WEEKDAY(Dates[Date], 2) = 6, 
                    WEEKDAY(Dates[Date], 2) = 7
                ),
                "Yes", "No")
-----------
c_TimeDelivery = DATEDIFF(Sales[Order date], Sales[Delivery date], DAY)
-----------
c_AmountSales = Sales[Quantity] * RELATED(Products[Unit price])
-----------
c_SellingPrice = Sales[Quantity] * RELATED(Products[Unit cost])


/************/
/* Measures */
/************/

m_QtyTotal = SUM(Sales[Quantity])
-----------
m_Sales = SUM(Sales[c_AmountSales])
-----------
m_NumbTransactions = COUNTROWS(Sales)
-----------
m_#Canals = DISTINCTCOUNT(Sales[Channel])
-----------
m_MinimalQtyOrdered = MIN(Sales[Quantity])
-----------
m_MaximumQtyOrdered = Max(Sales[Quantity])
-----------
m_MarginSales = SUMX(Sales, Sales[c_AmountSales] - Sales[c_SellingPrice])
-----------
m_SalesAmount = SUMX(Sales, Sales[Quantity] * RELATED(Products[Unit price]))
-----------
m_SalesPrice = SUMX(Sales, Sales[Quantity] * RELATED(Products[Unit cost]))
-----------
m_MarginSales = [m_SalesAmount] - [m_SalesPrice]
-----------
m_AvgDaySales = AVERAGEX(Dates, [m_SalesAmount])
-----------
m_AvgClientSales = AVERAGEX(Clients, [m_SalesAmount])
-----------
m_%MarginSales = DIVIDE([m_MarginSales], [m_SalesAmount])
-----------
m_SalesAmountMontreal = SUMX(
                            FILTER(Clients, 
                                   Clients[City] = "Montreal"),
                            [m_SalesAmount]
                            )
-----------
m_AddFiltProduct7 = CALCULATE([m_NumbTransactions], Products[Products] = "Product 7")
-----------
m_modifFilt = CALCULATE( [m_NumbTransactions], Clients[City] = "Montreal")
-----------
m_SuprFiltClient = CALCULATE([m_NumbTransactions], ALL(Clients[Client]))
-----------
m_TransactApollo = CALCULATE([m_NumbTransactions], KEEPFILTERS(Clients[Client] = "Apollo SARL"))
-----------
m_%NumbTransactionsClient = DIVIDE([m_NumbTransactions], [m_SuprFiltClient], 0)
-----------
m_SalesAmountSPLY = CALCULATE([m_SalesAmount], SAMEPERIODLASTYEAR(Dates[Date]))
-----------
m_EcartSalesCYminusSPLY = [m_SalesAmount] - [m_SalesAmountSPLY]
-----------
m_SalesAmountSPLYdateadd = CALCULATE([m_SalesAmount], DATEADD(Dates[Date], -1, YEAR))
-----------
m_SalesAmountSPLQ = CALCULATE([m_SalesAmount], DATEADD(Dates[Date], -1, QUARTER))
-----------
m_SalesAmountEcartQuarter = [m_SalesAmount] - [m_SalesAmountSPLQ]
-----------
m_SalesAmountCumulativeYear = CALCULATE([m_SalesAmount], DATESYTD(Dates[Date]))
-----------
m_SalesAmountCumulativeQuarter = CALCULATE([m_SalesAmount], DATESQTD(Dates[Date]))
-----------
m_SalesAmountCumulativeMonth = CALCULATE([m_SalesAmount], DATESMTD(Dates[Date]))
-----------
m_SalesAmountCumulativeSPLY = CALCULATE([m_SalesAmountSPLY], DATESYTD(Dates[Date]))
-----------
m_EcartSalesCumulativeYear = [m_SalesAmountCumulativeYear] - [m_SalesAmountCumulativeSPLY]
-----------
m_MobAverageSales7days = 
    AVERAGEX(
        DATESINPERIOD(Dates[Date], MAX(Dates[Date]), -7, DAY),
        [m_SalesAmount]
    )
-----------
m_ObjNumbTransactions = CALCULATE([m_NumbTransactions], SAMEPERIODLASTYEAR(Dates[Date])) * 1.5
-----------
m_MobAverageProfit1Month = 
    AVERAGEX(
        DATESINPERIOD(Dates[Date], MAX(Dates[Date]), -1, MONTH),
        [m_SalesPrice]
    )
-----------
m_DeliveryTime = AVERAGE(Sales[c_TimeDelivery])
-----------
m_%MarginSalesSPLY = CALCULATE( [m_MarginSales], SAMEPERIODLASTYEAR(Dates[Date]))

/************/
/*  Tables  */
/************/
t_ClientsCentCanada = FILTER( Clients, Clients[c_Territory] = "Central Canada")



Projets similaires

IMDb Top 250 Dashboard

mars 3, 2023

Human Ressource Dashboard 2

janvier 9, 2023

Sales Dashboard 2 (Video)

février 13, 2023
© Copyright 2025 . Perfect Portfolio | Développé par Rara Theme. Propulsé par WordPress.