{"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-8195f4266efbd324fa8d.js","sourcesContent":["import * as React from 'react'\n  /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsx mdx */\n\nimport DefaultLayout from \"/Users/evan/GitHub/incubator-superset_preset/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":""}