Динамически создавать зависимый столбец на основе других значений столбца в тире - PullRequest
0 голосов
/ 25 марта 2020

Ребята, у меня есть эта таблица в да sh, следующие столбцы - это выпадающие столбцы Код причины, Подготовка и Перезапись. Основываясь на их значениях, я хочу динамически создавать значения в столбце Final Staging в формате da sh

https://i.stack.imgur.com/MDCMb.png

Вот мой код

app.layout = html.Div([
dash_table.DataTable(
    id='table-dropdown',
    data=staging.to_dict('records'),
    columns=[
        {'id': 'customer_id', 'name': 'Customer ID'},
        {'id': 'booking_date', 'name': 'Booking Date'},
        {'id': 'oustanding_balance_(currency)',
         'name': 'Outstanding Balance(currency)'},
        {'id': 'booking_date', 'name': 'Booking Date'},
        {'id': 'past_due_days', 'name': 'Past Due Days'},
        {'id': 'segment', 'name': 'Segment'},
        {'id': 'contract_rate_%', 'name': 'Contract Rate(%)'},
        {'id': 'fee/commission_rate_%', 'name': 'Fee/Commission Rate(%)'},
        {'id': 'collateral_(force_sale_value_(currency)',
         'name': 'Collateral(currency)'},
        {'id': 'collateral_(type)', 'name': 'Collateral(Type)'},
        {'id': 'maturity_date', 'name': 'Maturity Date'},
        {'id': 'repayment_years', 'name': 'Repayment(Years)'},
        {'id': 'quantitative_assessment', 'name': 'Quantitative Assessment'},
        {'id': 'reason_code',
            'name': 'Reason Code', 'presentation': 'dropdown'},
        {'id': 'staging',
            'name': 'Staging', 'presentation': 'dropdown'},
        {'id': 'overwrite',
            'name': 'Overwrite', 'presentation': 'dropdown'},
        {'id': 'final_staging', 'name': 'Final Staging'},
    ],

    editable=True,
    dropdown={
        'reason_code': {
            'options': [
                {'label': i, 'value': i}
                for i in staging['reason_code'].unique()
            ]
        },
        'staging': {
            'options': [
                {'label': i, 'value': i}
                for i in staging['staging'].unique()
            ]
        },
        'overwrite': {
            'options': [
                {'label': i, 'value': i}
                for i in staging['overwrite'].unique()
            ]
        }
    }
),
html.Div(id='table-dropdown-container')

])

...