fireant.slicer package¶
Subpackages¶
- fireant.slicer.queries package
- Submodules
- fireant.slicer.queries.builder module
- fireant.slicer.queries.database module
- fireant.slicer.queries.finders module
- fireant.slicer.queries.logger module
- fireant.slicer.queries.makers module
- fireant.slicer.queries.references module
- fireant.slicer.queries.special_cases module
- Module contents
- fireant.slicer.widgets package
- Submodules
- fireant.slicer.widgets.base module
- fireant.slicer.widgets.csv module
- fireant.slicer.widgets.datatables module
- fireant.slicer.widgets.helpers module
- fireant.slicer.widgets.highcharts module
- fireant.slicer.widgets.matplotlib module
- fireant.slicer.widgets.pandas module
- fireant.slicer.widgets.reacttable module
- Module contents
Submodules¶
fireant.slicer.base module¶
-
class
fireant.slicer.base.SlicerElement(key, label=None, definition=None, display_definition=None)[source]¶ Bases:
objectThe SlicerElement class represents an element of the slicer, either a metric or dimension, which contains information about such as how to query it from the database.
-
has_display_field¶
-
fireant.slicer.dimensions module¶
-
class
fireant.slicer.dimensions.BooleanDimension(key, label=None, definition=None, hyperlink_template=None)[source]¶ Bases:
fireant.slicer.dimensions.DimensionThis is a dimension that represents a boolean true/false value. The expression should always result in a boolean value.
-
class
fireant.slicer.dimensions.CategoricalDimension(key, label=None, definition=None, hyperlink_template=None, display_values=())[source]¶ Bases:
fireant.slicer.dimensions.PatternFilterableMixin,fireant.slicer.dimensions.DimensionThis is a dimension that represents an enum-like database field, with a finite list of options to chose from. It provides support for configuring a display value for each of the possible values.
-
class
fireant.slicer.dimensions.ContinuousDimension(key, label=None, definition=None, hyperlink_template=None, default_interval=NumericInterval(size=1, offset=0))[source]¶ Bases:
fireant.slicer.dimensions.DimensionThis is a dimension that represents a field in the database which is a continuous value, such as a decimal, integer, or date/time. It requires the use of an interval which is the window over the values.
-
class
fireant.slicer.dimensions.DatetimeDimension(key, label=None, definition=None, hyperlink_template=None, default_interval=DatetimeInterval('day'))[source]¶ Bases:
fireant.slicer.dimensions.ContinuousDimensionA subclass of ContinuousDimension which reflects a date/time data type. Intervals are replaced with time intervals such as daily, weekly, annually, etc. A reference can be used to show a comparison over time such as week-over-week or month-over-month.
-
between(start, stop)[source]¶ Creates a filter to filter a slicer query.
Parameters: - start – The start time of the filter. This is the beginning of the window for which results should be included.
- stop – The stop time of the filter. This is the end of the window for which results should be included.
Returns: A slicer query filter used to filter a slicer query to results where this dimension is between the values start and stop.
-
-
class
fireant.slicer.dimensions.Dimension(key, label=None, definition=None, display_definition=None, hyperlink_template=None)[source]¶ Bases:
fireant.slicer.base.SlicerElementThe Dimension class represents a dimension in the Slicer object.
Parameters: - alias – A unique identifier used to identify the metric when writing slicer queries. This value must be unique over the metrics in the slicer.
- definition – A pypika expression which is used to select the value when building SQL queries.
- display_definition – A pypika expression which is used to select the display value for this dimension.
- hyperlink_template – A hyperlink template for constructing a URL that can link a value for a dimension to a web page. This is used by some transformers such as the ReactTable transformer for displaying hyperlinks.
-
rollup(*args, mutate=False, **kwargs)¶ Parameters: mutate – When True, overrides the immutable behavior of this decorator.
-
class
fireant.slicer.dimensions.DisplayDimension(dimension)[source]¶ Bases:
fireant.slicer.dimensions._UniqueDimensionBaseWRITEME
-
class
fireant.slicer.dimensions.PatternFilterableMixin[source]¶ Bases:
object-
definition= None¶
-
key= None¶
-
like(pattern, *patterns)[source]¶ Creates a filter to filter a slicer query.
Parameters: - pattern – A pattern to match against the dimension’s display definition. This pattern is used in the SQL query as the LIKE expression.
- patterns – Additional patterns. This is the same as the pattern argument. The function signature is intended to syntactically require at least one pattern.
Returns: A slicer query filter used to filter a slicer query to results where this dimension’s display definition matches the pattern.
-
not_like(pattern, *patterns)[source]¶ Creates a filter to filter a slicer query.
Parameters: - pattern – A pattern to match against the dimension’s display definition. This pattern is used in the SQL query as the NOT LIKE expression.
- patterns – Additional patterns. This is the same as the pattern argument. The function signature is intended to syntactically require at least one pattern.
Returns: A slicer query filter used to filter a slicer query to results where this dimension’s display definition matches the pattern.
-
pattern_definition_attribute= 'definition'¶
-
-
class
fireant.slicer.dimensions.UniqueDimension(key, label=None, definition=None, display_definition=None, hyperlink_template=None)[source]¶ Bases:
fireant.slicer.dimensions._UniqueDimensionBaseThis is a dimension that represents a field in a database which is a unique identifier, such as a primary/foreign key. It provides support for a display value field which is selected and used in the results.
-
has_display_field¶
-
like(pattern, *patterns)[source]¶ Creates a filter to filter a slicer query.
Parameters: - pattern – A pattern to match against the dimension’s display definition. This pattern is used in the SQL query as the LIKE expression.
- patterns – Additional patterns. This is the same as the pattern argument. The function signature is intended to syntactically require at least one pattern.
Returns: A slicer query filter used to filter a slicer query to results where this dimension’s display definition matches the pattern.
-
not_like(pattern, *patterns)[source]¶ Creates a filter to filter a slicer query.
Parameters: - pattern – A pattern to match against the dimension’s display definition. This pattern is used in the SQL query as the NOT LIKE expression.
- patterns – Additional patterns. This is the same as the pattern argument. The function signature is intended to syntactically require at least one pattern.
Returns: A slicer query filter used to filter a slicer query to results where this dimension’s display definition matches the pattern.
-
fireant.slicer.exceptions module¶
Bases:
Exception
fireant.slicer.filters module¶
-
class
fireant.slicer.filters.AntiPatternFilter(dimension_key, dimension_definition, pattern, *patterns)[source]¶
-
class
fireant.slicer.filters.ComparatorFilter(metric_key, metric_definition, operator, value)[source]¶
-
class
fireant.slicer.filters.PatternFilter(dimension_key, dimension_definition, pattern, *patterns)[source]¶
fireant.slicer.intervals module¶
fireant.slicer.joins module¶
fireant.slicer.metrics module¶
-
class
fireant.slicer.metrics.Metric(key, definition, label=None, precision=None, prefix=None, suffix=None)[source]¶ Bases:
fireant.slicer.base.SlicerElementThe Metric class represents a metric in the Slicer object.
Parameters: - alias – A unique identifier used to identify the metric when writing slicer queries. This value must be unique over the metrics in the slicer.
- definition – A pypika expression which is used to select the value when building SQL queries. For metrics, this query must be aggregated, since queries always use a
GROUP BYclause an metrics are not used as a group. - label – (optional) A display value used for the metric. This is used for rendering the labels within the visualizations. If not set, the alias will be used as the default.
- precision – (optional) A precision value for rounding decimals. By default, no rounding will be applied.
- prefix – (optional) A prefix for rendering labels in visualizations such as ‘$’
- suffix – A suffix for rendering labels in visualizations such as ‘€’
Parameters: mutate – When True, overrides the immutable behavior of this decorator.
fireant.slicer.operations module¶
-
class
fireant.slicer.operations.Operation[source]¶ Bases:
objectThe Operation class represents an operation in the Slicer API.
-
metrics¶
-
operations¶
-
-
class
fireant.slicer.operations.RollingOperation(arg, window, min_periods=None)[source]¶ Bases:
fireant.slicer.operations._BaseOperation-
metrics¶
-
operations¶
-
Bases:
fireant.slicer.operations._BaseOperation
fireant.slicer.references module¶
-
class
fireant.slicer.references.Reference(dimension, reference_type, delta=False, delta_percent=False)[source]¶ Bases:
object
-
class
fireant.slicer.references.ReferenceType(key, label, time_unit: str, interval: int)[source]¶ Bases:
object
-
fireant.slicer.references.reference_key(metric, reference)[source]¶ Format a metric key for a reference.
Returns: A string that is used as the key for a reference metric.
-
fireant.slicer.references.reference_label(metric, reference)[source]¶ Format a metric label for a reference.
Returns: A string that is used as the display value for a reference metric.
-
fireant.slicer.references.reference_prefix(metric, reference)[source]¶ Return the prefix for a metric displayed for a reference (or no Reference)
Returns: A string that is used as the prefix for a reference metric.
-
fireant.slicer.references.reference_suffix(metric, reference)[source]¶ Return the suffix for a metric displayed for a reference (or no Reference)
Returns: A string that is used as the suffix for a reference metric.
-
fireant.slicer.references.reference_term(reference: fireant.slicer.references.Reference, original_query: pypika.queries.QueryBuilder, ref_query: pypika.queries.QueryBuilder)[source]¶ Part of query building. Given a reference, the original slicer query, and the ref query, creates the pypika for the reference that should be selected in the reference container query.
Parameters: - reference –
- original_query –
- ref_query –
Returns: