Q&A

回答の並べ替え:
投稿新規に質問を投稿する

年度ごとの検索方法について

zoe7010 zoe7010

2020-09-11 14:56

こんにちは。

現在、フォーキャストを作成しております。

テーブルデータに売上年(2020)、売上月(5)と別々に数値をデータに登録しているのですが、
売り上げの年度ごとに案件を抽出したいと思っておりますが、方法がわからず、現在は売上年と所属課で検索をかけております。

どのように検索キーを設定したら、年度(2020年4月~2021年3月など)ごとに表示できるようになりますでしょうか?
できれば、SQLアクションを使わずに、CELFアクションの検索キーでできる方法がありましたらご教授いただければ幸いです。

テーブルのデータを年と月を分けずに保存する方法しかないでしょうか、、、?

zoe7010 zoe7010
> Yexiongmao さん

理解力が足りず、、、申し訳ございませんでした。
いただいた内容で正しく表示されました。

Aグループ OR Bグループ のようなイメージで
ORのあとに、Bグループの条件を年度や月だけではなく、所属課も合わせて設定しなければいけなかったのですね。

SQLの知識もなく、どのような優先順位になっているのかわからず、助かりました。
ありがとうございました!
Yexiongmao Yexiongmao
こんにちは。

ANDが先に評価されるので、同じ組み合わせが必要です。
ORのあとに一行目と同様に「nw_営業フォーキャスト_header.所属課が次と一致する: =F7」を挿入してみてください。
SQLアクションでもANDが優先されるのですが、解りやすくするため普通は()を使います。
その点「データ操作」アクションは解りにくいですね。
zoe7010 zoe7010
> River さん
> Yexiongmao さん

お二方ともありがとうございます!

設定ミスなのかもしれませんが、一つでもOR条件を入れると、
当方の環境だとうまくアクションが動作しませんでした。
※画像のように設定していました。
 F7に2020などの年、F6に所属課をリストから選ぶようにしております。
 F6もしくはF7が空欄だった場合、アクションを終了するようにしております。

画像の設定にすると、売上年度は正しく表示することができますが、(2020年4月~2021年3月など)
所属課は「営業一課」で検索をかけても、営業三課の案件も抽出されてしまいます。
もし、所属課もOR条件になってしまっているのだとしたら、
「営業二課」のデータもあるはずなのに、それが表示されずおかしな結果になってしまいます。

二回に分けて表示する方法で、運用することにいたします。
設定間違っていたら申し訳ございません。。。
River River
Yexiongmaoさん

>>はじめのANDが評価され、ORで結合された次のANDが評価される感じです。
実現可能だったのですね。大変勉強になります。
ありがとうございます。

zoe7010さん

私の勉強不足でした。すいませんでした。
SQL不要で、実現できて良かったです。

独り言ですが、
試行錯誤ではなく、例えば条件に()を付けれる等、
感覚的に優先順がわかると本当はいいでよすね。
※慣れるしかないんですよね、悩ましいです。
zoe7010 zoe7010
> Yexiongmao さん

ご回答ありがとうございます。
アクションの画面までご丁寧にありがとうございます。
SQL不要で、いただいた内容で確かにできました!

ANDとOR条件の使い方が難しく、試行錯誤をしておりましたが、
いただいた内容のように設定すればよかったのですね、、、!

大変勉強になります。ありがとうございます。
Yexiongmao Yexiongmao
右の表はDBに格納されているデータのイメージです。E,F列が結果の表示です。
こんにちは。

複雑な検索条件はSQLアクション使わざるを得ないのですが、年度と月度の組み合わせくらいでしたら、「データ操作」アクションで可能です。
以下の画像のように、ANDとORを組み合わせます。
はじめのANDが評価され、ORで結合された次のANDが評価される感じです。

参考までに。
zoe7010 zoe7010
> River さん

ご回答ありがとうございます。
やはり、SQLアクションでの対応となりますよね、、

ただ、代替え案もご提示くださりありがとうございます!
テーブルに項目を追加や変更することは避けたいので、2回に分けて検索する方法でテストしてみましたが、実現できそうです。

Excelからアプリを作成する機能を使うと、なかなか思うようにメンテナンスできず、難しいですね、、、

ありがとうございます。
River River
メダルベストアンサー
こんにちわ

過去のQ&Aから類似の回答を見つけましたので共有致します。
https://developer.celf.biz/questions/5358/

恐らく、実現されたいことは、データ操作で「テーブルから複数件取得する」の
条件として、以下のようなことかと思います。(例:2020年度の場合)
(年=2020 かつ 月が4以上 かつ 月が12以下)
もしくは
(年=2021 かつ 月が1以上 かつ 月が3以下)

結果としては、「CELFアクションの検索キー」では実現できず、
「SQLアクション」を利用するしかないと思います。

「CELFアクションの検索キー」を利用する代替案としては、以下が考えられると思います。
・テーブルのデータを年と月を分けずに保存する方法(zoe7010さんの案)
・検索用にテーブルに「年度」という項目を追加する
・2回に分けて取得する