どのように変化ピボットテーブルのデータソースライン?[定休日]
-
05-09-2019 - |
質問
変えていきたいとの想いから一つのデータベースです。
がなされる任意のオプションには、ピボットテーブルコンテキストメニュー
解決 3
右Excelのピボットテーブルをクリックしてください ウィザードを選択してください 「バック」をクリックしてください 「データを取得...」をクリックします クエリウィンドウで ファイル - テーブル定義
あなたは新しいを作成したり、別の接続を選択することができます。
他のヒント
ちょうどその時あなたはデータソースの変更の選択が表示されますオプション-からそこをページの上部にあるタブに移動して選択し、テーブル内の任意の場所をクリックアウトそれを考え出します。
が見えます。私は2007年バージョンを使用していますが、あなたは右の表をクリックしたときには、ウィザードのオプションを提供しています。あなたは余分な「ピボットテーブルツール」は、画面の上部にある他のタブの右側に表示させるために、ピボットテーブルをクリックする必要があります。その後、「チェンジ・データ・ソース」という名前のリボンの真ん中に大きなアイコンがあり、ここで表示される「オプション」タブをクリックします。
Excel 2007のリボンからデータソースを変更するには...
ワークシートにあなたのピボットテーブルをクリックします。それはピボットテーブルツールを言うリボン、[オプション]タブに移動します。データソースの変更]ボタンを選択します。ダイアログボックスが表示されます。
(ダイアログボックスは、すべての上に滞在します、新しいデータソースワークシートに切り替え、データ領域を強調表示し、右の範囲を取得し、エラーメッセージを回避...既存のフィールドの内容を選択し、それを削除するにはWindowsの場合)。あなたは正しく、新しいデータソースを選択したら、それはダイアログボックスで(あなたが前に削除)空白のフィールドに記入します。 [OK]をクリックします。あなたのピボットテーブルに切り替え、それが新たなソースからの新しいデータで更新されている必要があります。
- 右クリックし、ピボットテーブルを選択し、PivotTableウィザードを閉じます。
- をクリックし、"戻る"ボタン。
- 選択外部データソースに、"次へ"をクリックします。
- クリックでデータを得
- 最初のタブのデータベースのオプションは、"新しいデータソース'
このアドオンは、あなたのためのトリックを行います。
http://www.contextures.com/xlPivotPlayPlus01.htmlする
これは、接続文字列を示しており、それを変更することができます。 (同じツールで)必要であれば、同様のクエリSQLを変更することを忘れないでください。
最初から再作成するピボットテーブルを含まない任意の溶液を少し警戒してください。あなたのピボットフィールドオプション名は、彼らがデータベースに存在する値と同期して取得することが可能です。
は、例えば、1つのワークブックで、私はあなたが「20-24」年齢帯オプションを選択しようとした場合、人口統計データを含む扱ってる、Excelが実際の年齢25-29の数字をご提示します。もちろん、それはこれをやっているあなたを教えてくれません。
他の人の間でこの問題を解決し、問題へのプログラム(VBA)のアプローチについては、以下を参照してください。私はそれが堅牢/かなり完全だと思うが、私はフィードバックをいただければ幸いですので、多くのピボットテーブルを使用しないでください。
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
右のピボットテーブル内をクリックしてください Excelは[戻る]ウィザードクリックを選択しクリックしてください 「データを取得...」クエリウィンドウファイルに - 表の定義
あなたは新しいを作成するか、選択することができます 別の接続
完全に働いています。
GETデータボタンは、範囲のテキスト入力ボックスの隣に赤い矢印付きの小さなボタンの隣にあります。
MS Excel 2000でOfficeバージョンのため、 ピボットテーブルをクリックしてください その上でクリックしてください - あなたはピボットテーブルツールと呼ばれるribon上記のタブを、見つけます [データ]タブからデータソースを変更することができます。
Excel 2007の場合は[オプション]メニュー/データソースの変更
でデータソースを変更することができます