PowerShell의 데이터 및 SpreadCommander의 스프레드시트 분석

20260 단어
면책 성명: 저는 Spread Commander의 저자입니다.
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
    문자열의 MD5 해시를 계산합니다.
  • 산열.모래
    문자열을 계산하는 SHA-1 해시.
  • 산열.SHA256
    문자열을 계산하는 SHA-256 해시.
  • 산열.SHA384
    문자열을 계산하는 SHA-384 해시.
  • 산열.SHA512
    문자열을 계산하는 SHA-512 해시.
  • 경로
  • 오솔길.확장 변경
    경로 문자열의 확장자를 변경합니다.
  • 오솔길.결합하다
    여러 문자열을 하나의 경로에 병합합니다.
  • 오솔길.GETDIRECTORYNAME
    지정한 경로 문자열의 디렉터리 정보를 되돌려줍니다.
  • 오솔길.GETEXTENSION
    지정한 경로 문자열의 확장자를 되돌려줍니다.
  • 오솔길.GETFILENAME
    지정한 경로 문자열의 파일 이름과 확장자를 되돌려줍니다.
  • 오솔길.GETFILENAMEWITHOUTEXTENSION
    확장자가 없는 지정된 경로 문자열의 파일 이름을 반환합니다.
  • 지침서
  • 뉴이드
    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;
    
    IconSet
  • IconSet에서는 값을 범위별로 분류하고 범위에 따라 특정 아이콘을 표시할 수 있습니다.
  • format table [Sports] column [EventCount] with IconSet=Signs3;
    
    색계
  • 2색 또는 3색 그래디언트를 사용하여 데이터의 분포와 변화를 표시할 수 있습니다.
  • format table [Sports] column [AthleteCount] with ColorScale='Red,LightGreen,White'
    
    평균보다 높다, 평균보다 낮다, 평균보다 높다, 평균보다 낮다, 유일하다, 중복되다
  • 값이 지정된 기준을 충족하는 경우 형식이 적용됩니다.
  • format table [Sports] column [EventCount] with Rule=AboveAverage, BackColor=LightGreen
    
    상술한 조건은 큰 탁자 위에서 일하는 것이 느리다.
    상하
  • 값이 맨 위 또는 맨 아래 N 값에 속하는 경우 형식이 적용됩니다.N은 숫자 또는 백분율일 수 있습니다.
  • 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 제외)은 지정을 지원합니다.
    이러한 속성은 다음과 같습니다.
  • 베이스
  • 배경색 2(그라데이션용)
  • 프레임 색상
  • 글꼴
  • 그래디언트(배경색 2> 필요, 다음 값 중 하나: 수평, 수직, 전대각선, 후대각선)
  • 좋은 웹페이지 즐겨찾기