class_docstr: Display aggregate dataset statistics and dataset-level information.
  
  The report is a composite view of combination of performed analyses: :py:class:`~autogluon.eda.analysis.dataset.DatasetSummary`,
  :py:class:`~autogluon.eda.analysis.dataset.RawTypesAnalysis`, :py:class:`~autogluon.eda.analysis.dataset.VariableTypeAnalysis`,
  :py:class:`~autogluon.eda.analysis.dataset.SpecialTypesAnalysis`, :py:class:`~autogluon.eda.analysis.missing.MissingValuesAnalysis`.
  The components can be present in any combination (assuming their dependencies are satisfied).
  
  The report requires at least one of the analyses present to be rendered.
  
  Parameters
  ----------
  headers: bool, default = False
      if `True` then render headers
  namespace: str, default = None
      namespace to use; can be nested like `ns_a.ns_b.ns_c`
   sort_by: Optional[str], default = None
      column to sort the resulting table
   sort_asc: bool, default = True
      if `sort_by` provided, then if sorting should ascending or descending
  
  Examples
  --------
  >>> import autogluon.eda.analysis as eda
  >>> import autogluon.eda.visualization as viz
  >>> import autogluon.eda.auto as auto
  >>> state = auto.analyze(
  >>>     train_data=..., label=..., return_state=True,
  >>>     anlz_facets=[
  >>>         eda.dataset.DatasetSummary(),
  >>>         eda.dataset.RawTypesAnalysis(),
  >>>         eda.dataset.VariableTypeAnalysis(),
  >>>         eda.dataset.SpecialTypesAnalysis(),
  >>>         eda.missing.MissingValuesAnalysis(),
  >>>     ],
  >>>     viz_facets=[
  >>>         viz.dataset.DatasetStatistics()
  >>>     ]
  >>> )
  
  See Also
  --------
  :py:class:`~autogluon.eda.analysis.dataset.DatasetSummary`
  :py:class:`~autogluon.eda.analysis.dataset.RawTypesAnalysis`
  :py:class:`~autogluon.eda.analysis.dataset.VariableTypeAnalysis`
  :py:class:`~autogluon.eda.analysis.dataset.SpecialTypesAnalysis`
  :py:class:`~autogluon.eda.analysis.missing.MissingValuesAnalysis`
code: def _merge_analysis_facets(ds: str, state: AnalysisState):
      stats: Dict[str, Any] = {}
      if "dataset_stats" in state:
          stats = state.dataset_stats[ds].copy()
      if "missing_statistics" in state:
          stats = {
              **stats,
              **{
                  f"missing_{k}": v
                  for k, v in state.missing_statistics[ds].items()
                  if k in ["count", "ratio"]
              },
          }
      if "raw_type" in state:
          stats["raw_type"] = state.raw_type[ds]
      if "variable_type" in state:
          stats["variable_type"] = state.variable_type[ds]
      if "special_types" in state:
          stats["special_types"] = state.special_types[ds]
      return stats
  
imports: from typing import Any, Dict, List, Optional
  import pandas
  from pandas import DataFrame
  from ..state import AnalysisState
  from .base import AbstractVisualization
  from .jupyter import JupyterMixin
label_desc: Use image node_id 4 for calling the DatasetStatistics obj's underlying member method code with example usage: obj._merge_analysis_facets(ds, state) and returns: stats