Showing posts with label Power_BI_Basics. Show all posts
Showing posts with label Power_BI_Basics. Show all posts

Saturday, November 15, 2025

How to display Maximum Time Value per Metric in a Power BI Column Chart

How to display Max Time Value of each Metric on a Column Chart in Power BI
Scenario:
Suppose we have a dataset where the Metric_Value column contains DateTime values for each Metric_Name, as shown below.


From this dataset, we need to extract the time component from Metric_Value and convert it into a numeric format so it can be used to display properly on a clustered column chart.

The refined Dataset with Time Values is as follows:
let
    SampleData = 
    #table(
        {"Metric_Id", "Metric_Name", "Metric_Value", "Metric_DataType"},
        {
            {1, "JobRunDateTime", #datetime(2023, 5, 10, 14, 30, 00), "DateTime"},
            {2, "JobRunDateTime", #datetime(2024, 1, 15, 21, 45, 30), "DateTime"},
            {3, "JobStartTime", #time(9, 45, 15), "Time"},
            {4, "JobStartTime", #time(14, 30, 10), "Time"}
        }
    ),

// Convert Time to duration:
_Duration = Table.AddColumn(
        SampleData,
        "TimeAsDuration",
        each #duration(
                0,
                Time.Hour([Metric_Value]),
                Time.Minute([Metric_Value]),
                Time.Second([Metric_Value])
            ),
        type duration
    ),

// Convert duration to total seconds (numeric):
_TotalSeconds = Table.AddColumn(
        _Duration,
        "TimeAsSeconds",
        each Duration.TotalSeconds(
            #duration(
                0,
                Time.Hour([Metric_Value]),
                Time.Minute([Metric_Value]),
                Time.Second([Metric_Value])
                )
            ),
        type number
    ),

// Convert Time into Hour.MinuteSeconds numeric format with padded Seconds:
_NumericTime = Table.AddColumn(
        _TotalSeconds,
        "TimeAsNumber",
        each Number.Round(
            Number.FromText(
            Text.From(Time.Hour([Metric_Value])) & "." &
            Text.PadStart(Text.From(Time.Minute([Metric_Value])),2,"0") &
            Text.PadStart(Text.From(Time.Second([Metric_Value])),2,"0")
            ), 
        4),
        type number
    )

in
    _NumericTime

The final formatted dataset includes a TimeAsNumber column, which represents the numeric conversion of time values. We will use this column to generate a clustered column chart that displays the maximum time value for each metric.

The TimeAsDuration (d.HH:mm:ss) and TimeAsSeconds columns were created for reference purposes only and are not used further in this example.


We will use the below measure to format the TimeAsNumber to Time (HH:mm:ss) to display on the Chart for the Data Labels.

Format TimeLabel =
VAR TimeValue = MAX(tbl_Metrics_TimeValues[TimeAsNumber])   -- E.g. 9.4515
VAR Hrs   = INT(TimeValue)                             -- Hours
VAR Mnts_Sec  = ROUND((TimeValue- Hrs) * 10000,0)      -- Minutes+Seconds
VAR Mnts   = INT(DIVIDE(Mnts_Sec,100))                 -- Minutes
VAR Sec   = MOD(Mnts,100)                              -- Seconds
RETURN
FORMAT(Hrs,"0") & ":" & FORMAT(Mnts,"00") & ":" & FORMAT(Sec,"00")

Generate the Clustered Column Chart:
We will use the Metric Name on the X-Axis and TimeAsNumber column on Y-axis to generate the Clustered Column chart with Max value for each Metric.


Since the purpose is not to display the Time as Number, hide the Y‑axis values, the Y‑axis title, and the tooltips.
Next, in the Data Labels > Values section of the chart formatting options, assign the measure Format TimeLabel Value (created earlier) so that the actual metric Time values are displayed on columns instead of the number.


We can use the below measure to format the Columns of the Chart.
Metric ColorFormat =
SWITCH(
    SELECTEDVALUE(tbl_Metrics_TimeValues[Metric_Name]),
    "JobRunDateTime",    "#1E90FF",    -- Azure Blue
    "JobStartTime",      "#4682B4",    -- SteelBlue
    "#808080"         -- Gray (default color)
    )

Result:
The final output is a clustered column chart with Metric_Name on the X‑axis and metric Max time values shown as data labels.


--------------------------------------------------------------------------------------------------------
Thanks
--------------------------------------------------------------------------------------------------------

How to display the Mixed Data Type Values of a Metric on a Column Chart in Power BI

How to display the Values of a Metric with Mixed Data Types on a Column Chart in Power BI
Scenario: Different Data Type values in the same Column
Suppose we have a dataset where the column Metric_Value contains values of different data types for each Metric_Name, as shown below.

let
    SampleData = 
    #table(
        {"Metric_Id", "Metric_Name", "Metric_Value", "Metric_DataType"},
        {
            {1, "ProductName", "Apple", "Text"}, {2, "ProductName", "Banana", "Text"},            
            {3, "UnitsSold", 150, "Number"}, {4, "UnitsSold", 275, "Number"},            
            {5, "GrowthRate", 0.12, "Percent"}, {6, "GrowthRate", 0.18, "Percent"},            
            {7, "OrderDate", #date(2023, 5, 10), "Date"}, 
            {8, "OrderDate", #date(2024, 1, 15), "Date"},            
            {9, "OrderDateTime", #datetime(2023, 5, 10, 14, 30, 00), "DateTime"},
            {10, "OrderDateTime", #datetime(2024, 1, 15, 9, 45, 30), "DateTime"},            
            {11, "OrderTime", #time(9, 45, 15), "Time"},
            {12, "OrderTime", #time(21, 30, 10), "Time"},            
            {13, "IsActive", true, "Logical"}, {14, "IsActive", false, "Logical"}
        }
    ),
    ChangedTypes = Table.TransformColumnTypes(
        SampleData,
        {
            {"Metric_Id", Int64.Type}, {"Metric_Name", type text},
            {"Metric_Value", type any}, {"Metric_DataType", type text}
        }
    )
in
    ChangedTypes


Displaying Max Value of each Metric on a Clustered Column Chart:
A clustered column chart in Power BI requires numeric or aggregated values on the Y‑axis in order to generate the visualization. When working with metrics that contain mixed data types, only those values that can be converted into numbers or aggregated meaningfully can be plotted on the chart.
In our scenario, the column Metric_Value contains values of different data types (such as Text, Date, and Time) that cannot be directly converted into numbers. However, these values can still be displayed on a clustered column chart as explained below.

Step1: Create a Measure to Calculate and Format Max Value of each Metric
The below measure will be used to calculate the Max Value of each Metric and format Values to the required display format:

Metric Max Value =
SWITCH(
    SELECTEDVALUE(tbl_Metrics_DataTypeMix[Metric_Name]),
    "ProductName", MAX(tbl_Metrics_DataTypeMix[Metric_Value]),
    "UnitsSold",
        MAXX(
            tbl_Metrics_DataTypeMix,
            VALUE(tbl_Metrics_DataTypeMix[Metric_Value])
        ),
   
    "GrowthRate",
        FORMAT(
            MAXX(
                tbl_Metrics_DataTypeMix,
                VALUE(tbl_Metrics_DataTypeMix[Metric_Value])
            ),
            "0.00%"
        ),
   
    "OrderDate",
        FORMAT(
            MAXX(
                tbl_Metrics_DataTypeMix,
                DATEVALUE(tbl_Metrics_DataTypeMix[Metric_Value])
            ),
            "dd-MM-yyyy"
        ),
   
    "OrderDateTime",
        FORMAT(
            MAXX(
                tbl_Metrics_DataTypeMix,
                VALUE(tbl_Metrics_DataTypeMix[Metric_Value])
            ),
            "dd-MM-yyyy HH:mm:ss"
        ),
   
    "OrderTime",
        FORMAT(
            MAXX(
                tbl_Metrics_DataTypeMix,
                TIMEVALUE(tbl_Metrics_DataTypeMix[Metric_Value])
            ),
            "HH:mm:ss"
        ),  

    "IsActive",
        FORMAT(
            MAXX(
                tbl_Metrics_DataTypeMix,
                SWITCH(
                    TRUE(),
                    tbl_Metrics_DataTypeMix[Metric_Value] = "true", 1,
                    tbl_Metrics_DataTypeMix[Metric_Value] = "false", 0,
                    BLANK()
                )
            ),
            "General Number"
        ),

    BLANK()
)

Step2: Create a Clustered Column Chart to show Max Value of each Metric
Create a clustered column chart with Metric_Name on the X‑axis and count of Metric_Name on the Y‑axis. 


Since the purpose is not to display the count, hide the Y‑axis values, the Y‑axis title, and the tooltips.
Next, in the Data Labels > Values section of the chart formatting options, assign the measure Metric Max Value (created earlier) so that the actual metric values are displayed on columns instead of the count.
 

We can use the below measure to format the Columns of the Chart.
Metric ColorFormat =
SWITCH(
    SELECTEDVALUE(tbl_Metrics_DataTypeMix[Metric_Name]),    

    "ProductName",    "#1E90FF",    -- Azure Blue
    "UnitsSold",      "#4682B4",    -- SteelBlue
    "GrowthRate",     "#3CB371",    -- MediumSeaGreen
    "OrderDate",      "#FF8C00",    -- DarkOrange
    "OrderDateTime",  "#6A5ACD",    -- SlateBlue
    "OrderTime",      "#008080",    -- Teal
    "IsActive",       "#228B22",    -- ForestGreen
    "#808080"         -- Gray (default color)
)

Result:
The final output is a clustered column chart with Metric_Name on the X‑axis and metric Max values shown as data labels. The Y‑axis values, title, and tooltips are hidden so only the relevant metric values are visible.


Notes: 
For text columns, the maximum values will be determined based on alphabetical order. This means the chart will display the last value in sort sequence rather than a numeric maximum.

--------------------------------------------------------------------------------------------------------
Thanks
--------------------------------------------------------------------------------------------------------

Saturday, May 25, 2024

How to format Date Time values using FORMAT function in Power BI DAX

How to format Date and Time strings using FORMAT function in Power BI DAX
The FORMAT is a formatting function in DAX that formats a value based on a format string.
FormatDateTime=
VAR _DateVal  = DATE ( 2023, 3, 1 )
VAR _TimeVal  = TIME ( 15, 30, 5 )
VAR _DateTimeVal = (_DateVal + _TimeVal)

/* Formatting Date and Time Values */
VAR _DateValue1 = ROW ( "Value_to_Format", _DateTimeVal ,
                "Format_String","dd/mm/yyyy",
                "Formatted_Value",FORMAT (_DateTimeVal, "dd/mm/yyyy" ) )
VAR _DateTimeVal1 = ROW ( "Value_to_Format", _DateTimeVal ,
                "Format_String","mm/dd/yyyy hh:mm:ss AM/PM",
                "Formatted_Value",FORMAT (_DateTimeVal, "mm/dd/yyyy hh:mm:ss AM/PM" ) )
VAR _GeneralDate = ROW ( "Value_to_Format", _DateTimeVal ,
                "Format_String","General Date",
                "Formatted_Value",FORMAT (_DateTimeVal, "General Date" ) )
VAR _LongDate = ROW ( "Value_to_Format", _DateTimeVal ,"Format_String","Long Date",
                "Formatted_Value",FORMAT (_DateTimeVal, "Long Date" ) )
VAR _MedDate = ROW ( "Value_to_Format", _DateTimeVal ,"Format_String","Medium Date",
                "Formatted_Value",FORMAT (_DateTimeVal, "Medium Date" ) )
VAR _ShortDate = ROW ( "Value_to_Format", _DateTimeVal ,"Format_String","Short Date",
                "Formatted_Value",FORMAT (_DateTimeVal, "Short Date" ) )
VAR _US_DateFormat1 = ROW ( "Value_to_Format", _DateTimeVal ,"Format_String","en-US",
                "Formatted_Value",FORMAT (_DateTimeVal, BLANK(), "en-US" ) )
VAR _US_DateFormat2 = ROW ( "Value_to_Format", _DateTimeVal ,"Format_String","en-US",
                "Formatted_Value",FORMAT (_DateTimeVal,"mm/dd/yyyy", "en-US" ) )
VAR _UK_DateFormat1 = ROW ( "Value_to_Format", _DateTimeVal ,"Format_String","en-GB",
                "Formatted_Value",FORMAT (_DateTimeVal, BLANK(), "en-GB" ) )              
VAR _UK_DateFormat2 = ROW ( "Value_to_Format", _DateTimeVal ,"Format_String","en-GB",
                "Formatted_Value",FORMAT (_DateTimeVal, "dd/mm/yyyy", "en-GB" ) )
VAR _TimeValue1 = ROW ( "Value_to_Format", _DateTimeVal ,
                "Format_String","hh:mm:ss AM/PM",
                "Formatted_Value",FORMAT (_DateTimeVal, "hh:mm:ss AM/PM" ) )
VAR _TimeValue2 = ROW ( "Value_to_Format", _DateTimeVal ,"Format_String","hh:mm:ss",
                "Formatted_Value",FORMAT (_DateTimeVal, "hh:mm:ss" ) )
VAR _TimeValue3 = ROW ( "Value_to_Format", _DateTimeVal ,"Format_String","hh:nn:ss",
                "Formatted_Value",FORMAT (_DateTimeVal, "hh:nn:ss" ) )
VAR _LongTime = ROW ( "Value_to_Format", _DateTimeVal ,"Format_String","Long Time",
                "Formatted_Value",FORMAT (_DateTimeVal, "Long Time" ) )
VAR _MedTime = ROW ( "Value_to_Format", _DateTimeVal ,"Format_String","Medium Time",
                "Formatted_Value",FORMAT (_DateTimeVal, "Medium Time" ) )
VAR _ShortTime = ROW ( "Value_to_Format", _DateTimeVal ,"Format_String","Short Time",
                "Formatted_Value",FORMAT (_DateTimeVal, "Short Time" ) )

/* Format Day */
VAR _DayFormat1 = ROW ( "Value_to_Format", _DateTimeVal ,"Format_String","d",
                "Formatted_Value",FORMAT (_DateTimeVal, "d" ) )
VAR _DayFormat2 = ROW ( "Value_to_Format", _DateTimeVal ,"Format_String","dd",
                "Formatted_Value",FORMAT (_DateTimeVal, "dd" ) )
VAR _DayFormat3 = ROW ( "Value_to_Format", _DateTimeVal ,"Format_String","ddd",
                "Formatted_Value",FORMAT (_DateTimeVal, "ddd" ) )
VAR _DayFormat4 = ROW ( "Value_to_Format", _DateTimeVal ,"Format_String","dddd",
                "Formatted_Value",FORMAT (_DateTimeVal, "dddd" ) )
VAR _DayFormat5 = ROW ( "Value_to_Format", _DateTimeVal ,"Format_String","ddddd",
                "Formatted_Value",FORMAT (_DateTimeVal, "ddddd" ) )
VAR _DayFormat6 = ROW ( "Value_to_Format", _DateTimeVal ,"Format_String","dddddd",
                "Formatted_Value",FORMAT (_DateTimeVal, "dddddd" ) )

/* Format Month */
VAR _MonthFormat1 = ROW ( "Value_to_Format", _DateTimeVal ,"Format_String","m",
                "Formatted_Value",FORMAT (_DateTimeVal, "m" ) )
VAR _MonthFormat2 = ROW ( "Value_to_Format", _DateTimeVal ,"Format_String","mm",
                "Formatted_Value",FORMAT (_DateTimeVal, "mm" ) )
VAR _MonthFormat3 = ROW ( "Value_to_Format", _DateTimeVal ,"Format_String","mmm",
                "Formatted_Value",FORMAT (_DateTimeVal, "mmm" ) )
VAR _MonthFormat4 = ROW ( "Value_to_Format", _DateTimeVal ,"Format_String","mmmm",
                "Formatted_Value",FORMAT (_DateTimeVal, "mmmm" ) )

RETURN

UNION (
    _DateTimeVal1, _DateValue1,_GeneralDate,_LongDate,_MedDate,_ShortDate,
    _US_DateFormat1,_US_DateFormat2,_UK_DateFormat1,_UK_DateFormat2,
    _TimeValue1,_TimeValue2,_TimeValue3,_LongTime,_MedTime,_ShortTime,
    _DayFormat1,_DayFormat2,_DayFormat3,_DayFormat4,_DayFormat5,_DayFormat6,
    _MonthFormat1,_MonthFormat2,_MonthFormat3,_MonthFormat4
    ) Result:

--------------------------------------------------------------------------------------------------------
Thanks, TAMATAM ; Business Intelligence & Analytics Professional
--------------------------------------------------------------------------------------------------------

How to format values using FORMAT function in Power BI DAX

How to format numbers using FORMAT function in Power BI DAX
The FORMAT is a formatting function in DAX that formats a value based on a format string.
Formatting Numbers:
FormatValues=

VAR _General1 = ROW ( "Value_to_Format", "abc.1234" ,"Format_String","General",
                "Formatted_Value",FORMAT ("abc.1234", "General" ) )
VAR _General2 = ROW ( "Value_to_Format", 1234,"Format_String","General",
                "Formatted_Value",FORMAT ("1234", "General" ) )
VAR _Standard = ROW ( "Value_to_Format", 1234.5678 ,"Format_String","Standard",
                "Formatted_Value",FORMAT (1234.5678, "Standard" ) )
VAR _Fixed = ROW ( "Value_to_Format", 1234.5678 ,"Format_String","Fixed",
                "Formatted_Value",FORMAT (1234.5678, "Fixed" ) )
VAR _Number1 = ROW ( "Value_to_Format", 1234.5678 ,"Format_String","#,0.00",
                "Formatted_Value",FORMAT (1234.5678, "#,0.00" ) )
VAR _Thousand = ROW ( "Value_to_Format", 1234567890 ,"Format_String","$#,0,.0#K",
                "Formatted_Value",FORMAT (1234567890, "$#,0,.0#K" ) )
VAR _Million = ROW ( "Value_to_Format", 1234567890 ,"Format_String","$#,0,,.0#M",
                "Formatted_Value",FORMAT (1234567890, "$#,0,,.0#M" ) )
VAR _Billion = ROW ( "Value_to_Format", 1234567890 ,"Format_String","$#,0,,,.0#B",
                "Formatted_Value",FORMAT (1234567890, "$#,0,,,.0#B" ) )
VAR _Trillion = ROW ( "Value_to_Format", 1234567890 ,"Format_String","$#,0,,,,.0#T",
                "Formatted_Value",FORMAT (1234567890, "$#,0,,,,.0#T" ) )  
VAR _Positive1 = ROW ( "Value_to_Format", 1234.12 ,"Format_String","#,0.00",
                "Formatted_Value",FORMAT (1234.12, "#,0.00" ) )
VAR _Positive2 = ROW ( "Value_to_Format", 1234.12 ,"Format_String","#,0.00;(#,0.00)",
                "Formatted_Value",FORMAT (1234.12, "#,0.00;(#,0.00)" ) )
VAR _Positive3 = ROW ( "Value_to_Format", 1234.12 ,"Format_String","#,#.##;(#,#.##);-",
                "Formatted_Value",FORMAT (1234.12, "#,#.##;(#,#.##);-" ) )
VAR _Negative1 = ROW ( "Value_to_Format", -1234.12 ,"Format_String","#,0.00",
                "Formatted_Value",FORMAT (-1234.12, "#,0.00" ) )
VAR _Negative2 = ROW ( "Value_to_Format", -1234.12 ,"Format_String","#,0.00;(#,0.00)",
                "Formatted_Value",FORMAT (-1234.12, "#,0.00;(#,0.00)" ) )
VAR _Negative3 = ROW ( "Value_to_Format", -1234.12 ,"Format_String","#,#.##;(#,#.##);-",
                "Formatted_Value",FORMAT (-1234.12, "#,#.##;(#,#.##);-" ) )
VAR _Percent1 = ROW ( "Value_to_Format", 0.2345,"Format_String","Percent",
                "Formatted_Value",FORMAT (0.2345, "Percent" ) )
VAR _Percent2 = ROW ( "Value_to_Format", 0.2345,"Format_String","#.00%",
                "Formatted_Value",FORMAT (0.2345, "#.00%" ) )
VAR _Percent3 = ROW ( "Value_to_Format", 0.2345,"Format_String","00.00%",
                "Formatted_Value",FORMAT (0.2345, "00.00%" ) )
VAR _Currency1 = ROW ( "Value_to_Format", 1234.5678,"Format_String","$#,0",
                "Formatted_Value",FORMAT (1234.5678, "$#,0" ) )
VAR _Currency2 = ROW ( "Value_to_Format", 1234.5678,"Format_String","$#.00",
                "Formatted_Value",FORMAT (1234.5678, "$#.00" ) )
VAR _Currency3 = ROW ( "Value_to_Format", 1234.5678,"Format_String","$#,0.00",
                "Formatted_Value",FORMAT (1234.5678, "$#,0.00" ) )
VAR _Currency4 = ROW ( "Value_to_Format", 1234.5678,"Format_String","""US$"" #,0.00",
                "Formatted_Value",FORMAT (1234.5678, """US$"" #,0.00" ) )
VAR _Currency5= ROW ( "Value_to_Format", 1234.5678,"Format_String","""€"" #,0.00",
                "Formatted_Value",FORMAT (1234.5678, """€"" #,0.00" ) )
VAR _Scientific = ROW ( "Value_to_Format", 1234.5678,"Format_String","Scientific",
                "Formatted_Value",FORMAT (1234.5678, "Scientific" ) )
VAR _Boolean1 = ROW ( "Value_to_Format", "True/False","Format_String","True/False",
                "Formatted_Value",FORMAT (TRUE(), "True/False" ) )
VAR _Boolean2 = ROW ( "Value_to_Format", "On/Off","Format_String","On/Off",
                "Formatted_Value",FORMAT (FALSE(), "On/Off" ) )
VAR _Boolean3 = ROW ( "Value_to_Format", "Yes/No","Format_String","Yes/No",
                "Formatted_Value",FORMAT (TRUE(), "Yes/No" ) )
/*
VAR _Zero1 = ROW ( "Value_to_Format", 0 ,"Format_String","#,0.00",
                "Formatted_Value",FORMAT (0, "#,0.00" ) )
VAR _Zero2 = ROW ( "Value_to_Format", 0 ,"Format_String","#,0.00;(#,0.00)",
                "Formatted_Value",FORMAT (0, "#,0.00;(#,0.00)" ) )
VAR _Zero3 = ROW ( "Value_to_Format", 0 ,"Format_String","#,#.##;(#,#.##);-",
                "Formatted_Value",FORMAT (0, "#,#.##;(#,#.##);-" ) )
VAR _Blank1 = ROW ( "Value_to_Format", BLANK() ,"Format_String","#,0.00",
                "Formatted_Value",FORMAT (BLANK(), "#,0.00" ) )
VAR _Blank2 = ROW ( "Value_to_Format", BLANK() ,"Format_String","#,0.00;(#,0.00)",
                "Formatted_Value",FORMAT (BLANK(), "#,0.00;(#,0.00)" ) )
VAR _Blank3 = ROW ( "Value_to_Format", BLANK() ,"Format_String","#,#.##;(#,#.##);-",
                "Formatted_Value",FORMAT (BLANK(), "#,#.##;(#,#.##);-" ) )
*/

RETURN
UNION (
    _General1,_General2, _Standard,_Fixed,_Number1,
    _Thousand, _Million,_Billion,_Trillion,
    _Positive1,_Positive2,_Positive3, _Negative1,_Negative2,_Negative3,
    _Percent1,_Percent2,_Percent3,
    _Currency1,_Currency2,_Currency3,_Currency4,_Currency5,
    _Scientific, _Boolean1,_Boolean2,_Boolean3
    /* _Zero1,Zero2,Zero3, _Blank1,Blank2,Blank3 */
    )

Result:
--------------------------------------------------------------------------------------------------------
Thanks, TAMATAM ; Business Intelligence & Analytics Professional
--------------------------------------------------------------------------------------------------------

Tuesday, January 28, 2020

Microsoft Power BI Theme Colors with HEX Codes

Microsoft Power BI Themes Colors with Hex Codes Reference

--------------------------------------------------------------------------
List of popular UNICODE / UNICHAR Symbols (only for reference):


--------------------------------------------------------------------------
List of popular Colour Shades with HEX Codes (only for reference):










--------------------------------------------------------------------------
List of popular Colours with HEX Codes (only for reference):





















































--------------------------------------------------------------------------
List of popular Colour Palettes with HEX Codes (only for reference):













--------------------------------------------------------------------------
List of popular Gradient Colours with HEX Codes (only for reference):


--------------------------------------------------------------------------------------------------------
Thanks, TAMATAM ; Business Intelligence & Analytics Professional
--------------------------------------------------------------------------------------------------------

Featured Post from this Blog

How to compare Current Snapshot Data with Previous Snapshot in Power BI

How to Dynamically compare two Snapshots Data in Power BI Scenario: Suppose we have a sample Sales data, which is stored with Monthly Snapsh...

Popular Posts from this Blog