Comment modifier la source de données du tableau de pivotement dans Excel? [fermé]
je veux le changer d'une base de données à une autre.
il ne semble pas y avoir d'options pour faire cela dans le menu contextuel de la table de pivotement
10 réponses
il suffit de le comprendre-cliquez n'importe où dans la table, puis allez aux onglets en haut de la page et sélectionnez Options-à partir de là, vous verrez une sélection de sources de données de changement.
on dirait que cela dépend fortement de votre version D'Excel. J'utilise la version 2007 et elle n'offre aucune option de magicien lorsque vous faites un clic droit sur la table. Vous devez cliquer sur la table de pivotement pour faire apparaître des "outils pivotants" supplémentaires à la droite des autres onglets en haut de l'écran. Cliquez sur l'onglet "options" qui apparaît ici, puis il y a une grande icône au milieu du ruban nommé "change data source".
clic droit sur la table pivotante dans excel choisissez assistant cliquez sur 'retour' cliquez sur " obtenir les données...' dans la fenêtre de requête Fichier De Définition De La Table
alors vous pouvez créer une nouvelle connexion ou choisir une connexion différente
afin de changer la source de données du ruban dans excel 2007...
cliquez sur votre table de pivotement dans la feuille de travail. Allez sur le ruban où il est indiqué de pivoter les outils de Table, onglet Options. Sélectionnez le bouton Modifier la Source des données. Une boîte de dialogue apparaîtra.
pour obtenir la bonne portée et éviter un message d'erreur... sélectionnez le contenu du champ existant et supprimez-le, puis passez à la nouvelle feuille de travail source de données et mettez en surbrillance la zone de données (la boîte de dialogue restera sur dessus de toutes les fenêtres). Une fois que vous avez sélectionné la nouvelle source de données correctement, il remplira le champ vide (que vous avez supprimé auparavant) dans la boîte de dialogue. Cliquez sur OK. Revenez à votre tableau croisé dynamique et devrait être mis à jour avec les nouvelles données de la nouvelle source.
- clic droit sur la table de pivotement, choisir L'Assistant pivotable.
- cliquez deux fois sur le bouton "Retour".
- choisir une Source de données externe, cliquez sur Suivant.
- Cliquez Sur Obtenir Des Données
- dans le premier onglet, bases de données la première option est 'New Data Source'
cet Add-on fera l'affaire pour vous.
http://www.contextures.com/xlPivotPlayPlus01.html
Il affiche la chaîne de connexion, et lui permet d'être changé. N'oubliez pas de changer le SQL de requête aussi, si nécessaire (avec le même outil).
méfiez-vous de toute solution qui n'implique pas de recréer le pivot à partir de zéro. Il est possible que les noms des options de vos champs de pivot ne soient pas synchronisés avec les valeurs qu'ils présentent dans la base de données.
par exemple, dans un cahier où je traite des données démographiques, si vous essayez de sélectionner l'option "tranche d'âge de 20 à 24 ans", Excel vous présente en fait les chiffres pour les 25 à 29 ans. Ça ne vous dit pas qu'il fait ça, bien sûr.
Voir ci-dessous pour une approche programmatique (VBA) du problème qui résout ce problème entre autres. Je pense que c'est assez complet/robuste, mais je n'utilise pas pivotables beaucoup donc apprécierait la rétroaction.
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
clic droit sur la table de pivotement excel choisir l'Assistant cliquer "retour" cliquer 'obtenir les données..."dans le fichier de la fenêtre de requête - Définition De La Table
alors vous pouvez créer un nouveau ou choisir un différents connexion
a parfaitement fonctionné.
le bouton get data est à côté du bouton minuscule avec une flèche rouge à côté de la zone de saisie du texte.
pour MS excel 2000 office version, cliquez sur le tableau croisé dynamique vous trouverez un onglet au - dessus du ribon, appelé outil pivotable-cliquez sur ce Vous pouvez changer la source de données à partir de l'onglet Données
dans le cas D'Excel 2007, vous pouvez modifier la source de données dans le menu Options / Modifier la Source de données