Я хочу изменить его из одной базы данных в другую.
Кажется, что нет никаких параметров для этого в контекстном меню сводной таблицы
Я хочу изменить его из одной базы данных в другую.
Кажется, что нет никаких параметров для этого в контекстном меню сводной таблицы
щелкните правой кнопкой мыши на сводной таблице в excel выбрать мастера нажмите "назад" нажмите "получить данные..." в окне запроса Определение файла - таблицы
то вы можете создать новое или выбрать другое соединение
Просто вычислил его в любом месте таблицы, затем перейдите на вкладки в верхней части страницы и выберите "Параметры" - там вы увидите выбор "Изменить источник данных".
Похоже, это сильно зависит от вашей версии Excel. Я использую версию 2007 года и не предлагает никакой опции мастера при щелчке правой кнопкой мыши по таблице. Вам нужно щелкнуть по сводной таблице, чтобы дополнительные "Сводные инструменты" отображались справа от других вкладок в верхней части экрана. Перейдите на вкладку "Параметры", которая появляется здесь, после чего на середине ленты есть большой значок с именем "изменить источник данных".
Чтобы изменить источник данных с ленты в excel 2007...
Нажмите на свою сводную таблицу на листе. Перейдите к ленте, где написано "Инструменты таблицы поворота", вкладка "Параметры". Выберите кнопку "Изменить источник данных". Появится диалоговое окно.
Чтобы получить правильный диапазон и избежать сообщения об ошибке... выберите содержимое существующего поля и удалите его, затем переключитесь на новый лист источника данных и выделите область данных (диалоговое окно останется поверх всех окна). После правильного выбора нового источника данных он заполнит пустое поле (которое вы удалили до этого) в диалоговом окне. Нажмите "ОК". Вернитесь к сводной таблице, и она должна обновиться с новыми данными из нового источника.
Это дополнение поможет вам.
http://www.contextures.com/xlPivotPlayPlus01.html
Показывает строку подключения и позволяет ее изменять. Не забудьте также изменить Query SQL, если необходимо (с тем же инструментом).
Будьте осторожны с любым решением, которое не требует повторного создания Сводной таблицы с нуля. Возможно, что имена опций ваших сводных полей перестают синхронизироваться со значениями, которые они представляют в базе данных.
Например, в одной книге я занимаюсь вовлечением демографических данных, если вы попытаетесь выбрать вариант возрастной группы "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
щелкните правой кнопкой мыши на сводной таблице в excel выберите мастера, нажмите "назад" "получить данные..." в окне запроса Файл - Определение таблицы
то вы можете создать новое или выбрать другое соединение
работал отлично.
кнопка ввода данных находится рядом с маленькой кнопкой с красной стрелкой рядом с полем ввода текста диапазона.
для офисной версии MS excel 2000, нажмите на сводную таблицу вы найдете вкладку над рибоном, называемую инструментом Pivottable, - нажмите на эту Вы можете изменить источник данных на вкладке "Данные"
В случае Excel 2007 вы можете изменить источник данных в меню "Параметры" / "Изменить источник данных"