あるデータベースから別のデータベースに変更したいのですが。Excelでピボットテーブルのデータソースを変更するにはどうすればよいですか?
は、右の「戻る」ウィザード クリックを選択エクセル でピボットテーブルの上に クリック「取得データをクリックして、ピボットテーブルのコンテキストメニュー
あるデータベースから別のデータベースに変更したいのですが。Excelでピボットテーブルのデータソースを変更するにはどうすればよいですか?
は、右の「戻る」ウィザード クリックを選択エクセル でピボットテーブルの上に クリック「取得データをクリックして、ピボットテーブルのコンテキストメニュー
テーブル定義ピボットテーブルウィザードを選択します。
これは機能しません。ウィザードの[外部データソースの選択]ページには、getdataボタンはありません。そして次のページで「データを取得」をクリックするとすぐに接続を編集する明白な方法はありません –
改訂、最後の点を参照してください。 – Bravax
あるこのアドオンあなたのためのトリックを行います。
http://www.contextures.com/xlPivotPlayPlus01.html
これは、接続文字列を示しており、それを変更することができます。 必要に応じて(同じツールを使用して)クエリSQLを変更することを忘れないでください。
右の[戻る]ウィザードクリックを選択 Excelのピボットテーブルをクリックして「データを取得...」 をクリックしてクエリウィンドウファイル で - テーブル定義
、あなたは新しいを作成することができますか 別の接続を選択する
を完全に選択してください。
get dataボタンは、範囲テキスト入力ボックスの横に赤い矢印が付いた小さなボタンの横にあります。
テーブルの任意の場所をクリックして、ページ上部のタブに移動して[オプション]を選択すると、[データソースの変更]の選択が表示されます。
このように見えるのは、使用しているExcelのバージョンによって大きく異なります。私は2007バージョンを使用しており、テーブルを右クリックするとウィザードオプションは表示されません。ピボットテーブルをクリックすると、画面の上部にある他のタブの右側に追加の「ピボットテーブルツール」が表示されます。ここに表示される「オプション」タブをクリックすると、「データソースの変更」というリボンの中央に大きなアイコンが表示されます。ピボットテーブルツールと呼ばれるribon上記のタブを、見つけるMS Excel 2000でOfficeのバージョン、 クリックピボットテーブル のため
- あなたがする場合は、[データ]タブ
からのデータソースを変更することができます ことでクリックExcel 2007 [オプション]メニュー/データソースの変更でデータソースを変更することができます
ピボットテーブルを最初から再作成する必要がないソリューションには少し注意してください。ピボット・フィールドのオプション名は、データベースに表示されている値と同期しなくなる可能性があります。
たとえば、私は人口統計データを扱う1つのワークブックで、「20-24」年齢帯のオプションを選択しようとすると、実際には25-29歳の数字が表示されます。それはもちろん、これをやっているとは言いません。
この問題を解決する問題のプログラムによる(VBA)アプローチについては、以下を参照してください。私はそれがかなり完全であると思う/堅牢ですが、私はピボットテーブルを使用しないので、フィードバックを高く評価します。 Excel 2007のリボンからのデータソースを変更するために
Sub SwapSources()
strOldSource = "2010 Data"
strNewSource = "2009 Data"
Dim tmpArrOut
For Each wsh In ThisWorkbook.Worksheets
For Each pvt In wsh.PivotTables
tmpArrIn = pvt.SourceData
' row 1 of SourceData is the connection string.
' rows 2+ are the SQL code broken down into 255-byte chunks.
' we need to concatenate rows 2+, replace, and then split them up again
strSource1 = tmpArrIn(LBound(tmpArrIn))
strSource2 = ""
For ii = LBound(tmpArrIn) + 1 To UBound(tmpArrIn)
strSource2 = strSource2 & tmpArrIn(ii)
Next ii
strSource1 = Replace(strSource1, strOldSource, strNewSource)
strSource2 = Replace(strSource2, strOldSource, strNewSource)
ReDim tmpArrOut(1 To Int(Len(strSource2)/255) + 2)
tmpArrOut(LBound(tmpArrOut)) = strSource1
For ii = LBound(tmpArrOut) + 1 To UBound(tmpArrOut)
tmpArrOut(ii) = Mid(strSource2, 255 * (ii - 2) + 1, 255)
Next ii
' if the replacement SQL is invalid, the PivotTable object will throw an error
Err.Clear
On Error Resume Next
pvt.SourceData = tmpArrOut
On Error GoTo 0
If Err.Number <> 0 Then
MsgBox "Problems changing SQL for table " & wsh.Name & "!" & pvt.Name
pvt.SourceData = tmpArrIn ' revert
ElseIf pvt.RefreshTable <> True Then
MsgBox "Problems refreshing table " & wsh.Name & "!" & pvt.Name
Else
' table is now refreshed
' need to ensure that the "display name" for each pivot option matches
' the actual value that will be fed to the database. It is possible for
' these to get out of sync.
For Each pvf In pvt.PivotFields
'pvf.Name = pvf.SourceName
If Not IsError(pvf.SourceName) Then ' a broken field may have no SourceName
mismatches = 0
For Each pvi In pvf.PivotItems
If pvi.Name <> pvi.SourceName Then
mismatches = mismatches + 1
pvi.Name = "_mismatch" & CStr(mismatches)
End If
Next pvi
If mismatches > 0 Then
For Each pvi In pvf.PivotItems
If pvi.Name <> pvi.SourceName Then
pvi.Name = pvi.SourceName
End If
Next
End If
End If
Next pvf
End If
Next pvt
Next wsh
End Sub
を...
クリックしてワークシートにあなたのピボットテーブルの上に。ピボットテーブルツール、オプションタブが表示されているリボンに移動します。 [データソースの変更]ボタンを選択します。ダイアログボックスが表示されます。
正しい範囲を取得してエラーメッセージを表示しないようにするには...既存のフィールドの内容を選択して削除し、新しいデータソースワークシートに切り替えてデータ領域を強調表示します(ダイアログボックスはすべてのウィンドウ)。新しいデータソースを正しく選択すると、ダイアログボックスの空白のフィールド(前に削除したもの)が入力されます。 [OK]をクリックします。ピボットテーブルに戻り、新しいソースの新しいデータで更新されているはずです。
これはどのように話題ですか?私はBI開発者であり、他の多くの人々が同じ答えを探して来ているようです。 –