В классе GetDataChunk для вызова генератора, подгружающего мультисферу блоками строк (чанками), используются методы load_sphere_chunk и load_sphere_chunk_v2. Аналогичный метод есть и в классе BusinessLogic.

Описание метода load_sphere_chunk

load_sphere_chunk(
        units: int = UNITS_LOAD_DATA_CHUNK,
        convert_type: bool = False,
        default_value: Any = None,
        convert_empty_values: bool = True,
        show_full: bool = False,
    ) -> dict:

Перед вызовом метода все элементы размерностей в мультисфере должны быть развернуты, иначе будут возвращаться неполные данные.

В методе используются следующие аргументы:

АргументОписание
units: (int)Количество подгружаемых строк. Ожидается целое положительное число больше 0. Значение по умолчанию — 1000.
convert_type: (bool)Нужно ли преобразовывать данные из типов, определенных Polymatica Analytics, к Python-типам. Значение по умолчанию — False (не нужно).
default_value: (Any)Аргумент актуален только при convert_type = True. Определяет значение по умолчанию, использующееся в случае, если не удалось преобразовать исходные данные к нужному типу.
Значение аргумента по умолчанию — None.
convert_empty_values: (bool)Аргумент актуален только при convert_type = True. Определяет, нужно ли преобразовывать строки формата «(Пустой)»/«(Empty)» к значению в default_value.
Строки, состоящие только из одних пробелов, также считаются пустыми. Значение аргумента по умолчанию — True (преобразовывать нужно).
show_full: (bool)

Отобразить таблицу вместе со строкой заголовков, с указанием порядковых номеров столбцов, начиная с 0, а также со строками и столбцами промежуточных и общих итогов.

При наличии в мультисфере вынесенных вверх размерностей, нужно использовать show_full = True.

Пример использования метода:

gen=session2.load_sphere_chunk(
        units = 100,        
        show_full = True
    )
for row_data in gen:
                print(row_data)

или

gen=session2.load_sphere_chunk(
        units = 50,
        convert_type = True,
        default_value = "***",
        convert_empty_values = True,
        show_full = False
    )
for row_data in gen:
                print(row_data)

В результате использования метода возвращаются словари со следующей структурой:

{порядковый номер столбца: имя столбца} //при show_full = True
{имя столбца: значение столбца}

Пример ответа:

{0: 'Тип карты', 1: 'Группа карт', 2: 'Депозит', 3: 'Оплата', 4: 'Комиссия', 5: 'Итоговая сумма'}
{'Тип карты': 'CREDIT', 'Группа карт': 'MasterCard Electronic', 'Депозит': 90511910.04997635, 'Оплата': 383355182.6405697, 'Комиссия': 16896753.458479982, 'Итоговая сумма': 473867092.69054604}
{'Тип карты': 'CREDIT', 'Группа карт': 'MasterCard Gold', 'Депозит': 687735467.219451, 'Оплата': 5169938253.766971, 'Комиссия': 162840841.17136005, 'Итоговая сумма': 5857673720.986422}
{'Тип карты': 'CREDIT', 'Группа карт': 'MasterCard Platinum', 'Депозит': 0.0, 'Оплата': 268978.7801055908, 'Комиссия': 5469.575488932431, 'Итоговая сумма': 268978.7801055908}
{'Тип карты': 'CREDIT', 'Группа карт': 'MasterCard Standard', 'Депозит': 1874098822.511719, 'Оплата': 10799352582.421396, 'Комиссия': 430297255.0884404, 'Итоговая сумма': 12673451404.933115}
{'Тип карты': 'CREDIT', 'Группа карт': 'MasterCard Unembossed', 'Депозит': 550723937.3894565, 'Оплата': 7901085674.189674, 'Комиссия': 308062515.9580696, 'Итоговая сумма': 8451809611.57913}
{'Тип карты': 'CREDIT', 'Группа карт': 'Visa Credit Gold', 'Депозит': 38080726.670410156, 'Оплата': 646081514.042684, 'Комиссия': 26211157.216829628, 'Итоговая сумма': 684162240.7130941}
{'Тип карты': '***', 'Группа карт': '***', 'Депозит': 3241150863.841013, 'Оплата': 24900082185.8414, 'Комиссия': 944313992.4686686, 'Итоговая сумма': 28141233049.68241}
{'Тип карты': 'DEBIT', 'Группа карт': 'MasterCard Gold (Currency)', 'Депозит': 11452805.000232697, 'Оплата': 587118285.6133777, 'Комиссия': 11483763.810247308, 'Итоговая сумма': 598571090.6136104}
{'Тип карты': 'DEBIT', 'Группа карт': 'MasterCard Standard', 'Депозит': 43960487.30132246, 'Оплата': 3432102298.378006, 'Комиссия': 64534503.28736727, 'Итоговая сумма': 3476062785.6793284}
{'Тип карты': 'DEBIT', 'Группа карт': 'MasterCard Unembossed (No name)', 'Депозит': 5848005.38028717, 'Оплата': 2968930226.9996653, 'Комиссия': 58216140.75267454, 'Итоговая сумма': 2974778232.3799524}
{'Тип карты': 'DEBIT', 'Группа карт': 'VISA Business', 'Депозит': 0.0, 'Оплата': 9558645.366062164, 'Комиссия': 123841.61024386808, 'Итоговая сумма': 9558645.366062164}
{'Тип карты': 'DEBIT', 'Группа карт': 'VISA Classic', 'Депозит': 228571991.47264713, 'Оплата': 7186265193.577057, 'Комиссия': 129641016.00671463, 'Итоговая сумма': 7414837185.049705}
{'Тип карты': 'DEBIT', 'Группа карт': 'VISA Electron', 'Депозит': 403486349.5223789, 'Оплата': 3698750191.2198524, 'Комиссия': 66304545.55739961, 'Итоговая сумма': 4102236540.7422314}
{'Тип карты': 'DEBIT', 'Группа карт': 'VISA Gold', 'Депозит': 76842601.98991394, 'Оплата': 2707461954.531196, 'Комиссия': 49891985.66047774, 'Итоговая сумма': 2784304556.52111}
{'Тип карты': 'DEBIT', 'Группа карт': 'Virtual Card', 'Депозит': 500.0, 'Оплата': 77928740.0, 'Комиссия': 1558235.399998784, 'Итоговая сумма': 77929240.0}
{'Тип карты': 'DEBIT', 'Группа карт': 'Visa Debit Platinum', 'Депозит': 634000.0, 'Оплата': 32497799.512895346, 'Комиссия': 503396.7402038872, 'Итоговая сумма': 33131799.512895346}
{'Тип карты': '***', 'Группа карт': '***', 'Депозит': 770796740.6667824, 'Оплата': 20700613335.198112, 'Комиссия': 382257428.82532763, 'Итоговая сумма': 21471410075.864895}
{'Тип карты': '***', 'Группа карт': '***', 'Депозит': 4011947604.5077953, 'Оплата': 45600695521.03951, 'Комиссия': 1326571421.2939963, 'Итоговая сумма': 49612643125.5473}

Описание метода load_sphere_chunk_v2

load_sphere_chunk_v2(
        units: int = UNITS_LOAD_DATA_CHUNK,
    ) -> Tuple[list, list, list, Callable, dict]:

В методе используется аргумент units:

АргументОписание
units: (int)Количество подгружаемых строк. Ожидается целое положительное число больше 0. Значение по умолчанию — 1000.

Пример использования метода:

session2.load_sphere_chunk_v2(units = 100)

Метод возвращает список верхних размерностей, список левых размерностей, список заголовков, функцию-генератор для выгрузки данных мультисферы блоками и словарь с дополнительной информацией. Данные выгружаются с типами. Формат ячейки с данными: {"value": <value (str)>, "type": <тип (int)>}. Словарь с дополнительной информацией имеет следующую структуру:

{
                "data_cols_count": <количество столбцов с данными>,
                "data_rows_count": <количество строк с данными>,
                "inter_total_hidden_dimensions": <идентификаторы размерностей со скрытыми подытогами>,
                "show_global_horz_total": <отображаются ли совокупные итоги по горизонтали>,
                "show_global_vert_total": <отображаются ли совокупные итоги по вертикали>,
            }

Пример ответа:

([],
 ['Тип карты', 'Группа карт'],
 [[{'value': None, 'type': 5, 'fact_id': None},
   {'value': None, 'type': 1, 'fact_id': None},
   {'value': None, 'type': 1, 'fact_id': None},
   {'value': None, 'type': 1, 'fact_id': None}],
  [{'value': 'Депозит', 'type': 4, 'fact_id': 'be5f465d'},
   {'value': 'Оплата', 'type': 4, 'fact_id': 'e5e5306c'},
   {'value': 'Комиссия', 'type': 4, 'fact_id': 'b106c0a0'},
   {'value': 'Итоговая сумма', 'type': 4, 'fact_id': '8ce6384e'}]],
 <function polymatica.business_scenarios.GetDataChunk.load_sphere_chunk_v2.<locals>.load_data_by_chunk() -> Tuple[list, list]>,
 {'data_cols_count': 4,
  'data_rows_count': 18,
  'inter_total_hidden_dimensions': [],
  'show_global_horz_total': True,
  'show_global_vert_total': True})