2016-07-20 3 views
-1

각 버전을 기반으로하는 SQL 인스턴스 수에 대한 원형 차트를 만들려고합니다. 예 : 2012-3 인스턴스, 2008-2 인스턴스, 2005-1 인스턴스. 누구든지 파이 차트에서 이것을 달성하는 방법에 나를 도울 수 있을까.Powershell charting

이 코드는 다음과 같습니다 : 내가 해결은 아래의 코드를 사용하여 관리해야

Add-Type -AssemblyName "System.Windows.Forms.DataVisualization" 
$scriptpath = Split-Path -parent $MyInvocation.MyCommand.Definition 
#frame 
$MemoryUsageChart2 = New-object System.Windows.Forms.DataVisualization.Charting.Chart 
$MemoryUsageChart2.Width = 500 
$MemoryUsageChart2.Height = 400 
$MemoryUsageChart2.BackColor = [System.Drawing.Color]::White 
#header 
[void]$MemoryUsageChart2.Titles.Add("No.SQL Instances") 
$MemoryUsageChart2.Titles[0].Font = "segoeuilight,20pt" 
$MemoryUsageChart2.Titles[0].Alignment = "Bottomright" 

$chartarea = New-Object System.Windows.Forms.DataVisualization.Charting.ChartArea 
$chartarea.Name = "ChartArea1" 
$MemoryUsageChart2.ChartAreas.Add($chartarea) 
[void]$MemoryUsageChart2.Series.Add("data2") 

$MemoryUsageChart2.Series["data2"].ChartType = [System.Windows.Forms.DataVisualization.Charting.SeriesChartType]::Pie 
$SQL= @{SQLA=2012; SQLB=2012; SQLC=2008; SQLD=2005;SQLE=2005 ;SQLF=2000} 

답변

0

, 우리는 그룹에 해시 테이블이 각 인스턴스의 수를 얻고 X에서로드 및 Y 축에 파이 차트를 얻으십시오 :

$MemoryUsageChart2.Series["data2"][“PieLabelStyle”] = “Outside” 
    $MemoryUsageChart2.Series["data2"][“PieLineColor”] = “Black” 
    $MemoryUsageChart2.Series["data2"][“PieDrawingStyle”] = "Concave”   
$ht = $SQL.Values | group 
      $x = $ht | select -ExpandProperty Name 
      $y = $ht | select -ExpandProperty Count 
      $i = 0 
    $x | Foreach-object {$MemoryUsageChart2.Series["data2"].Points.AddXY("$($_ +(-$y[$i]))", $y[$i]); $i++ } 
       $MemoryUsageChart2.SaveImage("C:\Virtual_Memory_Usage.png","png")