TMSL 创建多个无法识别的分区 JSON 属性

TMSL Creating Multiple Partitions Unrecognised JSON property

大家好我正在尝试编写一个脚本以在表格数据模型中创建多个分区。我一次可以做一个,但多次操作似乎会出错,并显示以下消息。 无法识别 JSON 属性: 分区。检查路径 'create.partitions'

我正在使用以下(匿名)生成的脚本。

{
    "create": {
        "parentObject": {
            "database": "MY_TABULAR",
            "table": "MY_TABLE"
        },
        "partitions": [{
            "name": "MY_TABLE 12 2018-09",
            "source": {
                "query": "SELECT * FROM [Fact].[MY_TABLE] WHERE PlanKey = 12 AND dateKey BETWEEN 20180901 AND 20180930",
                "dataSource": "MY_DW"
            }
        },
        {
            "name": "MY_TABLE 12 2018-10",
            "source": {
                "query": "SELECT * FROM [Fact].[MY_TABLE] WHERE PlanKey = 12 AND dateKey BETWEEN 20181001 AND 20181031",
                "dataSource": "MY_DW"
            }
        },
        {
            "name": "MY_TABLE 12 2018-11",
            "source": {
                "query": "SELECT * FROM [Fact].[MY_TABLE] WHERE PlanKey = 12 AND dateKey BETWEEN 20181101 AND 20181130",
                "dataSource": "MY_DW"
            }
        }]
    }
}

据我查看参考资料可以看出这是正确的,但 SSMS 似乎不喜欢它。

您可以使用 Sequence 命令执行多个 CreateOrReplace 命令来创建分区。 Sequence 命令确实有一个可选的 maxParallelism 属性,但是只能并行刷新操作 运行(根据 MSDN)。下面的示例进一步详细说明了这一点。

{
"sequence":
{
"operations": [
{
"createOrReplace": {
"object": {
"database": "YourTabularDatabase",
"table": "YourTable",
"partition": "Partition 1"
},
"partition": {
"name": "Partition 1",
"dataView": "full",
"source": {
"query": "SELECT * FROM [dbo].[SourceTable] where DateKey < 20180901",
        "dataSource": "YourDataSource"
          }   
      }  
   }  
        },
    {
  "createOrReplace": {
    "object": {
      "database": "YourTabularDatabase",
      "table": "YourTable",
      "partition": "Partition 2"
    },
    "partition": {
      "name": "Partition 2,
      "source": {
 "query": "SELECT * FROM [dbo].[SourceTable] where DateKey >= 20180901",
 "dataSource": "YourDataSource"
            }   
        }   
       }    
      }] 
 } 
}