{"version":3,"sources":["webpack:///./src/pages/docs/Creating Charts and Dashboards/index.mdx"],"names":["_frontmatter","layoutProps","MDXLayout","DefaultLayout","MDXContent","components","props","mdxType","src","isMDXComponent"],"mappings":"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","file":"component---src-pages-docs-creating-charts-and-dashboards-index-mdx-0a0406ca9c873ac2199b.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 layoutProps = {\n  _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n  components,\n  ...props\n}) {\n  return <MDXLayout {...layoutProps} {...props} components={components} mdxType=\"MDXLayout\">\n    <h2 {...{\n      \"id\": \"creating-your-first-dashboard\"\n    }}>{`Creating Your First Dashboard`}</h2>\n    <p>{`This section is focused on documentation for end-users (data analysts, business analysts, data\nscientists, etc.). In addition to this site, Preset.io maintains an upto-date set of end-user\ndocumentation at `}\n      <a {...{\n        \"href\": \"https://docs.preset.io/\",\n        \"parentName\": \"p\"\n      }}>{`docs.preset.io`}</a>\n      {`.`}</p>\n    <p>{`This tutorial targets someone who wants to create charts and dashboards in Superset. We’ll show you\nhow to connect Superset to a new database and configure a table in that database for analysis.\nYou’ll also explore the data you’ve exposed and add a visualization to a dashboard so that you get a\nfeel for the end-to-end user experience.`}</p>\n    <h3 {...{\n      \"id\": \"connecting-to-a-new-database\"\n    }}>{`Connecting to a new database`}</h3>\n    <p>{`We assume you already have a database configured and can connect to it from the instance on which\nyou’re running Superset. If you’re just testing Superset and want to explore sample data, you can\nload some sample PostgreSQL datasets into a fresh DB, or configure the\n`}\n      <a {...{\n        \"href\": \"https://github.com/dylburger/noaa-ghcn-weather-data\",\n        \"parentName\": \"p\"\n      }}>{`example weather data`}</a>\n      {` we use here.`}</p>\n    <p>{`Under the `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Sources`}</strong>\n      {` menu, select the `}\n      <em {...{\n        \"parentName\": \"p\"\n      }}>{`Databases`}</em>\n      {` option:`}</p>\n    <p><img src=\"/images/tutorial_01_sources_database.png\" />\n      {' '}</p>\n    <p>{`On the resulting page, click on the green plus sign, near the top right:`}</p>\n    <p><img src=\"/images/tutorial_02_add_database.png\" />\n      {' '}</p>\n    <p>{`You can configure a number of advanced options on this page, but for this walkthrough, you’ll only\nneed to do `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`two things`}</strong>\n      {`:`}</p>\n    <ol>\n\n      <li {...{\n        \"parentName\": \"ol\"\n      }}>{`Name your database connection:`}</li>\n\n    </ol>\n    <img src=\"/images/tutorial_03_database_name.png\" />\n    <p>{`Provide the SQLAlchemy Connection URI and test the connection:`}</p>\n    <img src=\"/images/tutorial_04_sqlalchemy_connection_string.png\" />\n    <p>{`This example shows the connection string for our test weather database. As noted in the text below\nthe URI, you should refer to the SQLAlchemy documentation on\n`}\n      <a {...{\n        \"href\": \"https://docs.sqlalchemy.org/en/12/core/engines.html#database-urls\",\n        \"parentName\": \"p\"\n      }}>{`creating new connection URIs`}</a>\n      {`\nfor your target database.`}</p>\n    <p>{`Click the `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Test Connection`}</strong>\n      {` button to confirm things work end to end. Once Superset can\nsuccessfully connect and authenticate, you should see a popup like this:`}</p>\n    <img src=\"/images/tutorial_05_connection_popup.png\" />\n    <p>{`Moreover, you should also see the list of tables Superset can read from the schema you’re connected\nto, at the bottom of the page:`}</p>\n    <img src=\"/images/tutorial_06_list_of_tables.png\" />\n    <p>{`If the connection looks good, save the configuration by clicking the `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Save`}</strong>\n      {` button at the bottom\nof the page:`}</p>\n    <img src=\"/images/tutorial_07_save_button.png\" />\n    <h3 {...{\n      \"id\": \"adding-a-new-table\"\n    }}>{`Adding a new table`}</h3>\n    <p>{`Now that you’ve configured a database, you’ll need to add specific tables to Superset that you’d\nlike to query.`}</p>\n    <p>{`Under the `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Sources`}</strong>\n      {` menu, select the `}\n      <em {...{\n        \"parentName\": \"p\"\n      }}>{`Tables`}</em>\n      {` option:`}</p>\n    <img src=\"/images/tutorial_08_sources_tables.png\" />\n    <p>{`On the resulting page, click on the green plus sign, near the top left:`}</p>\n    <img src=\"/images/tutorial_09_add_new_table.png\" />\n    <p>{`You only need a few pieces of information to add a new table to Superset:`}</p>\n    <ul>\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`The name of the table`}</li>\n\n    </ul>\n    <img src=\"/images/tutorial_10_table_name.png\" />\n    <ul>\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`The target database from the `}\n        <strong {...{\n          \"parentName\": \"li\"\n        }}>{`Database`}</strong>\n        {` drop-down menu (i.e. the one you just added above)`}</li>\n\n    </ul>\n    <img src=\"/images/tutorial_11_choose_db.png\" />\n    <ul>\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`Optionally, the database schema. If the table exists in the “default” schema (e.g. the public\nschema in PostgreSQL or Redshift), you can leave the schema field blank.`}</li>\n\n    </ul>\n    <p>{`Click on the `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Save`}</strong>\n      {` button to save the configuration:`}</p>\n    <img src=\"/images/tutorial_07_save_button.png\" />\n    <p>{`When redirected back to the list of tables, you should see a message indicating that your table was\ncreated:`}</p>\n    <img src=\"/images/tutorial_12_table_creation_success_msg.png\" />\n    <p>{`This message also directs you to edit the table configuration. We’ll edit a limited portion of the\nconfiguration now - just to get you started - and leave the rest for a more advanced tutorial.`}</p>\n    <p>{`Click on the edit button next to the table you’ve created:`}</p>\n    <img src=\"/images/tutorial_13_edit_table_config.png\" />\n    <p>{`On the resulting page, click on the `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`List Table Column`}</strong>\n      {` tab. Here, you’ll define the way you can\nuse specific columns of your table when exploring your data. We’ll run through these options to\ndescribe their purpose:`}</p>\n    <p>{`If you want users to group metrics by a specific field, mark it as `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Groupable`}</strong>\n      {`.`}</p>\n    <p>{`If you need to filter on a specific field, mark it as `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Filterable`}</strong>\n      {`.`}</p>\n    <p>{`Is this field something you’d like to get the distinct count of? Check the `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Count Distinct`}</strong>\n      {` box.`}</p>\n    <p>{`Is this a metric you want to sum, or get basic summary statistics for? The `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Sum, Min`}</strong>\n      {`, and `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Max`}</strong>\n      {`\ncolumns will help.`}</p>\n    <p>{`The `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`is temporal`}</strong>\n      {` field should be checked for any date or time fields. We’ll cover how this\nmanifests itself in analyses in a moment.`}</p>\n    <p>{`Here’s how we’ve configured fields for the weather data. Even for measures like the weather\nmeasurements (precipitation, snowfall, etc.), it’s ideal to group and filter by these values:`}</p>\n    <img src=\"/images/tutorial_14_field_config.png\" />\n    <p>{`As with the configurations above, click the `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Save`}</strong>\n      {` button to save these settings.`}</p>\n    <h3 {...{\n      \"id\": \"exploring-your-data\"\n    }}>{`Exploring your data`}</h3>\n    <p>{`To start exploring your data, simply click on the table name you just created in the list of\navailable tables:`}</p>\n    <img src=\"/images/tutorial_15_click_table_name.png\" />\n    <p>{`By default, you’ll be presented with a Table View:`}</p>\n    <img src=\"/images/tutorial_16_datasource_chart_type.png\" />\n    <p>{`Let’s walk through a basic query to get the count of all records in our table. First, we’ll need to\nchange the `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Since`}</strong>\n      {` filter to capture the range of our data. You can use simple phrases to apply\nthese filters, like “3 years ago”:`}</p>\n    <img src=\"/images/tutorial_17_choose_time_range.png\" />\n    <p>{`The upper limit for time, the `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Until`}</strong>\n      {` filter, defaults to “now”, which may or may not be what you\nwant. Look for the Metrics section under the `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`GROUP BY`}</strong>\n      {` header, and start typing “Count” - you’ll\nsee a list of metrics matching what you type:`}</p>\n    <img src=\"/images/tutorial_18_choose_metric.png\" />\n    <p>{`Select the `}\n      <em {...{\n        \"parentName\": \"p\"\n      }}>{`COUNT(`}\n        {`*`}\n        {`)`}</em>\n      {` metric, then click the green `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Query`}</strong>\n      {` button near the top of the explore:`}</p>\n    <img src=\"/images/tutorial_19_click_query.png\" />\n    <p>{`You’ll see your results in the table:`}</p>\n    <img src=\"/images/tutorial_20_count_star_result.png\" />\n    <p>{`Let’s group this by the weather_description field to get the count of records by the type of weather\nrecorded by adding it to the Group by section:`}</p>\n    <img src=\"/images/tutorial_21_group_by.png\" />\n    <p>{`and run the query:`}</p>\n    <img src=\"/images/tutorial_22_group_by_result.png\" />\n    <p>{`Let’s find a more useful data point: the top 10 times and places that recorded the highest\ntemperature in 2015. We replace weather_description with latitude, longitude and measurement_date in\nthe `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Group by`}</strong>\n      {` section:`}</p>\n    <img src=\"/images/tutorial_23_group_by_more_dimensions.png\" />\n    <p>{`And replace `}\n      <em {...{\n        \"parentName\": \"p\"\n      }}>{`COUNT(`}\n        {`*`}\n        {`)`}</em>\n      {` with `}\n      <em {...{\n        \"parentName\": \"p\"\n      }}>{`max`}\n        {`_`}\n        {`_`}\n        {`measurement_flag`}</em>\n      {`:`}</p>\n    <img src=\"/images/tutorial_24_max_metric.png\" />\n    <p>{`The `}\n      <em {...{\n        \"parentName\": \"p\"\n      }}>{`max`}\n        {`_`}\n        {`_`}\n        {`measurement_flag`}</em>\n      {` metric was created when we checked the box under `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Max`}</strong>\n      {` and next to\nthe `}\n      <em {...{\n        \"parentName\": \"p\"\n      }}>{`measurement_flag`}</em>\n      {` field, indicating that this field was numeric and that we wanted to find its\nmaximum value when grouped by specific fields.`}</p>\n    <p>{`In our case, `}\n      <em {...{\n        \"parentName\": \"p\"\n      }}>{`measurement_flag`}</em>\n      {` is the value of the measurement taken, which clearly depends on the\ntype of measurement (the researchers recorded different values for precipitation and temperature).\nTherefore, we must filter our query only on records where the `}\n      <em {...{\n        \"parentName\": \"p\"\n      }}>{`weather_description`}</em>\n      {` is equal to\n“Maximum temperature”, which we do in the `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Filters`}</strong>\n      {` section at the bottom of the explore:`}</p>\n    <img src=\"/images/tutorial_25_max_temp_filter.png\" />\n    <p>{`Finally, since we only care about the top 10 measurements, we limit our results to 10 records using\nthe Row `}\n      <em {...{\n        \"parentName\": \"p\"\n      }}>{`limit`}</em>\n      {` option under the `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Options`}</strong>\n      {` header:`}</p>\n    <img src=\"/images/tutorial_26_row_limit.png\" />\n    <p>{`We click `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Query`}</strong>\n      {` and get the following results:`}</p>\n    <img src=\"/images/tutorial_27_top_10_max_temps.png\" />\n    <p>{`In this dataset, the maximum temperature is recorded in tenths of a degree Celsius. The top value of\n1370, measured in the middle of Nevada, is equal to 137 C, or roughly 278 degrees F. It’s unlikely\nthis value was correctly recorded. We’ve already been able to investigate some outliers with\nSuperset, but this just scratches the surface of what we can do.`}</p>\n    <p>{`You may want to do a couple more things with this measure:`}</p>\n    <ul>\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`The default formatting shows values like 1.37k, which may be difficult for some users to read.\nIt’s likely you may want to see the full, comma-separated value. You can change the formatting of\nany measure by editing its config (`}\n        <strong {...{\n          \"parentName\": \"li\"\n        }}>{`Edit Table Config > List Sql Metric > Edit Metric >\nD3Format`}</strong>\n        {`)`}</li>\n\n    </ul>\n    <p>{`= Moreover, you may want to see the temperature measurements in plain degrees C, not tenths of a\ndegree. Or you may want to convert the temperature to degrees Fahrenheit. You can change the SQL\nthat gets executed against the database, baking the logic into the measure itself (`}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Edit Table\nConfig > List Sql Metric > Edit Metric > SQL Expression`}</strong>\n      {`).`}</p>\n    <p>{`For now, though, let’s create a better visualization of these data and add it to a dashboard. We can\nchange the Chart Type to “Distribution - Bar Chart”:`}</p>\n    <img src=\"/images/tutorial_28_bar_chart.png\" />\n    <p>{`Our filter on Maximum temperature measurements was retained, but the query and formatting options\nare dependent on the chart type, so you’ll have to set the values again:`}</p>\n    <img src=\"/images/tutorial_29_bar_chart_series_metrics.png\" />\n    <p>{`You should note the extensive formatting options for this chart: the ability to set axis labels,\nmargins, ticks, etc. To make the data presentable to a broad audience, you’ll want to apply many of\nthese to slices that end up in dashboards. For now, though, we run our query and get the following\nchart:`}</p>\n    <img src=\"/images/tutorial_30_bar_chart_results.png\" />\n    <h3 {...{\n      \"id\": \"creating-a-slice-and-dashboard\"\n    }}>{`Creating a slice and dashboard`}</h3>\n    <p>{`This view might be interesting to researchers, so let’s save it. In Superset, a saved query is\ncalled a `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Slice`}</strong>\n      {`.`}</p>\n    <p>{`To create a slice, click the `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Save as`}</strong>\n      {` button near the top-left of the explore:`}</p>\n    <img src=\"/images/tutorial_19_click_query.png\" />\n    <p>{`A popup should appear, asking you to name the slice, and optionally add it to a dashboard. Since we\nhaven’t yet created any dashboards, we can create one and immediately add our slice to it. Let’s do\nit:`}</p>\n    <img src=\"/images/tutorial_31_save_slice_to_dashboard.png\" />\n    <p>{`Click `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Save`}</strong>\n      {`, which will direct you back to your original query. We see that our slice and\ndashboard were successfully created:`}</p>\n    <img src=\"/images/tutorial_32_save_slice_confirmation.png\" />\n    <p>{`Let’s check out our new dashboard. We click on the `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`Dashboards`}</strong>\n      {` menu:`}</p>\n    <img src=\"/images/tutorial_33_dashboard.png\" />\n    <p>{`and find the dashboard we just created:`}</p>\n    <img src=\"/images/tutorial_34_weather_dashboard.png\" />\n    <p>{`Things seemed to have worked - our slice is here!`}</p>\n    <img src=\"/images/tutorial_35_slice_on_dashboard.png\" />\n    <p>{`But it’s a bit smaller than we might like. Luckily, you can adjust the size of slices in a dashboard\nby clicking, holding and dragging the bottom-right corner to your desired dimensions:`}</p>\n    <img src=\"/images/tutorial_36_adjust_dimensions.gif\" />\n    <p>{`After adjusting the size, you’ll be asked to click on the icon near the top-right of the dashboard\nto save the new configuration.`}</p>\n    <p>{`Congrats! You’ve successfully linked, analyzed, and visualized data in Superset. There are a wealth\nof other table configuration and visualization options, so please start exploring and creating\nslices and dashboards of your own`}</p>\n\n  </MDXLayout>;\n}\n;\nMDXContent.isMDXComponent = true;\n      "],"sourceRoot":""}