Skip to main content

Create complex JSON structure using List and Dictionary

In this blog we will learn about creating complex JSON structure using List and Dictionary.
Before we start I assume that you have basic idea about Dictionary and List. If not please check out this video.
Dictionary in C#

Now let's start!
First of all I'm going to show you a JSON structure which I want to create.
Please observe above Json structure.

 [{  
      "UserId": "0",  
      "ResorceName": "Employee 0",  
      "TimeRecords": [{  
           "Date": "2016-10-25",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-10-26",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-10-27",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-10-28",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-10-29",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-10-30",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-10-31",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-01",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-02",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-03",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-04",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-05",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-06",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-07",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-08",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-09",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-10",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-11",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-12",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-13",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-14",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-15",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-16",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-17",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-18",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-19",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-20",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-21",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-22",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-23",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-24",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-25",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-26",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-27",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-28",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-29",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-30",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-12-01",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-12-02",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-12-03",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-12-04",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-12-05",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-12-06",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-12-07",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-12-08",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-12-09",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-12-10",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-12-11",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-12-12",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-12-13",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-12-14",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-12-15",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-12-16",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-12-17",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-12-18",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-12-19",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-12-20",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-12-21",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-12-22",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-12-23",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }]  
 }, {  
      "UserId": "1",  
      "ResorceName": "Employee 1",  
      "TimeRecords": [{  
           "Date": "2016-10-25",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-10-26",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-10-27",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-10-28",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-10-29",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-10-30",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-10-31",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-01",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-02",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-03",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-04",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-05",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-06",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-07",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-08",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-09",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-10",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-11",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-12",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-13",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-14",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-15",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-16",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-17",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-18",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-19",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-20",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-21",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-22",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-23",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-24",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-25",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-26",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-27",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-28",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-29",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-11-30",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-12-01",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-12-02",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-12-03",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-12-04",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-12-05",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-12-06",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-12-07",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-12-08",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-12-09",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-12-10",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-12-11",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-12-12",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-12-13",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-12-14",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-12-15",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-12-16",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-12-17",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-12-18",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-12-19",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-12-20",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-12-21",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-12-22",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }, {  
           "Date": "2016-12-23",  
           "Tasks": ["Task 0", "Task 1", "Task 2", "Task 3", "Task 4", "Task 5"]  
      }]  
 }]  
Points to remember before we start.


  • Key - Value Pair always added in dictionary.
  • List values are can be added in dictionary to give Key to List values.
  • Combination of List + Dictionary should be added in List having Dictionary.
Above three components are key component to create any Kind of JSON structure.
Now Let's check C# Code.


 protected void Button1_Click(object sender, EventArgs e)  
     {  
       DateTime currentDate = DateTime.Now;  
       DateTime startDate = currentDate.AddDays(-30);  
       DateTime enddate = currentDate.AddDays(30);  
       int resId = 0;  
       string resname = string.Empty;  
       List<Dictionary<string, object>> rows = new List<Dictionary<string, object>>();  //<<1>>
       Dictionary<string, object> row;  //<<2>>
       for (int i = 0; i <= 2; i++)  
       {  
         row = new Dictionary<string, object>();  
         resId = Convert.ToInt32(i.ToString());  
         resname = Convert.ToString("Employee " + i.ToString());  
         row.Add("UserId", resId.ToString());  
         row.Add("ResorceName", resname);  
         List<Dictionary<string, object>> TimeMode = new List<Dictionary<string, object>>(); //<<3>>  
         for (DateTime date = startDate; date < enddate; date = date.AddDays(1.0))  
         {  
           Dictionary<string, object> modes;  // <<4>>
           modes = new Dictionary<string, object>();  
           DateTime mydate = new DateTime(1900, 01, 01);  
           string cDate1 = date.ToString("yyyy-MM-dd");  
           string cDate2 = mydate.ToString("yyyy-MM-dd");  
           modes.Add("Date", cDate1);  
           List<string> taskss = new List<string>();  // <<5>>
           for (int k = 0; k <= 5; k++)  
           {  
             taskss.Add("Task " + k.ToString());  
           }  
           modes.Add("Tasks", taskss);  
           TimeMode.Add(modes);  
         }  
         row.Add("TimeRecords", TimeMode);  
         rows.Add(row);  
       }  
       string x = giveJson(rows);  
     }  
     private string giveJson(object convertme)  
     {  
       string jstr = JsonConvert.ExportToString(convertme);  
       return jstr;  
     }  

Note: To create a Json string I used Jayrock.JSON dll which is open source.

In above code snippet observe Bold lines and look at our JSON structure.
Now let's discuss about it .

From JSON observe a Key Tasks which have a List like Task 1 ,Task 2.. to create a List we took List tasks in code. Observe <<5>> from bold letter from above snippet.

Now to give key to Tasks we need one Dictionary so we used a dictionary named modes. Observe <<4>> from bold letter from above snippet.

Now cobination of Date and Tasks should be added having a Key TimeRecords. To achieve this we took List having Dictionary Timemode .  Observe <<3>> from above code snippet.

To add Keys Like UserId , ResorceName ,TimeRecords we have a dictionary row . Observe <<2>> from above code snippet.

And finally all the keys are added in one Final List having Dictionary named rows. Observe <<1>> from above code snippet.

Here giveJSON() function will return Json string. This function uses core function from Jayrock.Json dll.

Don't forget to subscribe me!
For More Updates stay connected On : Learn2All Facebook Page
Amazing Concepts in Video :  Video On YouTube
Download a Code Using this Link : Share JsonDemo.zip - 74 KB

If you still have any doubts related this concept mail me at 
dhruvinshah16@gmail.com





Comments

Popular posts from this blog

How to partition or split DataTable in C#?

Today we will discuss how we can divide or split a very large data table into fixed size of chunks? Scenario: Suppose there is a data table which has 1000 Rows. When you perform for each loop on data table and read each row at that time it will take too much time. If we devide 1000 Rows datatable into 10 fixed sizes (e.g. 100 Rows) datatable, It will take less time. Let's check how to achieve it. Here is a code. private static List<DataTable> SplitTable(DataTable originalTable, int batchSize) { List<DataTable> tables = new List<DataTable>(); int i = 0; int j = 1; DataTable newDt = originalTable.Clone(); newDt.TableName = "Table_" + j; newDt.Clear(); foreach (DataRow row in originalTable.Rows) { DataRow newRow = newDt.NewRow(); newRow.ItemArray = row.ItemArray; newDt.Rows.Add(newRow); i++; if (i == batchSize) ...

How To Lock Objects In Power BI

Overview Sometimes, there is a situation where when we open a report and click on any visual it accidentally nudges a chart a little bit to the right or left. Sometimes, by mistake when viewing a report, the arrangement of visuals scatters a little bit. Microsoft rolls out one new amazing feature to resolve this issue, that is, Lock Objects in Power BI. Advantages of using this feature When our purpose is to only view a report, this feature is a boon for us. Visualization’s position is not changed. Saves a lot of the developer's time to resolve the position related issues. Note   -  This feature is not saved with the report. So, every time you open a report, you need to enable this feature. Now, let’s understand this feature in a brief manner. To understand this, I will first show you one report in which I have not enabled “Lock Objects” feature. Step 1 The below screenshot shows my report which doesn’t have the enabled Lock Objects feature. ...

Create Event Calendar In Power BI

Overview In this article, we will learn how we can create Event Calendar within Power BI. We have a requirement from many of my clients to show Events within the Calendar by Category Colors. In order to achieve that requirement, we can use the custom visual from the marketplace which is “ Calendar by MAQ Software ”. You can directly download it using   URL . At the end of the article, you are able to create Event Calendar as shown in the following screenshot. We have the following data to be shown in the event Calendar. Event Start Date Event End Date Description Category   For your practice, you can download sample data source file and Power BI file using   GitHub . Let’s get started! Step 1 Import “ Calendar by MAQ Software ” from Marketplace or download using the   URL . Once it is imported we can see the visual in visualization pane. Step 2 Drag the “ Calendar by MAQ Software ” visual and set the following property. ...