batch_query

JournalTemplate.batch_query(query, show_detail=False)

批量查询日记账数据

参数
  • query (QueryBuilder) – QueryBuilder类的对象,表示了筛选条件全信息

  • show_detail (bool) – 在涉及维度筛选时,是否包括其下明细,为True则包括

返回类型

DataFrame

返回

日记账查询的结果DataFrame

示例

  1. 初始化

    from deepfos.element.journal_template import JournalTemplate
    jt = JournalTemplate('Journal_elimadj')
    t = jt.table
    
  2. 在不提供列信息时,等同于查询所有列,返回值将包括符合条件的所有非全空列数据

    # 查询account字段等于1001001且ICP字段不等于1.0的所有非全空列数据
    # 以period倒序,posting_status倒序的方式排序
    q = jt.new_query()
    data = jt.batch_query(
            q.where([
                    t.account.eq("1001001"),
                    t.ICP.ne("1.0"),
                    ])
             .order_by([t.period.desc(), t.posting_status.desc()])
    )
    
  3. 在提供列信息时,将查询指定列

    # 查询ICP字段等于HC且period大于2的posting_status、invalid_status、data_status、remark列非全空列数据
    q = jt.new_query()
    data = jt.batch_query(
            q.columns([t.posting_status, t.invalid_status, t.data_status, t.remark])
             .where([
                    t.ICP.eq("HC"),
                    t.period.gt("2"),
                    ]
             )
    )
    

参见

new_query,如果希望返回原始数据,可以使用 batch_query_raw