【问题标题】:SSMS Tabular Model: create multiple partition via one single xmla scriptSSMS 表格模型:通过一个 xmla 脚本创建多个分区
【发布时间】:2019-10-10 11:03:58
【问题描述】:

我需要使用通过 SSMS 运行的 XMLA 脚本创建大量分区。
有没有办法将多个分区的创建合并到一个脚本中。

在下面的例子中,我需要执行第一个脚本。完成后,我可以打开另一个脚本并执行它。非常耗时。

如何重组代码以仅在一次执行中运行它?

脚本 1:

  "createOrReplace": {
    "object": {
      "database": "MYDB",
      "table": "MYTABLE1",      "partition": "Partition"
    },
    "partition": {
      "name": "Process_OLD",      "dataView": "full",
      "source": {
        "type": "m",
        "expression": [
          "let",
          "    Source = #\"mySQL/MY_SCHEMA\",",          "    MY_SCHEMA= Source{[Schema=\"MY_SCHEMA\"]}[Data],",
          "    AllData = MY_SCHEMA{[Name=\"MYTABLE1\"]}[Data],",          "\t#\"Filtered Rows\" = Table.SelectRows(AllData, each  [DATE]  < 20170101)",
          "in",
          "    #\"Filtered Rows\""
        ]
      }
    }
  }
}

脚本 2:

  "createOrReplace": {
    "object": {
      "database": "MYDB",
      "table": "MYTABLE2",      "partition": "Partition"
    },
    "partition": {
      "name": "Process_NEW",      "dataView": "full",
      "source": {
        "type": "m",
        "expression": [
          "let",
          "    Source = #\"mySQL/MY_SCHEMA\",",          "    MY_SCHEMA= Source{[Schema=\"MY_SCHEMA\"]}[Data],",
          "    AllData = MY_SCHEMA{[Name=\"MYTABLE1\"]}[Data],",          "\t#\"Filtered Rows\" = Table.SelectRows(AllData, each  [DATE]  >= 20170101)",
          "in",
          "    #\"Filtered Rows\""
        ]
      }
    }
  }
}

【问题讨论】:

    标签: ssms ssas partitioning ssas-tabular


    【解决方案1】:

    你可以在它周围加上一个sequence 命令:

    {
      "sequence": {
        "operations": [
          {
            "createOrReplace": {
              "object": {
                "database": "MYDB",
                "table": "MYTABLE1",
                "partition": "Partition"
              },
              "partition": {
                "name": "Process_OLD",
                "dataView": "full",
                "source": {
                  "type": "m",
                  "expression": [
                    "let",
                    "    Source = #\"mySQL/MY_SCHEMA\",",
                    "    MY_SCHEMA= Source{[Schema=\"MY_SCHEMA\"]}[Data],",
                    "    AllData = MY_SCHEMA{[Name=\"MYTABLE1\"]}[Data],",
                    "\t#\"Filtered Rows\" = Table.SelectRows(AllData, each  [DATE]  < 20170101)",
                    "in",
                    "    #\"Filtered Rows\""
                  ]
                }
              }
            }
          },
          {
            "createOrReplace": {
              "object": {
                "database": "MYDB",
                "table": "MYTABLE2",
                "partition": "Partition"
              },
              "partition": {
                "name": "Process_NEW",
                "dataView": "full",
                "source": {
                  "type": "m",
                  "expression": [
                    "let",
                    "    Source = #\"mySQL/MY_SCHEMA\",",
                    "    MY_SCHEMA= Source{[Schema=\"MY_SCHEMA\"]}[Data],",
                    "    AllData = MY_SCHEMA{[Name=\"MYTABLE1\"]}[Data],",
                    "\t#\"Filtered Rows\" = Table.SelectRows(AllData, each  [DATE]  >= 20170101)",
                    "in",
                    "    #\"Filtered Rows\""
                  ]
                }
              }
            }
          }
        ]
      }
    }
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多