1

SQLサーバービューのピボットテーブルを使用して、Excelでいくつかのレポートを作成しようとしています。顧客の要件の1つは、選択した日付範囲に基づいてレポートをフィルタリングできるようにすることです。これは妥当と思われます。エンドユーザーのプロセスはかなり単純である必要があるため、私の好みは、開始日用のセルと終了日用のセルを用意し、ユーザーがこれらを入力してテーブルを更新できるようにすることです。

私が乗り越えられなかった2つの問題があります:

  1. 日付フィルターを選択しても、値のソースとしてセルを参照する方法が提供されないようです。私はその時にそれを入れなければなりません。

  2. 日付フィールドでグループ化する場合にのみ、日付範囲を定義できるようです。一部のレポートでは、これは仕様に違反しています。ピボットテーブルの[レポートフィルター]セクションでは、範囲ではなく個々の値でのみフィルター処理できるようです。これは、通過する日付が数百ある可能性のある実際のデータでは管理できなくなります。

私が試したことの1つは、同じブック内の別のシートに集計列を含まない中間テーブルを作成し、それをフィルター処理することです。これにより、その中間テーブルの列が正しく非表示になりましたが、それから派生したピボットテーブルには影響しませんでした。

誰かが私がこれを機能させる方法についてのアイデアを持っていますか?かなり明白なユースケースのようです-ピボットテーブルがどのように使用されるかについて私が見逃しているものはありますか?

4

3 に答える 3

1

簡単にできることは、ピボット テーブル クエリをその場で変更することです。

ソース セルが変更されたとき (Worksheet_Changedイベント)、ピボットに追加" AND WhateverDate > '1/1/1111'"Me.PivotTables("Your pivot").PivotCache.CommandTextて更新します。

于 2010-08-27T18:41:24.267 に答える
0

数年前、SQL クエリを動的にすることで同様の要件を解決したことを覚えています (つまり、VBA で文字列としてまとめ、where 条件で範囲値を持つセルを使用します)。その後、「更新」というラベルの付いたボタンで VBA マクロが呼び出されました。

しかし、申し訳ありませんが、このコードはもう利用できません。一般的な考え方を覚えているだけです。

于 2010-08-27T18:37:55.677 に答える
0

これはしばらく死んでいますが、別の方法を投稿すると思いました。必要なものには「1」を返し、不要なものには「0」を返す数式をソース テーブルに追加してから、ピボット テーブルに「1」のみをフィルター処理するフィルターを追加します。

于 2016-05-11T13:44:09.887 に答える