PowerShell의 데이터 및 SpreadCommander의 스프레드시트 분석
SpreadCommander는 데이터 분석 도구를 갖춘 오피스 프로그램이다.
스크립트의 전통적인 출력은 컨트롤러입니다.SpreadCommander는 rich console에 이미지, 차트 등의 형식으로 출력할 수 있는 콘솔을 제공합니다.그러나 데이터 분석은 일반적으로 표 데이터를 사용해야 한다.표를 사용하는 가장 편리하고 가장 흔히 볼 수 있는 방법은 전자 표이다.풍부한 컨트롤러를 제외하고 Spread Commander의 컨트롤러에는 전자 표 컨트롤러가 포함되어 있으며, 스크립트 (데이터 테이블, 목록, 집합) 의 데이터를 직접 전자 표에 출력하여 이 데이터를 분석할 수 있도록 한다.
본고의 데이터는 https://www.kaggle.com/heesoo37/olympic-history-data-a-thorough-analysis?select=athlete_events.csv에서 다운로드하고 다운로드하려면 등록해야 한다.
Cmddlet Out 스프레드시트
이 cmdlet은 DataTable, 목록, 대상 집합을 데이터 원본으로 하고, 전자 표 컨트롤러 출력에 새로운 작업표와 표를 생성합니다.
$dt = Import-DelimitedText '~\Data\athlete_events.csv';
,$dt | Out-SpreadTable -SheetName:'Athlete Events' `
-TableName:'Athlete Events' -TableStyle:Medium19 -Replace;
$dt |
group -Property:'Sport' |
sort -Property:'Count' -Descending |
select -Property:@(
@{ Label='Sport'; Expression = { $_.Name }},
@{ Label='EventCount'; Expression = { $_.Count }},
@{ Label='TeamCount'; Expression = { [Linq.Enumerable]::Count([Linq.Enumerable]::Distinct([Linq.Enumerable]::Select($_.Group, [Func[object, object]]{ $args[0].Team }))) }},
@{ Label='AthleteCount'; Expression = { [Linq.Enumerable]::Count([Linq.Enumerable]::Distinct([Linq.Enumerable]::Select($_.Group, [Func[object, object]]{ $args[0].ID }))) }} ) |
Out-SpreadTable -SheetName:'Sports' `
-TableName:'Sports' -TableStyle:Medium19 -Replace `
-Formatting: `
"format table [Sports] column [EventCount] with IconSet=Signs3;
format table [Sports] column [TeamCount] with Rule=DataBar, BackColor='LightGreen', BackColor2='LightGray', Gradient=Horizontal;
format table [Sports] column [AthleteCount] with ColorScale='Red,LightGreen,White';
format table [Sports] column [EventCount] with Rule=AboveAverage, BackColor=LightGreen";
집합 (, dt) 에서 DataTable를 보내면 cmdlet이 DataTable itslef를 처리할 수 있습니다. 그렇지 않으면 PowerShell은 PSObject의 DataRow 목록을 데이터 원본으로 전송합니다.결과는 같지만 수집된 변체는 훨씬 빠르다.
Cmdlet New SpreadPivot
일단 데이터가 전자 표에 전송되면 다른 방식으로 이를 분석할 수 있다.그 중 하나는 투시표를 만드는 것이다.SpreadCommander에서는 PowerShell 스크립트에서 원근 테이블을 생성할 수 있습니다.
New-SpreadPivot -DataTableName:'Athlete Events' `
-PivotSheetName:'Athlete Events - Pivot' -PivotTableName:'Athlete Events - Pivot' `
-RowFields:'Team' -ColumnFields:'Sport' -DataFields:'ID' -SummarizeValuesBy:Count `
-Layout:Outline -MergeTitles -Style:Medium19 `
-Formatting:'format with DataBar=Red, Gradient=true' -Replace;
cmdlet 새 SimpleSpreadChart, 새 스프레드시트
또 다른 데이터 분석 방법은 도표를 전자 표에 추가하는 것이다.SpreadCommander에는 두 개의 그래프를 추가하는 cmdlet이 있는데, 하나는 문법이 더 간단하고, 다른 하나는 더 강하다.
New-SimpleSpreadChart -DataTableName:'Sports' `
-ChartSheetName:'Sports - SimpleChart' -Replace -ChartType:LineMarker `
-Arguments:'Sport' -Values:'EventCount','TeamCount','AthleteCount' `
-AxisGroups:'Primary','Secondary','Primary' `
-SeriesTypes:LineMarker -Style:ColorGradient `
-Title:'Sport - Chart' -TitleFont:'Tahoma,12,Bold,Italic';
New-SpreadChart -DataTableName:'Sports' `
-ChartSheetName:'Sports - Chart' -Replace `
-ChartType:LineMarker -Style:ColorGradient -BackColor:Beige `
-Title:'Sports' -TitleFont:'Segoe,12,Bold,Italic,Blue' `
-Series:@(
@{Name='Events'; Arguments='Sport'; Values='EventCount'; Type='LineMarker'}, `
@{Name='Athletes'; Arguments='Sport'; Values='AthleteCount'; Type='LineMarker'}, `
@{Name='Teams'; Arguments='Sport'; Values='TeamCount'; Type='LineMarker'; AxisGroup='Secondary'} );
현재 새 스프레드시트에서 잘못된 제목을 설정하면 다음 릴리즈에서 수정됩니다.
스프레드시트의 새로운 기능
SpreadCommander는 스프레드시트에 새로운 기능을 추가했습니다.이 새로운 함수들은 전자 표에 더 많은 기능을 증가시켰다. 특히 나는 정규 표현식과 관련된 유용한 함수를 발견했다.이러한 함수는 SPreadCommander에만 해당되며 Microsoft Excel에서는 작동하지 않습니다.
정규 표현식
정규 표현식이 일치하는 항목을 찾았는지 표시합니다
지정한 입력 문자열에 있습니다.
지정한 입력 문자열에서 첫 번째 일치 검색
정규 표현식의
배열 함수.지정한 입력 문자열 검색
정규 표현식에 사용되는 모든 (최대 그룹 크기) 가 나타납니다.
지정한 입력 문자열에서 첫 번째 일치 검색
명명된 그룹의 값을 되돌려줍니다.
배열 함수.지정한 입력 문자열 검색
정규 표현식 및
명명된 그룹의 값을 되돌려줍니다.
지정한 입력 문자열에서 모든 문자열 바꾸기
정규 표현식 모드와 지정한
문자열을 바꿉니다.
지정된 위치에서 지정된 입력 문자열을 분할합니다.
정규 표현식 모드에서 정의합니다.
지정한 문자열 중 하나 이상의 형식 항목 바꾸기
지정한 대상의 문자열을 사용하여 표시합니다.
문자열의 MD5 해시를 계산합니다.
문자열을 계산하는 SHA-1 해시.
문자열을 계산하는 SHA-256 해시.
문자열을 계산하는 SHA-384 해시.
문자열을 계산하는 SHA-512 해시.
경로 문자열의 확장자를 변경합니다.
여러 문자열을 하나의 경로에 병합합니다.
지정한 경로 문자열의 디렉터리 정보를 되돌려줍니다.
지정한 경로 문자열의 확장자를 되돌려줍니다.
지정한 경로 문자열의 파일 이름과 확장자를 되돌려줍니다.
확장자가 없는 지정된 경로 문자열의 파일 이름을 반환합니다.
GUID의 새 인스턴스로 반환하여
옵션 형식 설명자(N, D, B, P, X).
서식 적용
스프레드시트와 격자에 내보내기를 사용하여 조건 형식을 지정할 수 있습니다.
format table [Athlete Events] column [Event] for "Contains([Event], 'Gymnastics')" with BackColor=Green, ForeColor=White;
format table [Sports] column [EventCount] with IconSet=Signs3;
지원되는 항목은 다음과 같습니다.표정.
format table [Athlete Events] column [Event] for "Contains([Event], 'Gymnastics')" with BackColor=Green, ForeColor=White;
데이터베이스format table [Sports] column [TeamCount] with Rule=DataBar, BackColor='LightGreen', BackColor2='LightGray', Gradient=Horizontal;
IconSetformat table [Sports] column [EventCount] with IconSet=Signs3;
색계format table [Sports] column [AthleteCount] with ColorScale='Red,LightGreen,White'
평균보다 높다, 평균보다 낮다, 평균보다 높다, 평균보다 낮다, 유일하다, 중복되다format table [Sports] column [EventCount] with Rule=AboveAverage, BackColor=LightGreen
상술한 조건은 큰 탁자 위에서 일하는 것이 느리다.상하
format table [Sports] column [Weight] with Rule=Top, Rank='10%', BackColor=LightGreen
상술한 조건은 큰 탁자 위에서 일하는 것이 느리다.미팅
일간 가치는 Beyond, Beyond This Year, Previous, Earlier This Month, Earlier This Week, Earlier This Year,
비어있는, 지난주, 후이달, 후금주, 후금년, 월1, 월2, 월1, 월2,
MonthAgo3, MonthAgo4, MonthAgo5, MonthAgo6, 다음 주, 올해 4월, 구체적인 날짜, 이달, 이번 주,
오늘, 내일, 사용자, 어제.
format table [Table1] column [Value] with DateOccuring=Today, BackColor=Yellow
규칙, 비교비교 유형은 간, 상등, 표현식, 더 크거나 더 크거나 상등,
소, 임대, 평등, 둘 사이가 아니라 불평등.
format table [Athlete Events] column [Season] with Condition=Equal, Value1='Summer', BackColor=Green, ApplyToRow=true
대부분의 형식 기준 >(DataBar, IconSet 및 ColorScale 제외)은 지정을 지원합니다.이러한 속성은 다음과 같습니다.
Reference
이 문제에 관하여(PowerShell의 데이터 및 SpreadCommander의 스프레드시트 분석), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/vvv/analyzing-data-in-powershell-and-spreadsheet-in-spreadcommander-1pkk텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)