{"version":3,"sources":["webpack:///./src/pages/docs/Creating Charts and Dashboards/exploring-data.mdx"],"names":["_frontmatter","MDXLayout","DefaultLayout","MDXContent","components","props","mdxType","src","isMDXComponent"],"mappings":"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","file":"component---src-pages-docs-creating-charts-and-dashboards-exploring-data-mdx-49ce7a2c424e97456d8e.js","sourcesContent":["import * as React from 'react'\n  /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsx mdx */\n\nimport DefaultLayout from \"/Users/max/code/superset/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\n\nconst makeShortcode = name => function MDXDefaultShortcode(props) {\n  console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n  return <div {...props} />;\n};\n\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n  components,\n  ...props\n}) {\n  return <MDXLayout {...props} components={components} mdxType=\"MDXLayout\">\n    <h2 {...{\n      \"id\": \"exploring-data-in-superset\"\n    }}>{`Exploring Data in Superset`}</h2>\n    <p>{`In this tutorial, we will introduce key concepts in Apache Superset through the exploration of a\nreal dataset which contains the flights made by employees of a UK-based organization in 2011. The\nfollowing information about each flight is given:`}</p>\n    <ul>\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`The traveller’s department. For the purposes of this tutorial the departments have been renamed\nOrange, Yellow and Purple.`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`The cost of the ticket.`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`The travel class (Economy, Premium Economy, Business and First Class).`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`Whether the ticket was a single or return.`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`The date of travel.`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`Information about the origin and destination.`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`The distance between the origin and destination, in kilometers (km).`}</li>\n\n    </ul>\n    <h3 {...{\n      \"id\": \"enabling-upload-a-csv-functionality\"\n    }}>{`Enabling Upload a CSV Functionality`}</h3>\n    <p>{`You may need to enable the functionality to upload a CSV to your database. The following section\nexplains how to enable this functionality for the examples database.`}</p>\n    <p>{`In the top menu, select `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Sources ‣ Databases`}</strong>\n      {`. Find the `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`examples`}</strong>\n      {` database in the list and\nselect the edit record button.`}</p>\n    <img src=\"/images/edit-record.png\" />\n    <p>{`Within the `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Edit Database`}</strong>\n      {` page, check the `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Allow Csv Upload`}</strong>\n      {` checkbox. Save by selecting\n`}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Save`}</strong>\n      {` at the bottom of the page.`}</p>\n    <h3 {...{\n      \"id\": \"loading-csv-data\"\n    }}>{`Loading CSV Data`}</h3>\n    <p>{`Download the CSV dataset to your computer from\n`}\n      <a {...{\n        \"href\": \"https://raw.githubusercontent.com/apache-superset/examples-data/master/tutorial_flights.csv\",\n        \"parentName\": \"p\"\n      }}>{`Github`}</a>\n      {`.\nIn the Superset menu, select `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Sources > Upload a CSV`}</strong>\n      {`.`}</p>\n    <img src=\"/images/upload_a_csv.png\" />\n    <p>{`Then, enter the `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Table Name`}</strong>\n      {` as `}\n      <em {...{\n        \"parentName\": \"p\"\n      }}>{`tutorial_flights`}</em>\n      {` and select the CSV file from your computer.`}</p>\n    <img src=\"/images/csv_to_database_configuration.png\" />\n    <p>{`Next enter the text `}\n      <em {...{\n        \"parentName\": \"p\"\n      }}>{`Travel Date`}</em>\n      {` into the `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Parse Dates`}</strong>\n      {` field.`}</p>\n    <img src=\"/images/parse_dates_column.png\" />\n    <p>{`Leaving all the other options in their default settings, select `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Save`}</strong>\n      {` at the bottom of the page.`}</p>\n    <h3 {...{\n      \"id\": \"table-visualization\"\n    }}>{`Table Visualization`}</h3>\n    <p>{`In this section, we’ll create our first visualization: a table to show the number of flights and\ncost per travel class.`}</p>\n    <p>{`To create a new chart, select `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`New > Chart`}</strong>\n      {`.`}</p>\n    <img src=\"/images/add_new_chart.png\" />\n    <p>{`Once in the `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Create a new chart`}</strong>\n      {` form, select `}\n      <em {...{\n        \"parentName\": \"p\"\n      }}>{`tutorial_flights`}</em>\n      {` from the `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Chose a datasource`}</strong>\n      {`\ndropdown.`}</p>\n    <img src=\"/images/chose_a_datasource.png\" />\n    <p>{`Next, select the visualization type as `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Table`}</strong>\n      {`.`}</p>\n    <img src=\"/images/select_table_visualization_type.png\" />\n    <p>{`Then, select `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Create new chart`}</strong>\n      {` to go into the chart view.`}</p>\n    <p>{`By default, Apache Superset only shows the last week of data: in our example, we want to look at all\nthe data in the dataset. No problem - within the `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Time`}</strong>\n      {` section, remove the filter on `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Time\nrange`}</strong>\n      {` by selecting `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Last week`}</strong>\n      {` then changing the selection to `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`No filter`}</strong>\n      {`, with a final `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`OK`}</strong>\n      {`\nto confirm your selection.`}</p>\n    <img src=\"/images/no_filter_on_time_filter.png\" />\n    <p>{`Now, we want to specify the rows in our table by using the `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Group by`}</strong>\n      {` option. Since in this\nexample, we want to understand different Travel Classes, we select `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Travel Class`}</strong>\n      {` in this menu.`}</p>\n    <p>{`Next, we can specify the metrics we would like to see in our table with the `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Metrics`}</strong>\n      {`option.\nCount(`}\n      {`*`}\n      {`), which represents the number of rows in the table (in this case corresponding to the\nnumber of flights since we have a row per flight), is already there. To add cost, within\n`}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Metrics`}</strong>\n      {`, select `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Cost`}</strong>\n      {`.`}</p>\n    <p><strong {...{\n        \"parentName\": \"p\"\n      }}>{`Save`}</strong>\n      {` the default aggregation option, which is to sum the column.`}</p>\n    <img src=\"/images/sum_cost_column.png\" />\n    <p>{`Finally, select `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Run Query`}</strong>\n      {` to see the results of the table.`}</p>\n    <img src=\"/images/tutorial_table.png\" />\n    <p>{`Congratulations, you have created your first visualization in Apache Superset!`}</p>\n    <p>{`To save the visualization, click on `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Save`}</strong>\n      {` in the top left of the screen. Select the `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{` Save as`}</strong>\n      {`\noption, and enter the chart name as Tutorial Table (you will be able to find it again through the\n`}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Charts`}</strong>\n      {` screen, accessible in the top menu). Similarly, select `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Add to new dashboard`}</strong>\n      {` and enter\nTutorial Dashboard. Finally, select `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Save & go to dashboard`}</strong>\n      {`.`}</p>\n    <img src=\"/images/save_tutorial_table.png\" />\n    <h3 {...{\n      \"id\": \"dashboard-basics\"\n    }}>{`Dashboard Basics`}</h3>\n    <p>{`Next, we are going to explore the dashboard interface. If you’ve followed the previous section, you\nshould already have the dashboard open. Otherwise, you can navigate to the dashboard by selecting\nDashboards on the top menu, then Tutorial dashboard from the list of dashboards.`}</p>\n    <p>{`On this dashboard you should see the table you created in the previous section. Select `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Edit\ndashboard`}</strong>\n      {` and then hover over the table. By selecting the bottom right hand corner of the table\n(the cursor will change too), you can resize it by dragging and dropping.`}</p>\n    <img src=\"/images/resize_tutorial_table_on_dashboard.png\" />\n    <p>{`Finally, save your changes by selecting Save changes in the top right.`}</p>\n    <h3 {...{\n      \"id\": \"pivot-table\"\n    }}>{`Pivot Table`}</h3>\n    <p>{`In this section, we will extend our analysis using a more complex visualization, Pivot Table. By the\nend of this section, you will have created a table that shows the monthly spend on flights for the\nfirst six months, by department, by travel class.`}</p>\n    <p>{`As before, create a new visualization by selecting `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`New > Chart`}</strong>\n      {` on the top menu. Choose\ntutorial_flights again as a datasource, then click on the visualization type to get to the\nvisualization menu. Select the `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Pivot Table`}</strong>\n      {` visualization (you can filter by entering text in the\nsearch box) and then `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Create a new chart`}</strong>\n      {`.`}</p>\n    <p>{`In the `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Time`}</strong>\n      {` section, keep the Time Column as Travel Date (this is selected automatically as we\nonly have one time column in our dataset). Then select Time Grain to be month as having daily data\nwould be too granular to see patterns from. Then select the time range to be the first six months of\n2011 by click on Last week in the Time Range section, then in Custom selecting a Start / end of 1st\nJanuary 2011 and 30th June 2011 respectively by either entering directly the dates or using the\ncalendar widget (by selecting the month name and then the year, you can move more quickly to far\naway dates).`}</p>\n    <img src=\"/images/select_dates_pivot_table.png\" />\n    <p>{`Next, within the `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Query`}</strong>\n      {` section, remove the default COUNT(`}\n      {`*`}\n      {`) and add Cost, keeping the default\nSUM aggregate. Note that Apache Superset will indicate the type of the metric by the symbol on the\nleft hand column of the list (ABC for string, # for number, a clock face for time, etc.).`}</p>\n    <p>{`In `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Group by`}</strong>\n      {` select `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Time`}</strong>\n      {`: this will automatically use the Time Column and Time Grain\nselections we defined in the Time section.`}</p>\n    <p>{`Within `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Columns`}</strong>\n      {`, select first Department and then Travel Class. All set – let’s `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Run Query`}</strong>\n      {` to\nsee some data!`}</p>\n    <img src=\"/images/tutorial_pivot_table.png\" />\n    <p>{`You should see months in the rows and Department and Travel Class in the columns. To get this in our\ndashboard, select Save, name the chart Tutorial Pivot and using `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Add chart to existing dashboard`}</strong>\n      {`\nselect `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Tutorial Dashboard`}</strong>\n      {`, and then finally `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Save & go to dashboard`}</strong>\n      {`.`}</p>\n    <h3 {...{\n      \"id\": \"line-chart\"\n    }}>{`Line Chart`}</h3>\n    <p>{`In this section, we are going to create a line chart to understand the average price of a ticket by\nmonth across the entire dataset. As before, select `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`New > Chart`}</strong>\n      {`, and then tutorial_flights as the\ndatasource and Line Chart as the visualization type.`}</p>\n    <p>{`In the Time section, as before, keep the Time Column as Travel Date and Time Grain as month but this\ntime for the Time range select No filter as we want to look at entire dataset.`}</p>\n    <p>{`Within Metrics, remove the default COUNT(`}\n      {`*`}\n      {`) and add Cost. This time, we want to change how this\ncolumn is aggregated to show the mean value: we can do this by selecting AVG in the aggregate\ndropdown.`}</p>\n    <img src=\"/images/average_aggregate_for_cost.png\" />\n    <p>{`Next, select `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Run Query`}</strong>\n      {` to show the data on the chart.`}</p>\n    <p>{`How does this look? Well, we can see that the average cost goes up in December. However, perhaps it\ndoesn’t make sense to combine both single and return tickets, but rather show two separate lines for\neach ticket type.`}</p>\n    <p>{`Let’s do this by selecting Ticket Single or Return in the Group by box, and the selecting `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Run\nQuery`}</strong>\n      {` again. Nice! We can see that on average single tickets are cheaper than returns and that the\nbig spike in December is caused by return tickets.`}</p>\n    <p>{`Our chart is looking pretty good already, but let’s customize some more by going to the Customize\ntab on the left hand pane. Within this pane, try changing the Color Scheme, removing the range\nfilter by selecting No in the Show Range Filter drop down and adding some labels using X Axis Label\nand Y Axis Label.`}</p>\n    <img src=\"/images/tutorial_line_chart.png\" />\n    <p>{`Once you’re done, Save as Tutorial Line Chart, use `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Add chart to existing dashboard`}</strong>\n      {` to add this\nchart to the previous ones on the Tutorial Dashboard and then `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Save & go to dashboard`}</strong>\n      {`.`}</p>\n    <h3 {...{\n      \"id\": \"markup\"\n    }}>{`Markup`}</h3>\n    <p>{`In this section, we will add some text to our dashboard. If you’re there already, you can navigate\nto the dashboard by selecting Dashboards on the top menu, then Tutorial dashboard from the list of\ndashboards. Got into edit mode by selecting `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Edit dashboard`}</strong>\n      {`.`}</p>\n    <p>{`Within the Insert components pane, drag and drop a Markdown box on the dashboard. Look for the blue\nlines which indicate the anchor where the box will go.`}</p>\n    <img src=\"/images/blue_bar_insert_component.png\" />\n    <p>{`Now, to edit the text, select the box. You can enter text, in markdown format (see\n`}\n      <a {...{\n        \"href\": \"https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet\",\n        \"parentName\": \"p\"\n      }}>{`this Markdown Cheatsheet`}</a>\n      {` for\nmore information about this format). You can toggle between Edit and Preview using the menu on the\ntop of the box.`}</p>\n    <img src=\"/images/markdown.png\" />\n    <p>{`To exit, select any other part of the dashboard. Finally, don’t forget to keep your changes using\n`}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Save changes`}</strong>\n      {`.`}</p>\n    <h3 {...{\n      \"id\": \"filter-box\"\n    }}>{`Filter Box`}</h3>\n    <p>{`In this section, you will learn how to add a filter to your dashboard. Specifically, we will create\na filter that allows us to look at those flights that depart from a particular country.`}</p>\n    <p>{`A filter box visualization can be created as any other visualization by selecting `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`New > Chart`}</strong>\n      {`,\nand then tutorial_flights as the datasource and Filter Box as the visualization type.`}</p>\n    <p>{`First of all, in the `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Time`}</strong>\n      {` section, remove the filter from the Time range selection by selecting\nNo filter.`}</p>\n    <p>{`Next, in `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Filters Configurations`}</strong>\n      {` first add a new filter by selecting the plus sign and then edit\nthe newly created filter by selecting the pencil icon.`}</p>\n    <p>{`For our use case, it makes most sense to present a list of countries in alphabetical order. First,\nenter the column as Origin Country and keep all other options the same and then select `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Run\nQuery`}</strong>\n      {`. This gives us a preview of our filter.`}</p>\n    <p>{`Next, remove the date filter by unchecking the Date Filter checkbox.`}</p>\n    <img src=\"/images/filter_on_origin_country.png\" />\n    <p>{`Finally, select `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Save`}</strong>\n      {`, name the chart as Tutorial Filter, add the chart to our existing Tutorial\nDashboard and then Save & go to dashboard. Once on the Dashboard, try using the filter to show only\nthose flights that departed from the United Kingdom – you will see the filter is applied to all of\nthe other visualizations on the dashboard.`}</p>\n    <h3 {...{\n      \"id\": \"publishing-your-dashboard\"\n    }}>{`Publishing Your Dashboard`}</h3>\n    <p>{`If you have followed all of the steps outlined in the previous section, you should have a dashboard\nthat looks like the below. If you would like, you can rearrange the elements of the dashboard by\nselecting `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Edit dashboard`}</strong>\n      {` and dragging and dropping.`}</p>\n    <p>{`If you would like to make your dashboard available to other users, simply select Draft next to the\ntitle of your dashboard on the top left to change your dashboard to be in Published state. You can\nalso favorite this dashboard by selecting the star.`}</p>\n    <img src=\"/images/publish_dashboard.png\" />\n    <h3 {...{\n      \"id\": \"annotations\"\n    }}>{`Annotations`}</h3>\n    <p>{`Annotations allow you to add additional context to your chart. In this section, we will add an\nannotation to the Tutorial Line Chart we made in a previous section. Specifically, we will add the\ndates when some flights were cancelled by the UK’s Civil Aviation Authority in response to the\neruption of the Grímsvötn volcano in Iceland (23-25 May 2011).`}</p>\n    <p>{`First, add an annotation layer by navigating to Manage ‣ Annotation Layers. Add a new annotation\nlayer by selecting the green plus sign to add a new record. Enter the name Volcanic Eruptions and\nsave. We can use this layer to refer to a number of different annotations.`}</p>\n    <p>{`Next, add an annotation by navigating to Manage ‣ Annotations and then create a new annotation by\nselecting the green plus sign. Then, select the Volcanic Eruptions layer, add a short description\nGrímsvötn and the eruption dates (23-25 May 2011) before finally saving.`}</p>\n    <img src=\"/images/edit_annotation.png\" />\n    <p>{`Then, navigate to the line chart by going to Charts then selecting Tutorial Line Chart from the\nlist. Next, go to the Annotations and Layers section and select Add Annotation Layer. Within this\ndialogue:`}</p>\n    <ul>\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`Name the layer as Volcanic Eruptions`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`Change the Annotation Layer Type to Event`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`Set the Annotation Source as Superset annotation`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`Specify the Annotation Layer as Volcanic Eruptions`}</li>\n\n    </ul>\n    <img src=\"/images/annotation_settings.png\" />\n    <p>{`Select `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Apply`}</strong>\n      {` to see your annotation shown on the chart.`}</p>\n    <img src=\"/images/annotation.png\" />\n    <p>{`If you wish, you can change how your annotation looks by changing the settings in the Display\nconfiguration section. Otherwise, select `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`OK`}</strong>\n      {` and finally `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Save`}</strong>\n      {` to save your chart. If you keep\nthe default selection to overwrite the chart, your annotation will be saved to the chart and also\nappear automatically in the Tutorial Dashboard.`}</p>\n    <h3 {...{\n      \"id\": \"advanced-analytics\"\n    }}>{`Advanced Analytics`}</h3>\n    <p>{`In this section, we are going to explore the Advanced Analytics feature of Apache Superset that\nallows you to apply additional transformations to your data. The three types of transformation are:`}</p>\n    <p><strong {...{\n        \"parentName\": \"p\"\n      }}>{`Setting up the base chart`}</strong></p>\n    <p>{`In this section, we’re going to set up a base chart which we can then apply the different `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Advanced\nAnalytics`}</strong>\n      {` features to. Start off by creating a new chart using the same `}\n      <em {...{\n        \"parentName\": \"p\"\n      }}>{`tutorial_flights`}</em>\n      {`\ndatasource and the `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Line Chart`}</strong>\n      {` visualization type. Within the Time section, set the Time Range as\n1st October 2011 and 31st October 2011.`}</p>\n    <p>{`Next, in the query section, change the Metrics to the sum of Cost. Select `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Run Query`}</strong>\n      {` to show the\nchart. You should see the total cost per day for each month in October 2011.`}</p>\n    <img src=\"/images/advanced_analytics_base.png\" />\n    <p>{`Finally, save the visualization as Tutorial Advanced Analytics Base, adding it to the Tutorial\nDashboard.`}</p>\n    <h3 {...{\n      \"id\": \"rolling-mean\"\n    }}>{`Rolling Mean`}</h3>\n    <p>{`There is quite a lot of variation in the data, which makes it difficult to identify any trend. One\napproach we can take is to show instead a rolling average of the time series. To do this, in the\n`}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Moving Average`}</strong>\n      {` subsection of `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Advanced Analytics`}</strong>\n      {`, select mean in the `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Rolling`}</strong>\n      {` box and\nenter 7 into both Periods and Min Periods. The period is the length of the rolling period expressed\nas a multiple of the Time Grain. In our example, the Time Grain is day, so the rolling period is 7\ndays, such that on the 7th October 2011 the value shown would correspond to the first seven days of\nOctober 2011. Lastly, by specifying Min Periods as 7, we ensure that our mean is always calculated\non 7 days and we avoid any ramp up period.`}</p>\n    <p>{`After displaying the chart by selecting `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Run Query`}</strong>\n      {` you will see that the data is less variable\nand that the series starts later as the ramp up period is excluded.`}</p>\n    <img src=\"/images/rolling_mean.png\" />\n    <p>{`Save the chart as Tutorial Rolling Mean and add it to the Tutorial Dashboard.`}</p>\n    <h3 {...{\n      \"id\": \"time-comparison\"\n    }}>{`Time Comparison`}</h3>\n    <p>{`In this section, we will compare values in our time series to the value a week before. Start off by\nopening the Tutorial Advanced Analytics Base chart, by going to `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Charts`}</strong>\n      {` in the top menu and then\nselecting the visualization name in the list (alternatively, find the chart in the Tutorial\nDashboard and select Explore chart from the menu for that visualization).`}</p>\n    <p>{`Next, in the Time Comparison subsection of `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Advanced Analytics`}</strong>\n      {`, enter the Time Shift by typing in\n“minus 1 week” (note this box accepts input in natural language). Run Query to see the new chart,\nwhich has an additional series with the same values, shifted a week back in time.`}</p>\n    <img src=\"/images/time_comparison_two_series.png\" />\n    <p>{`Then, change the `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Calculation type`}</strong>\n      {` to Absolute difference and select `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Run Query`}</strong>\n      {`. We can now\nsee only one series again, this time showing the difference between the two series we saw\npreviously.`}</p>\n    <img src=\"/images/time_comparison_absolute_difference.png\" />\n    <p>{`Save the chart as Tutorial Time Comparison and add it to the Tutorial Dashboard.`}</p>\n    <h3 {...{\n      \"id\": \"resampling-the-data\"\n    }}>{`Resampling the data`}</h3>\n    <p>{`In this section, we’ll resample the data so that rather than having daily data we have weekly data.\nAs in the previous section, reopen the Tutorial Advanced Analytics Base chart.`}</p>\n    <p>{`Next, in the Python Functions subsection of `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Advanced Analytics`}</strong>\n      {`, enter 7D, corresponding to seven\ndays, in the Rule and median as the Method and show the chart by selecting `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Run Query`}</strong>\n      {`.`}</p>\n    <img src=\"/images/resample.png\" />\n    <p>{`Note that now we have a single data point every 7 days. In our case, the value showed corresponds to\nthe median value within the seven daily data points. For more information on the meaning of the\nvarious options in this section, refer to the\n`}\n      <a {...{\n        \"href\": \"https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.resample.html\",\n        \"parentName\": \"p\"\n      }}>{`Pandas documentation`}</a>\n      {`.`}</p>\n    <p>{`Lastly, save your chart as Tutorial Resample and add it to the Tutorial Dashboard. Go to the\ntutorial dashboard to see the four charts side by side and compare the different outputs.`}</p>\n\n  </MDXLayout>;\n}\n;\nMDXContent.isMDXComponent = true;\n      "],"sourceRoot":""}