Date: prev next · Thread: first prev next last


On Mon, 6 Feb 2017 12:58:46 +0900, 福永ケンセイ <merumaga1407@gmail.com> wrote:
日付を月でまとめて集計したいのですが。

ACCESSでは
フィールドに
1)年月:format([日付],"yyyy/mm")を入力
2)次のフィールドに商品分類、金額を追加
3)集計行を表示させて
4)集計方法を設定
5)クエリー実行でできるようなのですが

baseでは1)の段階で”不明”のエラーメッセージ出ます。
どのようにしたらよいでしょうか?
Baseでは利用しているデータベースによって使える関数が変わります。
LibreOffice 5.2や5.3では、
1. まず日付型のカラムを含むクエリーをウィザードなどで作成する
2. そのクエリーのコンテキストメニューから「SQL表示で編集」を選択し、SQLの該当の
   カラム部分を編集する
3. このクエリーを使ってレポートのウィザードでグルーピングする
というステップで上のような集計が可能です。

例としてfoo、bar、bazという3つのカラムを持つテーブルTable1を集計するとします。
このうちbazが該当の日付型のカラムとします。
データベースにHSQLDBを使っているなら、例えば
SELECT "Table1"."foo" AS "foo", "Table1"."bar" AS "bar", "Table1"."baz" AS "baz" FROM "Table1" 
"Table1"
というSQLを
SELECT "Table1"."foo" AS "foo", "Table1"."bar" AS "bar", TO_CHAR( "Table1"."baz", 'YYYY/MM' ) AS 
"baz" FROM "Table1" "Table1"
のように編集します。

データベースにFirebirdを使っている場合にはTO_CHAR関数がないため、代わりに
SELECT "Table1"."foo" "foo", "Table1"."bar" "bar", LPAD( EXTRACT( YEAR FROM "Table1"."baz" ), 4, 
'0' ) || '/' || LPAD( EXTRACT( MONTH FROM "Table1"."baz" ), 2, '0' ) "baz" FROM "Table1" "Table1"
のようにします。

-- Takeshi Abe

-- 
Unsubscribe instructions: E-mail to users+unsubscribe@ja.libreoffice.org
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/ja/users/
All messages sent to this list will be publicly archived and cannot be deleted

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.