質問

変えていきたいとの想いから一つのデータベースです。

がなされる任意のオプションには、ピボットテーブルコンテキストメニュー

役に立ちましたか?

解決 3

右Excelのピボットテーブルをクリックしてください ウィザードを選択してください 「バック」をクリックしてください 「データを取得...」をクリックします クエリウィンドウで ファイル - テーブル定義

あなたは新しいを作成したり、別の接続を選択することができます。

他のヒント

ちょうどその時あなたはデータソースの変更の選択が表示されますオプション-からそこをページの上部にあるタブに移動して選択し、テーブル内の任意の場所をクリックアウトそれを考え出します。

これは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の場合は[オプション]メニュー/データソースの変更

でデータソースを変更することができます
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top