DataFrameFactory.

for_exec_def

for_exec_def(exec_def: ExecutionDefinition, label_overrides: Optional[LabelOverrides], result_size_dimensions_limits: ResultSizeDimensions, result_size_bytes_limit: Optional[int], page_size: int, on_execution_submitted: Optional[Callable[[Execution], None]], optimized: bool, default=False, grand_totals_position: Literal['pinnedBottom', 'pinnedTop', 'bottom', 'top']) -> tuple[pandas.DataFrame, DataFrameMetadata]

Creates a data frame using an execution definition.

Each dimension may be sliced by multiple labels. The factory will create MultiIndex for the dataframe's row index and the columns.

Example of label_overrides structure:

.. code-block:: python

{
    "labels": {
        "local_attribute_id": {
            "title": "My new attribute label"
        ,...
    },
    "metrics": {
        "local_metric_id": {
            "title": "My new metric label"
        },...
    }
}</p>

Parameters

nametypedescription
exec_defExecutionDefinitionExecution definition.
label_overridesOptional[LabelOverrides]Label overrides for metrics and attributes.
result_size_dimensions_limitsResultSizeDimensionsA tuple containing maximum size of result dimensions.
result_size_bytes_limitOptional[int]Maximum size of result in bytes.
page_sizeintNumber of records per page.
on_execution_submittedOptional[Callable[[Execution], None]]Callback to call when the execution was submitted to the backend.
optimizedbool, default=FalseUse memory optimized accumulator if True; by default, the accumulator stores headers in memory as lists of dicts, which can consume a lot of memory for large results. Optimized accumulator stores only unique values and story only reference to them in the list, which can significantly reduce memory usage.
grand_totals_positionLiteral['pinnedBottom', 'pinnedTop', 'bottom', 'top']Position where grand totals should be placed. "pinnedBottom" and "bottom" append totals, "pinnedTop" and "top" prepend totals. Defaults to "bottom".

Returns

typedescription
tuple[pandas.DataFrame, DataFrameMetadata]Tuple[pandas.DataFrame, DataFrameMetadata]: Tuple holding DataFrame and DataFrame metadata.