2016-05-25 19 views
0
、このいずれかを説明するのかに最善

わからないが、私は、たとえば次のようになりますことをテーブルがあります:あなたは、彼らが(この例では架空の)ウェブサイトのページです見ることができるようにMS Accessのグループ化された割合の計算

Date  WebSitePage Visits 
01/01/2016 Visits  50 
01/01/2016 Basket  40 
01/01/2016 CheckOut  35 
01/01/2016 ThankYou  25 
02/01/2016 Visits  43 
02/01/2016 Basket  23 
02/01/2016 CheckOut  20 
02/01/2016 ThankYou  12 

を。 WebSitePageの変換率(例:Basket/CheckOut、CheckOut/ThankYouなど)を計算するために、計算SQLまたはVBA(Access SQLでCASE文を使用できないように制限されている)を使用してクエリを作成したいありがとうございました/訪問などのコンバージョンを参照してください。

私はクエリをコンパイルする方法や計算を書くのに苦労しています。 これはExcelで簡単です。しかし、WebSitePageを別々の列に分割したくない。

誰でも正しい方向に向けることができますか?

タスク容易にするために4つの異なる列に4つの異なる数を取得するには、このクエリを使用することができ

答えて

0

SELECT [Date], 
     Sum(IIf(WebSitePage = "Visits", Visits, 0)) AS Visits, 
     Sum(IIf(WebSitePage = "Basket", Visits, 0)) AS Basket, 
     Sum(IIf(WebSitePage = "CheckOut", Visits, 0)) AS CheckOut, 
     Sum(IIf(WebSitePage = "ThankYou", Visits, 0)) AS ThankYou 
FROM  mytable 
GROUP BY [Date] 

IIfであなたはより多くのでCASE WHEN表現を使用する問題を解決できることを注意ISO-準拠のSQLデータベース。

SELECT [Date], 
     100*Basket/CheckOut AS Basket_CheckOut_Pct, 
     100*CheckOut/ThankYou AS CheckOut_ThankYou_Pct, 
     100*ThankYou/Visits AS ThankYou_Visits_Pct 
FROM  MyQuery 
+0

おかげ@trincot、私は今、亀裂を与え、得るでしょう:あなたはMS Accessでのクエリのように、上記のステートメントを保存する場合

、その後、あなたはこのようなものを行うことができます(のはMYQUERYそれを呼びましょう)まもなくあなたに戻ってきます。 –

+0

それはあなたのためにうまくいったのですか? – trincot

+0

私はここ数週間、別のプロジェクトに取り組んでいるので、まだ試してみる機会はありませんでした。この来週に戻ってきて、私は戻ってあなたに知らせるでしょう。ありがとうございました :) –

関連する問題