كيفية تغيير مصدر بيانات الجدول Pivot في Excel؟ [مغلق
-
05-09-2019 - |
سؤال
أريد تغييره من قاعدة بيانات واحدة إلى أخرى.
لا يبدو أن هناك أي خيارات للقيام بذلك على قائمة سياق الجدول المحوري
المحلول 3
انقر بزر الماوس الأيمن فوق جدول المحور في Excel، اختر "معالج" انقر فوق "الرجوع"، انقر فوق "احصل على البيانات ..." في ملف نافذة الاستعلام - تعريف الجدول
ثم يمكنك إنشاء اتصال جديد أو اختيار
نصائح أخرى
فقط احسب ذلك في أي مكان في أي مكان في الجدول، ثم انتقل إلى علامات التبويب في الجزء العلوي من الصفحة وحدد الخيارات - من هناك، سترى اختيار مصدر بيانات تغيير.
يبدو أن هذا يعتمد بشدة على نسختك من Excel. أنا أستخدم إصدار 2007 ولا يقدم أي خيار معالج عند النقر بزر الماوس الأيمن على الجدول. تحتاج إلى النقر فوق جدول المحور لإجراء "أدوات PivotTable" الإضافية تظهر على يمين علامات التبويب الأخرى في الجزء العلوي من الشاشة. انقر فوق علامة التبويب "خيارات" التي تظهر هنا ثم هناك أيقونة كبيرة في منتصف الشريط المسمى "تغيير مصدر البيانات".
من أجل تغيير مصدر البيانات من الشريط في Excel 2007 ...
انقر فوق جدول المحور الخاص بك في ورقة العمل. انتقل إلى الشريط حيث تقول أدوات الجدول المحورية، تبويب الخيارات. حدد زر تغيير مصدر البيانات. سيظهر مربع الحوار.
للحصول على النطاق الصحيح وتجنب رسالة خطأ ... حدد محتويات الحقل الموجود وحذفه، ثم قم بالتبديل إلى ورقة عمل مصدر البيانات الجديدة وتسليط الضوء على منطقة البيانات (سيبقى مربع الحوار في أعلى جميع النوافذ). بمجرد تحديد مصدر البيانات الجديد بشكل صحيح، سيقوم بملء الحقل الفارغ (الذي قمت بحذفه من قبل) في مربع الحوار. انقر فوق موافق. قم بالتبديل إلى جدول المحور الخاص بك ويجب تحديث البيانات الجديدة من المصدر الجديد.
- انقر بزر الماوس الأيمن على جدول PIVOT، واختر معالج PivotTable.
- انقر فوق الزر "الخلفي" مرتين.
- اختر مصدر البيانات الخارجي، انقر فوق التالي.
- انقر فوق الحصول على البيانات
- في علامة التبويب الأولى، قواعد البيانات الخيار الأول هو "مصدر بيانات جديد"
هذه الوظيفة الإضافية ستفعل الحيلة لك.
http://www.contextures.com/xlpivoPlayplus01.html.
يوضح سلسلة الاتصال، ويسمح بتغييرها. لا تنس تغيير استعلام SQL أيضا، إذا لزم الأمر (مع نفس الأداة).
كن حذرا بعض الشيء من أي حل لا ينطوي على إعادة إنشاء PivotTable من الصفر. من الممكن وجود أسماء خيار حقول المحور الخاص بك من المزامنة مع القيم التي يقدمونها إلى قاعدة البيانات.
على سبيل المثال، في مصنف واحد، أتعامل مع إشراك البيانات الديموغرافية، إذا حاولت تحديد خيار "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، اختر "معالج" انقر فوق "الرجوع"، انقر فوق "احصل على البيانات ..." في ملف نافذة الاستعلام - تعريف الجدول
ثم يمكنك إنشاء اتصال جديد أو اختيار
عملت تماما.
يوجد زر Get Data بجوار الزر الصغير باستخدام سهم أحمر بجانب مربع إدخال نص النطاق.
للحصول على إصدار Office MS Excel 2000، انقر فوق الجدول المحوري، ستجد علامة تبويب أعلى من ribon، وتسمى أداة PivotTable - انقر على ذلك يمكنك تغيير مصدر البيانات من علامة تبويب البيانات
في حالة Excel 2007، يمكنك تغيير DataSource في قائمة الخيارات / تغيير مصدر البيانات