使用powershell自动化Analysis services表分区

使用powershell自动化Analysis services表分区,powershell,ssas,xmla,Powershell,Ssas,Xmla,您好,我有AnalysisServices中的表列表,我必须每周手动创建表分区,比如7天。。我必须手动转到分区并更改日期范围,然后处理分区,然后执行。我想使用powershell自动化此过程。下面是我的PS代码片段,我正试图用它实现自动化,但我想了解如何读取partitioncreate命令 function Invoke-SSASCreatePartition { [CmdletBinding(DefaultParameterSetName = "conn")]

您好,我有AnalysisServices中的表列表,我必须每周手动创建表分区,比如7天。。我必须手动转到分区并更改日期范围,然后处理分区,然后执行。我想使用powershell自动化此过程。下面是我的PS代码片段,我正试图用它实现自动化,但我想了解如何读取partitioncreate命令

function Invoke-SSASCreatePartition
{
    [CmdletBinding(DefaultParameterSetName = "conn")]
    param(              
        [Parameter(Mandatory=$true, ParameterSetName = "connStr")] [string] $connectionString,
        [Parameter(Mandatory=$true, ParameterSetName = "conn")] [Microsoft.AnalysisServices.AdomdClient.AdomdConnection] $connection,
        [Parameter(Mandatory=$true)] [string] $database,
        [Parameter(Mandatory=$true)] [string] $table,
        [Parameter(Mandatory=$true)] [string] $partition,
        [Parameter(Mandatory=$true)] [string] $query,
        [Parameter(Mandatory=$true)] [string] $datasource
        )           

   $cmdText = "
    {
        `"createOrReplace`": {
            `"object`": {
            `"database`": `"$database`",
            `"table`": `"$table`",
            `"partition`": `"$partition`"
            },
            `"partition`": {
                `"name`": `"$partition`",
                `"source`": {
                    `"query`": `"$query`",
                    `"dataSource`": `"$datasource`"
                }
            }
        }
    }"

    if ($PsCmdlet.ParameterSetName -eq "connStr")
    {   
        $connection = Get-SSASConnection -connectionString $connectionString -open                                                          
    }

    Invoke-SSASCommand -connection $connection -commandtext $cmdText

    Write-Verbose "Partition $partition successfully (re)created!"      
}
另外,我在下面附加了partition create命令:

{
  "createOrReplace": {
    "object": {
      "database": "New_with_date_col",
      "table": "GPS Extraction-MUV-OSD Targets - Fact",
      "partition": "GPS Extraction-MUV-OSD Targets - 2020Q206W1"
    },
    "partition": {
      "name": "GPS Extraction-MUV-OSD Targets - 2020Q206W1",
      "mode": "import",
      "dataView": "full",
      "source": {
        "type": "m",
        "expression": [
          "let",
          "    Source = SapBusinessWarehouse.Cubes(\"E9Esap.nestle.com\", \"E9E\", \"102\", \"USERS\", [Implementation=\"2.0\", LanguageCode=\"EN\"]),",
          "    Y6TP1CP00 = Source{[Name=\"Y6TP1CP00\"]}[Data],",
          "    #\"Y6TP1CP00/Y6TP1CP00QB_MUV_OSDFM\" = Y6TP1CP00{[Id=\"Y6TP1CP00/Y6TP1CP00QB_MUV_OSDFM\"]}[Data],",
          "    #\"Added Items\" = Cube.Transform(#\"Y6TP1CP00/Y6TP1CP00QB_MUV_OSDFM\",",
          "        {",
          "            {Cube.ApplyParameter, \"[YCALDAY]\", {#date(2020, 6, 1), #date(2020, 6, 7)}},",
          "            {Cube.AddAndExpandDimensionColumn, \"[0PLANT]\", {\"[0PLANT].[LEVEL01]\"}, {\"Plant.Plant Level 01\"}},",
          "            {Cube.AddAndExpandDimensionColumn, \"[YDATEFLDS]\", {\"[YDATEFLDS].[LEVEL01]\"}, {\"Cal Date.Cal Date Level 01\"}},",
          "            {Cube.AddAndExpandDimensionColumn, \"[0COMPONENT]\", {\"[0COMPONENT].[LEVEL01]\"}, {\"Component.Component Level 01\"}},",
          "            {Table.AddColumn, \"Component.Component Level 01.Key\", each Cube.AttributeMemberProperty([Component.Component Level 01], \"[20COMPONENT]\")},",
          "            {Cube.AddAndExpandDimensionColumn, \"[YCOMPTYPE]\", {\"[YCOMPTYPE].[LEVEL01]\"}, {\"Component Mat Type.Component Mat Type Level 01\"}},",
          "            {Cube.AddAndExpandDimensionColumn, \"[YCOMPLANT__0VAL_CLASS]\", {\"[YCOMPLANT__0VAL_CLASS].[LEVEL01]\"}, {\"Component Val. class.Component Val. class Level 01\"}},",
          "            {Cube.AddAndExpandDimensionColumn, \"[YGPSORG]\", {\"[YGPSORG].[LEVEL01]\"}, {\"GPS Org Structure.GPS Org Structure Level 01\"}},",
          "            {Cube.AddAndExpandDimensionColumn, \"[YKPI_ID]\", {\"[YKPI_ID].[LEVEL01]\"}, {\"KPI ID.KPI ID Level 01\"}},",
          "            {Cube.AddAndExpandDimensionColumn, \"[0MAT_PLANT]\", {\"[0MAT_PLANT].[LEVEL01]\"}, {\"Mat. Plant View.Mat. Plant View Level 01\"}},",
          "            {Cube.AddAndExpandDimensionColumn, \"[YGTDATTYP]\", {\"[YGTDATTYP].[LEVEL01]\"}, {\"Report Source.Report Source Level 01\"}},",
          "            {Cube.AddAndExpandDimensionColumn, \"[YCOMPLANT]\", {\"[YCOMPLANT].[LEVEL01]\"}, {\"Comp. Plant View.Comp. Plant View Level 01\"}},",
          "            {Table.AddColumn, \"Comp. Plant View.Comp. Plant View Level 01.Key\", each Cube.AttributeMemberProperty([Comp. Plant View.Comp. Plant View Level 01], \"[2YCOMPLANT]\")},",
          "            {Table.AddColumn, \"Mat. Plant View.Mat. Plant View Level 01.Key\", each Cube.AttributeMemberProperty([Mat. Plant View.Mat. Plant View Level 01], \"[20MAT_PLANT]\")},",
          "            {Cube.AddAndExpandDimensionColumn, \"[0MATERIAL]\", {\"[0MATERIAL].[LEVEL01]\"}, {\"Material.Material Level 01\"}},",
          "            {Cube.AddAndExpandDimensionColumn, \"[0PRODORDER]\", {\"[0PRODORDER].[LEVEL01]\"}, {\"Order.Order Level 01\"}},",
          "            {Table.AddColumn, \"Order.Order Level 01.Key\", each Cube.AttributeMemberProperty([Order.Order Level 01], \"[20PRODORDER]\")},",
          "            {Cube.AddAndExpandDimensionColumn, \"[0WORKCENTER]\", {\"[0WORKCENTER].[LEVEL01]\"}, {\"Resource.Resource Level 01\"}},",
          "            {Table.AddColumn, \"Resource.Resource Level 01.Key\", each Cube.AttributeMemberProperty([Resource.Resource Level 01], \"[20WORKCENTER]\")},",
          "            {Table.AddColumn, \"Material.Material Level 01.Key\", each Cube.AttributeMemberProperty([Material.Material Level 01], \"[20MATERIAL]\")},",
          "            {Cube.AddMeasureColumn, \"Actual Usage (Curr)\", \"[Measures].[006NZJEJZ7LXJOCPWDKBU9EII]\"},",
          "            {Cube.AddMeasureColumn, \"Material Usage Variance %\", \"[Measures].[006NZJEJZ7LVT1WSCN71XO9IA]\"},",
          "            {Cube.AddMeasureColumn, \"Material Usage Variance % Target\", \"[Measures].[006NZJEJZ7LVT1WSCN71XOSGY]\"},",
          "            {Cube.AddMeasureColumn, \"Material Usage Variance % Variance\", \"[Measures].[006NZJEJZ7LVT1WSNQQSCW4LI]\"},",
          "            {Cube.AddMeasureColumn, \"Material Usage Variance (Curr)\", \"[Measures].[006NZJEJZ7LVT1WUIJOVK8BK8]\"},",
          "            {Cube.AddMeasureColumn, \"Material Usage Variance (Curr) % Variance\", \"[Measures].[006NZJEJZ7LVT1WUWT73W1ERS]\"},",
          "            {Cube.AddMeasureColumn, \"Material Usage Variance (Curr) Target\", \"[Measures].[006NZJEJZ7LXJJGU3ZI788CPH]\"},",
          "            {Cube.AddMeasureColumn, \"PO Usage (Curr)\", \"[Measures].[006NZJEJZ7LXJOCRQT8G8Q3RA]\"},",
          "            {Cube.AddMeasureColumn, \"Zero Loss Material Variance %\", \"[Measures].[006NZKI075C844FPO03I2C3H3]\"},",
          "            {Cube.AddMeasureColumn, \"Zero Loss Material Variance %  (%) Variance\", \"[Measures].[006NZKI075C844FQPB4ZLC8ME]\"},",
          "            {Cube.AddMeasureColumn, \"Zero Loss Material Variance % Target\", \"[Measures].[006NZJEJZ7LVT2JV5GKAV1B4E]\"},",
          "            {Cube.AddMeasureColumn, \"Zero Loss Material Variance (Curr)\", \"[Measures].[006NZKI075C844FN4Q49ZTWZE]\"},",
          "            {Cube.AddMeasureColumn, \"Zero Loss Material Variance (Curr) (%) Variance\", \"[Measures].[006NZKI075C844FQ2P2N915IC]\"},",
          "            {Cube.AddMeasureColumn, \"Zero Loss Material Variance (Curr) Target\", \"[Measures].[006NZJEJZ7LXJJGSD9W3AVF7R]\"},",
          "            {Cube.AddMeasureColumn, \"Zero Loss Usage (Curr)\", \"[Measures].[006NZJEJZ7LXJOCOBOVFTVIX8]\"},",
          "            {Cube.AddMeasureColumn, \"ZLMV% at Factory Level\", \"[Measures].[006NZKI075C884VWXWSJR7AMM]\"},",
          "            {Cube.AddMeasureColumn, \"ZLMV% at Factory Level Target\", \"[Measures].[006NZKI075C884VXZAQEEV0EQ]\"},",
          "            {Cube.AddMeasureColumn, \"ZLMV% at Factory Level Variance\", \"[Measures].[006NZKI075C884VXZAQEEVJDE]\"},",
          "            {Cube.AddAndExpandDimensionColumn, \"[YALTCTYPE]\", {\"[YALTCTYPE].[LEVEL01]\"}, {\"Comp. Alt. Mat. Type.Comp. Alt. Mat. Type Level 01\"}},",
          "            {Cube.AddAndExpandDimensionColumn, \"[0COMP_CODE]\", {\"[0COMP_CODE].[LEVEL01]\"}, {\"Company Code.Company Code Level 01\"}},",
          "            {Cube.AddAndExpandDimensionColumn, \"[0CURRENCY]\", {\"[0CURRENCY].[LEVEL01]\"}, {\"Currency.Currency Level 01\"}},",
          "            {Cube.AddAndExpandDimensionColumn, \"[YMAT_COMP]\", {\"[YMAT_COMP].[LEVEL01]\"}, {\"Material (comp view).Material (comp view) Level 01\"}},",
          "            {Cube.AddAndExpandDimensionColumn, \"[0LOGSYS]\", {\"[0LOGSYS].[LEVEL01]\"}, {\"Source System.Source System Level 01\"}},",
          "            {Cube.AddAndExpandDimensionColumn, \"[0UNIT]\", {\"[0UNIT].[LEVEL01]\"}, {\"Unit of measure.Unit of measure Level 01\"}},",
          "            {Table.AddColumn, \"Material (comp view).Material (comp view) Level 01.Key\", each Cube.AttributeMemberProperty([#\"Material (comp view).Material (comp view) Level 01\"], \"[2YMAT_COMP]\")},",
          "            {Table.AddColumn, \"Company Code.Company Code Level 01.Key\", each Cube.AttributeMemberProperty([Company Code.Company Code Level 01], \"[20COMP_CODE]\")},",
          "            {Table.AddColumn, \"Plant.Plant Level 01.Key\", each Cube.AttributeMemberProperty([Plant.Plant Level 01], \"[20PLANT]\")}",
          "        }),",
          "    #\"Added Custom\" = Table.AddColumn(#\"Added Items\", \"Custom\", each Table.AddColumn(#\"Added Items\", \"CalDate in Date Format\", each DateTime.From(#date(Number.FromText(Text.End([Cal Date.Cal Date Level 01],4)), Number.FromText(Text.Range([Cal Date.Cal Date Level 01],3,2)), Number.FromText(Text.Start([Cal Date.Cal Date Level 01],2)))))),",
          "    Custom = #\"Added Custom\"{0}[Custom],",
          "    #\"Changed Type\" = Table.TransformColumnTypes(Custom,{{\"CalDate in Date Format\", type datetime}})",
          "in",
          "    #\"Changed Type\""
        ]
      }
    }
  }
}