5

Excel のピボット テーブルで使用するデータを取得していますが、Excel が日付形式を認識しません。

私は使用しています..

CONVERT(date, [DateTimeSelected]) AS [Search Date]

これは、クエリ出力で2013-08-01として表示されます。

SQL接続を介してExcelピボットテーブルにアクセスすると、同じように見えますが、フィルターは日付として認識しません。

ここでは、Excel がそれを日付として認識したときに Excel でどのように表示されるかを、左側にテキストとして表示し、右側に表示する方法を確認できます。

ここに画像の説明を入力

アイデアはありますか?

ありがとう ;-)

これらすべてを試しましたが、元の B.Depart (日時) のみが日付として取得され、変換された列はどれも Excel によって日付として読み取られません...

たくさんのフォーマットを取得しますが、Excel は変換された日付を好まないはずですか??

 B.Depart AS 'Holiday Date time',
 CONVERT(VARCHAR(10), B.Depart,103) AS 'Holiday Date',
 DATENAME(weekday, B.Depart) AS 'Holiday Day Name',
 CONVERT(CHAR(2), B.Depart, 113) AS 'Holiday Day',
 CONVERT(CHAR(4), B.Depart, 100) AS 'Holiday Month',
 CONVERT(CHAR(4), B.Depart, 120) AS 'Holiday Year',
 CONVERT(VARCHAR(10),B.Depart,10) AS 'New date',
 CONVERT(VARCHAR(19),B.Depart),
 CONVERT(VARCHAR(10),B.Depart,10),
 CONVERT(VARCHAR(10),B.Depart,110),
 CONVERT(VARCHAR(11),B.Depart,6),
 CONVERT(VARCHAR(11),B.Depart,106),
 CONVERT(VARCHAR(24),B.Depart,113)
4

5 に答える 5

7

動作するようcast(convert(char(11), Bo.Depart, 113) as datetime)です..

于 2013-08-14T16:39:42.810 に答える
1

日付が最初にテキストとして認識され、次にクエリを候補の 1 つに変更した場合、古いテキスト形式の値をピボット テーブル キャッシュに保持しないように Excel に指示する必要があることに注意してください (ピボット テーブル byデフォルトでは、現在返されているデータに含まれていなくても、バックグラウンドのキャッシュ内の各フィールドの「古い」値が保持されます)。それ以外の場合、最初の値はまだキャッシュにあるため (ライブ データにはありませんが)、フィールド全体がテキストとして認識されます。

たとえば、この問題が発生していた既存のテーブルがありました。マイクの投稿を使用するようにクエリを変更しました

cast(convert(char(11), Bo.Depart, 113) as datetime)

、しかし、ピボットテーブルキャッシュに保持されているアイテムをリセットするまで、実際にはExcelが日付として認識することはありませんでした.

ピボット テーブルがアイテムをキャッシュに保持する方法を変更するには、1. テーブルを右クリックします。 2. [ピボット テーブル オプション] を選択します。 3. [データ] タブで、[フィールドごとに保持するアイテム数] のドロップダウン メニューを変更します' を 'なし' に変更します。

これは、スライサー ボタンがデータ セットに存在しない値を表示する場合にも役立ちます。

于 2015-12-17T20:27:05.333 に答える
0

Excel 2010 を使用して同じ問題が発生しました。私の解決策は、SQL Server への接続タイプを「SQL Server」ではなく「SQL Server Native Client 10.0」として指定することでした (データ接続ガイドの詳細/その他の選択で利用可能)。それを使用して、標準の日付形式の列を含むSQLサーバーテーブルに接続すると、すべてが正常に機能しました。

于 2014-06-05T07:48:52.970 に答える
0

SmallDatetimeSQL テーブルで format を使用でき、機能します。日付を varchar として変換しないでください。

于 2019-01-25T18:22:01.483 に答える