0

これに対する答えを探しましたが、クロス集計で一意のカウントを行うために機能するものを見つけることができないようです。私が見つけた最も近いものは、select count(myField) from (select distinct myField from myTable) でしたが、エラーが発生し続けます。

トレーニングの種類は列に、日付は行に (四半期または個々の月を区別できるように月にフォーマットされています)、理想的には、Grower Record ID によって識別される一意の研修生の数として値を取得します。現在、同じトレーニングに複数回参加したすべての受講者が表示されます。

どんな助けでも大歓迎です!以下はSQLです。御時間ありがとうございます!

SQL:

TRANSFORM Count([TDB - Master - Trainee Attendence].[Grower Record ID]) AS [CountOfGrower Record ID]
SELECT Format([Dat Fòmasyon],'mm/yy') AS Months, Count([TDB - Master - Trainee Attendence].[Grower Record ID]) AS [Total Of Grower Record ID]
FROM [TDB - Master - Trainee Attendence]
WHERE (((Format([Dat Fòmasyon],'mm/yy'))="01/13" Or (Format([Dat Fòmasyon],'mm/yy'))="02/13"))
GROUP BY Format([Dat Fòmasyon],'mm/yy')
PIVOT [TDB - Master - Trainee Attendence].[Tit Fòmasyon an];
4

1 に答える 1

0

レポートするデータのクエリを作成することをお勧めします (おそらく):

SELECT DISTINCT [Grower Record ID], [Dat Fomasyon], [Tit Fomasyon an]
FROM [TDB - Master - Trainee Attendance]

次に、このクエリをデータ ソースとして使用してピボット テーブルを生成します。

現在、私はアクセスのニュアンスに完全に精通しておらず、クエリからピボットテーブルを生成できるかどうかはわかりませんが、そうでない場合は、コードを (フォームのクローンで) 変更して同じことを行うことをお勧めします。 from 句を [aliased] クエリに置き換えます (そして、他の句に現れるベース テーブルへの参照を削除します):

TRANSFORM Count([Grower Record ID] AS [CountOfGrower Record ID]
SELECT Format([Dat Fomasyon], 'mm/yy' AS Months, Count([Grower Record ID]) as [Total of Grower Record ID]
FROM (SELECT DISTINCT [Grower Record ID], [Dat Fomasyon], [Tit Fomasyon] 
      FROM [TDB - Master - Trainee Attendance]) Uniq
WHERE Format([Dat Fòmasyon],'mm/yy') = "01/13" Or Format([Dat Fòmasyon],'mm/yy' = "02/13"
GROUP BY Format([Dat Fòmasyon],'mm/yy')
PIVOT [Tit Fòmasyon an]

なお、transform と select の行で count の名前(「AS」の後の [] 内)が違うので、生成されてから編集されているロジックを書き直しながら考えずにはいられませんでした。アクセスでは決してわかりませんが、これが問題になるとは思いません。

お役に立てれば...

これが役に立ったら、回答としてマークしてください。

于 2013-06-11T23:46:46.100 に答える