2009-04-07 3 views
24

Я хочу изменить его из одной базы данных в другую.Как изменить источник данных сводной таблицы в Excel?

Там, кажется, не будет каких-либо опций, чтобы сделать это в контекстном меню сводной таблицы

+2

Как это не по теме ?! Я разработчик BI, и похоже, что многие другие люди ищут тот же ответ. –

ответ

3

правой кнопкой мыши на сводной таблицы в Excel выбрать мастера нажмите «Назад» нажмите «Получить данные ... ' в окне запроса Файл - Определение таблицы

, то вы можете создать новый или выбрать другое соединение

+0

нет такой опции меню в Excel 2007 – Sam

2
  • правой кнопкой мыши на вкладке шарнирного le, выберите PivotTable Wizard.
  • Дважды нажмите кнопку «Назад».
  • Выберите «Источник внешних данных», нажмите «Далее».
  • Нажмите Получить данные
  • В первой вкладке Базы первый вариант «Новый источник данных»
+0

Это не работает. На странице «выбрать внешний источник данных» мастера нет кнопки getdata. И если вы нажмете «получить данные» на следующей странице, нет очевидного способа редактирования соединения. –

+0

Внесены изменения, см. Последний пункт. – Bravax

2

Это дополнение будет делать трюк для вас.

http://www.contextures.com/xlPivotPlayPlus01.html

Она показывает строку подключения, и позволяет ему изменять. Не забудьте также изменить SQL Query, если необходимо (с тем же инструментом).

1

правой кнопкой мыши на сводной таблице в первенствует выбрать мастера нажмите «Назад» нажмите «получить данные ...» в запрос окно Файл - таблица определения

, то вы можете создать новый или выберите различное подключение

работал отлично.

кнопка получения данных находится рядом с маленькой кнопкой с красной стрелкой рядом с полем ввода текста диапазона.

21

Просто вычислил его в любом месте таблицы, затем перейдите на вкладки в верхней части страницы и выберите «Параметры» - там вы увидите выбор «Изменить источник данных».

6

Похоже, это сильно зависит от вашей версии Excel. Я использую версию 2007 года и не предлагает никакой опции мастера при щелчке правой кнопкой мыши по таблице. Вам нужно щелкнуть по сводной таблице, чтобы дополнительные «Сводные инструменты» отображались справа от других вкладок в верхней части экрана. Перейдите на вкладку «Параметры», которая появляется здесь, после чего на середине ленты есть значок «Изменить источник данных».

1

для MS Excel 2000 офисной версии нажмите на сводной таблице вы найдете вкладку над Ribon, которая называется сводной таблицы инструментов - нажмите на что Вы можете изменить источник данных из вкладки Data

1

В случае Excel 2007 Вы можете изменить источник данных в меню «Параметры»/«Изменить источник данных»

2

Будьте осторожны с любым решением, которое не требует повторного создания Сводной таблицы с нуля. Возможно, что имена опций ваших сводных полей перестают синхронизироваться со значениями, которые они представляют в базе данных.

Например, в одной книге я занимаюсь демографическими данными, если вы попытаетесь выбрать вариант возрастной группы «20-24», Excel на самом деле представляет вам цифры в возрасте от 25 до 29 лет. Он не говорит вам, что это делает это, конечно.

См. Ниже программный (VBA) подход к проблеме, который решает эту проблему среди других. Я думаю, что он довольно полный/надежный, но я не использую PivotTables так, чтобы он оценил обратную связь.

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 
3

Для того, чтобы изменить источник данных с ленты в Excel 2007 ...

Нажмите на сводной таблицы на рабочем листе. Перейдите к ленте, где написано «Инструменты таблицы поворота», вкладка «Параметры». Выберите кнопку «Изменить источник данных». Появится диалоговое окно.

Чтобы получить правильный диапазон и избежать сообщения об ошибке ... выберите содержимое существующего поля и удалите его, затем переключитесь на новый лист данных и выделите область данных (диалоговое окно останется на вершине все окна). После правильного выбора нового источника данных он заполнит пустое поле (которое вы удалили до этого) в диалоговом окне. Нажмите «ОК». Вернитесь в свою сводную таблицу, и она должна обновиться с новыми данными из нового источника.