Repository: evidentlyai/evidently
Issue: How can get data quality report with single dataset?
Root cause: Documentation Deficiency

Hi,
I have been trying to generate the data quality report by using evidently using single dataset. I have been passing my single dataset in "current_data" argument while preparing the report and it was throwing error that "referenece_data" is not passed. Can you please help me how i can generate all the data quality reports using my single dataset? 
If you can also refer  me to some examples notebook it would be great.
Also, I want to add few more additional checks into the report apart from default checks how i can do that?

<img width="715" alt="Screenshot 2022-12-16 at 4 20 29 PM" src="https://user-images.githubusercontent.com/49562460/208082528-a82e1a12-b866-4ed4-8c76-e05b2f6d9894.png">




Hi @karndeepsingh, re the single dataset error: could you share the Evidently version you are using?

If you want to create a custom Report to add additional checks, you can simply list the metrics you want to include in your report. You can combine presets and metrics in a single list:

```
dataset_report = Report(metrics=[
    DataQualityPreset(),
    DatasetDriftMetric(),
    DatasetMissingValuesMetric()
])
```

You can use the example notebook with All Metrics to see what's there:
https://github.com/evidentlyai/evidently/tree/main/examples/sample_notebooks 

Or use a reference table: https://docs.evidentlyai.com/reference/all-metrics

(It works the same way for Tests - this could be a more convenient option compared to Reports if you want to run checks in an automated fashion and only react when some tests fail. )

@karndeepsingh To generate the report for a single dataset, specify the reference data as None:

```
data_quality_report = Report(metrics=[
    DataQualityPreset()
])

data_quality_report.run(current_data=adult_cur, reference_data = None, column_mapping=None)
data_quality_report
```

> @karndeepsingh To generate the report for a single dataset, specify the reference data as None:
> 
> ```
> data_quality_report = Report(metrics=[
>     DataQualityPreset()
> ])
> 
> data_quality_report.run(current_data=adult_cur, reference_data = None, column_mapping=None)
> data_quality_report
> ```

Thankyou so much @elenasamuylova 
  How Can I put DataQualityPreset() And DataQualityTestPreset() into a single dashboard and deploy this dashboard through an public API?

Also, I would like to add new metrics to the dashboard and present it as visualization, How can I do that? Please help me.

Thanks

@karndeepsingh 

- **Combining Reports and Test Suites**. I am afraid you cannot currently combine Test Suites and Reports in a single HTML output. We see these as alternative interfaces (Reports are best for visual exploration and debugging and sampled/smaller data, Test Suites for pipeline checks and using with larger datasets) so they exist next to each other. For example, you can run Test Suites to perform checks orchestrated by a tool like Airflow, and if some tests fails and you want to explore e.g. model performance in detail, you'd generate the Report. 
 
Would be interesting to understand your use case: could you share more on how you are using/want to use Evidently? 

- **Serving Reports**. There is no hosting functionality provided by Evidently, but you can do that externally. For example, we know some users deploy it via Streamlit (and serve Test Suites and Reports in different tabs), or deploy via FastAPI (here is an example https://duarteocarmo.com/blog/monitoring-ml-models-fastapi-evidently). We hope to add some examples here soon or welcome community contributions :)

- **Custom Metrics**. If you want to add a custom metric that does not exist in the library, you need to create it on your own and define the visualization using Plotly. Here is an example Colab notebook: https://colab.research.google.com/drive/1kZ6RlbKfDiEoRkULnfPh_MbUPscB_iP_?usp=sharing

> 

Thanks @elenasamuylova. It was informative. My objective is to just create a data quality dashboard and how I can achieve it using Evidently that would be great help !

Thanks

How regularly would you want to update the dashboard @karndeepsingh ?

> How regularly would you want to update the dashboard @karndeepsingh 

Right now, I have been looking for Monthly updates. May be later I can do it on daily basis.