Skip to main content

ReportAssembler

Struct ReportAssembler 

Source
pub struct ReportAssembler { /* private fields */ }
Expand description

Builder for constructing a ProfileReport.

Implementations§

Source§

impl ReportAssembler

Source

pub fn new(source: DataSource, execution: ExecutionMetadata) -> Self

Create a new assembler with required source and execution metadata.

Source

pub fn columns(self, columns: Vec<ColumnProfile>) -> Self

Set the column profiles for this report.

Source

pub fn with_quality_data(self, data: HashMap<String, Vec<String>>) -> Self

Provide sample data for quality metric calculation.

Source

pub fn with_confidence(self, confidence: MetricConfidence) -> Self

Override the default metric confidence level.

Source

pub fn skip_quality(self) -> Self

Explicitly skip quality metric calculation because the caller did not ask for it.

Use skip_quality_no_data when quality was wanted but no sample is available. An analyzed empty source supplies an empty sample through with_quality_data.

Source

pub fn skip_quality_no_data(self) -> Self

Skip quality metric calculation because no sample is available. An analyzed empty source must instead supply an empty quality sample; that produces an assessment with no assessable dimensions (#723).

A caller that already deselected quality keeps that answer, and only that one. Not asking is the more specific reason and does not stop being true when the sample is also unavailable. Every other reason is replaced: a projection withholds dimensions that could have been measured, which says nothing once no sample is available at all.

Source

pub fn with_requested_dimensions(self, dims: Vec<QualityDimension>) -> Self

Set the quality dimensions to compute.

Source

pub fn with_semantic_hints(self, hints: SemanticHints) -> Self

Set semantic hints used by quality metrics.

Source

pub fn with_analysis_options(self, options: &AnalysisOptions) -> Self

Apply the caller’s analysis selection: requested dimensions, semantic hints, column projection, and whether quality is computed at all.

Callers still pass their quality sample with with_quality_data; this decides whether it is used. Deselecting the quality pack leaves the report with no quality object rather than an assessment with every dimension absent — “not analyzed” and “analyzed, nothing found” are different answers.

Source

pub fn with_exact_value_hint_bindings( self, bindings: Vec<SemanticHintBinding>, ) -> Self

Provide full-stream evidence for value-driven semantic hints.

Streaming engines should pass their bounded-memory accumulator output; it supersedes evidence recomputed from the retained quality sample.

Source

pub fn with_row_duplicates(self, summary: Option<RowDuplicateSummary>) -> Self

Provide full-stream row-duplicate counts from an engine’s row tracker; they supersede the sample-based duplicate scan.

Source

pub fn with_row_completeness( self, summary: Option<RowCompletenessSummary>, ) -> Self

Provide full-stream complete-record counts from an engine’s row tracker. Without them complete_records_ratio can only be bounded from below, since per-column null totals cannot tell whether two nulls fell in the same record.

Source

pub fn build(self) -> ProfileReport

Build the final ProfileReport.

This does not fail. A quality computation that returns an error leaves the report without an assessment, exactly as a run that never asked for one does, so the report records which of the two happened in ProfileReport::quality_status rather than discarding the column profiles that did compute.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V