私は質問の数のスコアのリストを持っていると私は世代のグループに私の 参加者を分割しています。
私は各質問の平均スコアを世代の平均と比較しようとしています。私の現在の(失敗している)スクリプトは以下の通りです。
if(Generation = 'Boomers2'
,(Avg(Score)-Avg({<Generation = {"Boomers2"}>} Score))
,if(Generation = 'Generation X'
,(Avg(Score)-Avg({<Generation = {"Generation X"}>} Score))
,(Avg(Score)-Avg({<Generation = {"Millenials"}>} Score))
)
)
私はいくつかのETLでこれを行うことができます確信している - 理想的に私はset analysis
を使用して、これを行うために探していますが、どちらかの答えを受け付けます。参考までに、ここに私の読み込みスクリプトがあります。
SurveyRaw:
LOAD
[F1] as RowID,
Timestamp(Timestamp#([A], 'DD/MM/YYYY hh:mm:ss')) AS [EntryDate],
[B] AS [YearOfBirth],
[C] AS [PerceivedGeneration],
[D] AS [AbilityToAdapt],
[E] AS [TeamWork],
[F] AS [ProblemSolving],
[G] AS [Collaboration],
[H] AS [Entrepreneurial],
[I] AS [Overtime],
[J] AS [Collaboration2],
[M] AS [FutureQuestion]
FROM [lib://workingstyles]
(html, codepage is 1252, embedded labels, table is @1)
where IsNum([B]) and [B]<1998; //and [B]>=1966;
Scores:
CrossTable(Question, Score)
Load RowID, [AbilityToAdapt],[TeamWork],[ProblemSolving],[Collaboration],[Entrepreneurial],[Overtime],[Collaboration2]
Resident SurveyRaw;
Load Question, Avg(Score) as AvgQuestionScore
Resident Scores
Group By Question;
Left Join (SurveyRaw)
Load Sum(Score) as TotalScore
,Sum(Score)/7 as AvgUserScore
,RowID
Resident Scores Group By RowID;
Drop Fields [AbilityToAdapt],[TeamWork],[ProblemSolving],[Collaboration],[Entrepreneurial],[Overtime],[Collaboration2] From [SurveyRaw];
Generations:
Load * Inline
[Year_Start, Year_End, Generation
1946, 1954, Boomers1
1955, 1965, Boomers2
1966, 1976, Generation X
1977, 1994, Millenials
1995, 2012, Z];
IntervalMatch:
IntervalMatch([YearOfBirth])
Load Distinct Year_Start,Year_End
Resident Generations;
「平均({1}スコア) - 平均(スコア)」 – Kostya
@Kostya '平均({1}スコア)'は全体の平均を示しています代わりに世代のために –