Excel crosstabs, pivot tables FAQ and best practices
1.2. Modify source SQL statement of Excel Pivot Table
To modify MS Excel crosstab source SQL statement, use the following script:
Note: Use the immediate window in VBA editor to track output (Ctrl+G)
' (c) www.etl-tools.info
Sub ModifyPivotSql()
Dim pc As PivotCache
Dim oldSql As String
Dim newSql As String
newSql = "SELECT * FROM NEW_FACT_TABLE"
For Each pc In ActiveWorkbook.PivotCaches
oldSql = pc.Sql
Debug.Print "Before: " & oldSql
pc.Sql = Application.Substitute(pc.Sql, oldSql, newSql)
Debug.Print "After: " & pc.Sql
Next pc
End Sub