def METHOD_NAME(get_dataframe):
    """
    Tests disaggregation by multiple labels
    """
    locations = locate_subscribers(
        "2016-01-01",
        "2016-01-02",
        spatial_unit=make_spatial_unit("admin", level=3),
        method="most-common",
    )
    metric = SubscriberHandsetCharacteristic(
        "2016-01-01", "2016-01-02", characteristic="hnd_type"
    ).join(
        SubscriberHandsetCharacteristic(
            "2016-01-01", "2016-01-02", characteristic="model"
        ),
        on_left="subscriber",
        left_append="_hnd_type",
        right_append="_model",
    )
    labelled = LabelledSpatialAggregate(
        locations=locations,
        labels=metric,
        label_columns=["value_hnd_type", "value_model"],
    )
    df = get_dataframe(labelled)
    assert all(
        df.columns == ["pcod", "value_hnd_type_label", "value_model_label", "value"]
    )
    assert all(df.columns == labelled.column_names)
    assert len(df) > 300