初心者のFileMaker pro Q&A

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

ログインしていません。

アナウンス

Claris FileMaker Pro 19 ヘルプ
新しい質問は、新規トピック から投稿して下さい。


#1 2013-09-05 14:39:40

オイスター
ゲストユーザー

カウントが正常に動作しない?

WinXP FMPro 11 Adv

いつもお世話になります。

最近ところどころ挙動がおかしくて解決できずの質問です。

テーブル:A   B   C   ※B、CはAの自己リレーション

フィールド
日付
疾患
退院先
開始G、終了G(日付 グローバル)
集計対象値G(グローバル) 計算値自動入力 既存値置き換え
Case(
集計対象名G="疾患";Case(FilterValues(ValueListItems(Get(ファイル名);"疾患一覧");Self)≠"";Self);
集計対象名G="退院先";Case(FilterValues(ValueListItems(Get(ファイル名);"退院先一覧");Self)≠"";Self);
集計対象名G="*";"*"
)

カウント(計算)
Case(
集計対象名G[1] = "退院先" ; Count(C::疾患) ; Count(B::退院先)
)

リレーション
B         A
日付    >=  開始G
日付    <=  終了G
退院先    =  退院先
対象値一覧 =  集計対象値G

C
日付    >=  開始G
日付    <=  終了G
疾患      =  疾患
対象値一覧 =  集計対象値G

があるとします
日付 疾患 退院先
を入力しても、カウントフィールドが 「 ? 」
とでてしまいます。

いくら組みなおしても直りません。
解決方法をお願いします。

#2 2013-09-05 14:48:41

Lister
ゲストユーザー

Re: カウントが正常に動作しない?

集計対象名G

対象値一覧
の説明がありません。

けど
集計対象名G[1] = "退院先" ; Count(C::疾患) ; Count(B::退院先)
は明らかに逆な気がしますけど。
繰り返しフィールドじゃなさそうなので[1]は不要でしょう。

#3 2013-09-05 14:57:38

オイスター
ゲストユーザー

Re: カウントが正常に動作しない?

Listerさん 返信ありがとうございます。

Lister さんの発言:

集計対象名G

対象値一覧
の説明がありません。

説明が足りてませんでした。。
集計対象名G (グローバル
対象値一覧(計算) 非保存  = List(疾患;退院先;"*")

けど
集計対象名G[1] = "退院先" ; Count(C::疾患) ; Count(B::退院先)
は明らかに逆な気がしますけど。
繰り返しフィールドじゃなさそうなので[1]は不要でしょう。

集計対象名G = "退院先" ; Count(C::疾患) ; Count(B::退院先)
としても
集計対象名G[1] = "退院先" ; Count(B::疾患) ; Count(C::退院先)
集計対象名G = "退院先" ; Count(B::疾患) ; Count(C::退院先)

と変えても「?」のままでした・・・

#4 2013-09-05 15:06:21

Lister
ゲストユーザー

Re: カウントが正常に動作しない?

逆というのは、"退院先"の場合に::疾患をカウントしてるということなんですが。

「計算式の指定」の時に「次のコンテキストから~~」をAにしてますか。

#5 2013-09-05 15:27:59

オイスター
ゲストユーザー

Re: カウントが正常に動作しない?

Listerさん 返信ありがとうございます。

Lister さんの発言:

逆というのは、"退院先"の場合に::疾患をカウントしてるということなんですが。

「計算式の指定」の時に「次のコンテキストから~~」をAにしてますか。

ご指摘の通り
"退院先" の場合に ::退院先 をカウント に変更しました
コンテキストから~ は A となっていました。

しかし、変わりません・・・

#6 2013-09-05 15:55:30

Lister
ゲストユーザー

Re: カウントが正常に動作しない?

日付 疾患 退院先
を入力しても、カウントフィールドが 「 ? 」

なんか変ですねえ。データテーブルでの自己リレーション集計なんだから、そのフィールドは入力しないでも入ってるものでは?(集計対象)
集計するとき入力するのは、~Gの方(集計条件)でしょう。
しかし、同じ「退院先」のレコードに全部同じ集計結果が入るので、あんまり使いやすくないような...

見た目から逆といいましたけど、Countするだけだから空欄でないフィールドなら何でもよかったですね...肝心なのはテーブルの方でした。

#7 2013-09-06 09:29:38

オイスター
ゲストユーザー

Re: カウントが正常に動作しない?

Listerさん 返信ありがとうございます。

Lister さんの発言:

日付 疾患 退院先
を入力しても、カウントフィールドが 「 ? 」

なんか変ですねえ。データテーブルでの自己リレーション集計なんだから、そのフィールドは入力しないでも入ってるものでは?(集計対象)
集計するとき入力するのは、~Gの方(集計条件)でしょう。
しかし、同じ「退院先」のレコードに全部同じ集計結果が入るので、あんまり使いやすくないような...

見た目から逆といいましたけど、Countするだけだから空欄でないフィールドなら何でもよかったですね...肝心なのはテーブルの方でした。

確かに本来であれば新規レコード作成しても通常であれば、何も入力しない場合「0」と表記されると思うんですけど「?」なんです・・・

#8 2013-09-06 09:48:45

Lister
ゲストユーザー

Re: カウントが正常に動作しない?

関連レコードがない場合はCountも空欄ですね。
レコードはあるがデータがない場合はCountが0

引用の中に埋もれてたから見逃してました。

対象値一覧(計算) 非保存  = List(疾患;退院先;"*")

これが非保存だからリレーションが成立しません。

クィック投稿

メッセージを書いて送信してください。
登録の確認

実在の人物による登録であることを確認します。

Board footer