Python使用Python翻译字符串表达式中的表名和列名

2024-05-18 10:16:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个用microsoftdax(数据分析表达式)编写的表达式的字符串版本列表。该语言是一种典型的查询语言。查询示例如下:

PATHCONTAINS(
Resource[rep type],
MAXX(FILTER(Resource,Resource[Rep Type]=USERPRINCIPALNAME()),
Resource[Resource_key]))

我们在Python dictionary对象中有一个新表和列名的列表,并且正在寻找一种方法来用正确的翻译更新这些表达式。以下是我们的翻译词典中“资源”表条目的结构:

{
    "Resource":{
                "table_translation":  "Ressource"
                "columns": {
                            "Rep Type": {"translation":  "type de CDS"}
                            }
                }
}

样本输出:

PATHCONTAINS(
    Ressource[type de CDS],
    MAXX(FILTER(Ressource,Ressource[type de CDS]=USERPRINCIPALNAME()),
    Ressource[Resource_key]))

问题:如何对这些表达式执行查找和替换?

约束条件:

  • 列名不区分大小写-因此您可能会在表达式中看到“Rep Type”或“Rep Type”。你知道吗
  • 不同表中出现的相同列名可能会有不同的翻译。你知道吗
  • 列的名称也可能用于表。你知道吗

Tags: key列表表达式typedefiltertranslationresource