1

enter code hereデザイン ビューで集計クエリを作成しています。元のデータを平均すると、すべてうまくいきます。log([data]) を平均化しようとするとすぐに、「条件式のデータ型が一致しません」というエラーが表示されます。

クエリで WHERE または HAVING 句を使用していないため、「基準式」について不平を言う理由がわかりません。いずれにせよ、すべてのデータ (元のデータとログに記録されたデータ) は「double」型であるため、型の不一致がどこで発生するかはわかりません。

2 つの手順を分割して、ログのみを計算する 1 つのクエリを設定し、2 つ目のクエリ (最初のクエリに基づく) で集計を行いましたが、同じエラーがスローされます。

誰かが洞察力を持っていますか?どうもありがとう!

PS:元のデータの最小値と最大値も確認しました。それらはすべて> 0.0であるため、ゼロまたは負の数の対数を取ることもありません。

コード:

これは完全にうまくいきます:

SELECT Tbl_00__simRecord.simID, Avg(Tbl_01__obsFlows.[obsFlow_m3/s]) AS [meanObsFlow], 
                                Min(Tbl_01__obsFlows.[obsFlow_m3/s]) AS [MinOfobsFlow_m3/s], 
                                Max(Tbl_01__obsFlows.[obsFlow_m3/s]) AS [MaxOfobsFlow_m3/s]
FROM Tbl_00__simRecord, Tbl_01__obsFlows
GROUP BY Tbl_00__simRecord.simID;

ただし、これは失敗します。

SELECT Tbl_00__simRecord.simID, Avg(Tbl_01__obsFlows.[obsFlow_m3/s])  AS [meanObsFlow], 
                                Min(Tbl_01__obsFlows.[obsFlow_m3/s])  AS [MinOfobsFlow_m3/s], 
                                Max(Tbl_01__obsFlows.[obsFlow_m3/s])  AS [MaxOfobsFlow_m3/s], 
                            Avg(Log(Tbl_01__obsFlows.[obsFlow_m3/s])) AS [meanLogObsFlow]
FROM Tbl_00__simRecord, Tbl_01__obsFlows
GROUP BY Tbl_00__simRecord.simID;
4

1 に答える 1

0

すべてのログに値があることを確認してください。これは私にとってはうまくいきます:

SELECT Table1.AText, Avg(Log([anumber])) AS Log1, Table1.ANumber
FROM Table1
GROUP BY Table1.AText, Table1.ANumber
HAVING (((Table1.ANumber)>0));

この行に注意してください Table1.ANumber>0

だからあなたは試すことができます:

SELECT Tbl_00__simRecord.simID, 
   Avg(Tbl_01__obsFlows.[obsFlow_m3/s])  AS [meanObsFlow], 
   Min(Tbl_01__obsFlows.[obsFlow_m3/s])  AS [MinOfobsFlow_m3/s], 
   Max(Tbl_01__obsFlows.[obsFlow_m3/s])  AS [MaxOfobsFlow_m3/s], 
   Avg(Log(Tbl_01__obsFlows.[obsFlow_m3/s])) AS [meanLogObsFlow]
FROM Tbl_00__simRecord, Tbl_01__obsFlows
GROUP BY Tbl_00__simRecord.simID
HAVING Tbl_01__obsFlows.[obsFlow_m3/s] > 0
于 2013-03-14T16:09:19.277 に答える