Escolar Documentos
Profissional Documentos
Cultura Documentos
2
1. Introduccin.
3
2. Desarrollo
4
Luego seleccionamos la tabla a abrir
5
2.1.2 Alternativa B: Mediante otras fuentes
6
Ubicamos el archivo deseado
7
Seleccionamos la ubicacin de descarga de la tabla
8
2.2 Objetivo 2: Realizacin de clculos a la base de datos
Con los datos obtenidos, se genera una tabla dinmica, la cual agrupa los datos por
cada pozo, y calcula el promedio particular y general de todo la muestra
9
2.2.2 Ley Media de Cada Sondaje y General:
Para el clculo de la cubicaciones y total de tonelaje, se trabaja sobre una tabla que
mezcla dos bases de datos, esta combinacin tambin la hacemos mediante conexin
a la base de datos mediante Microsoft Query, tambin haciendo el filtro de los valores
que son cero (0). Antes de poder trabajar con los datos, debemos transformar las
columnas from2 y to en valore, para ello usamos la funcin texto en columnas, del
men datos. Primeramente, se genera un cuadro en donde se agrupan las
profundidades de cada pozo, esto lo hacemos con la formula sumar.si, este clculo
nos servir para calcular el valor Z, para el clculo del valor X, sacamos la diferencia
entre el valor mximo y mnimo de las coordenas norte, hacemos los mismo para el
clculo del valor Y, pero tomando la columna de las coordenas este. Luego
calculamos el volumen, para esto multiplicamos los valores obtenidos para Z por X
por Y. por ultimo para calcular el tonelaje, multiplicamos el volumen obtenido por la
densidad dada que fue 2,67 ton/m3.
10
2.2.3 Resultados Obtenidos
Promedio de
CUT
HOLE Total
DDH-1 0.85
DDH-10 0.78
DDH-11 0.79
DDH-12 0.81
DDH-13 0.78
DDH-14 1.16
DDH-15 1.03
DDH-16 1.28
DDH-17 1.10
DDH-18 1.13
DDH-19 0.62
DDH-2 0.81
DDH-20 1.19
DDH-21 1.07
DDH-22 0.92
DDH-23 0.93
DDH-24 0.83
DDH-25 0.63
DDH-26 1.16
DDH-27 1.95
DDH-28 1.49
DDH-29 1.04
DDH-3 1.20
DDH-30 0.97
DDH-31 0.76
DDH-32 1.06
DDH-33 1.69
DDH-34 2.78
DDH-35 1.47
DDH-36 1.40
DDH-37 1.05
DDH-38 1.21
DDH-39 2.11
DDH-4 1.21
DDH-40 4.14
DDH-41 1.84
DDH-42 1.44
11
DDH-43 0.96
DDH-44 1.16
DDH-45 1.53
DDH-46 2.09
DDH-47 3.60
DDH-48 1.54
DDH-49 0.82
DDH-5 1.27
DDH-50 1.02
DDH-51 1.24
DDH-52 1.46
DDH-53 1.66
DDH-54 2.43
DDH-6 1.17
DDH-7 0.60
DDH-8 0.58
DDH-9 0.71
Total general 1.37
12
2.3 Objetivo 3: Graficar los datos con grafico de superficie
13
2.4 Objetivo 4: Informe de cdigos utilizados
Para los clculos de Leyes medias de cada sondaje y promedio se utiliz tablas
dinmicas, en donde el valor obtenido fue configurado como promedio.
Para el clculo de la cubicaciones y total de tonelaje, se trabaja sobre una tabla que
mezcla dos bases de datos, esta combinacin tambin la hacemos mediante conexin
a la base de datos mediante Microsoft Query, tambin haciendo el filtro de los valores
que son cero (0). Antes de poder trabajar con los datos, debemos transformar las
columnas from2 y to en valore, para ello usamos la funcin texto en columnas, del
men datos. Primeramente, se genera un cuadro en donde se agrupan las
profundidades de cada pozo, esto lo hacemos con la formula sumar.si, este clculo
nos servir para calcular el valor Z, para el clculo del valor X, sacamos la diferencia
entre el valor mximo y mnimo de las coordenas norte, hacemos los mismo para el
clculo del valor Y, pero tomando la columna de las coordenas este. Luego
calculamos el volumen, para esto multiplicamos los valores obtenidos para Z por X
por Y. por ultimo para calcular el tonelaje, multiplicamos el volumen obtenido por la
densidad dada que fue 2,67 ton/m3.
14
2.5 Objetivo 5: Presentacin de cdigos fuentes
'
With ActiveSheet.ListObjects.Add(SourceType:=0, Source:=Array(Array( _
"ODBC;DSN=MS Access
Database;DBQ=C:\Users\Usuario\Desktop\COMPUTACION\BASEDATOSBUENA.acc
db;DefaultDir=C:\Users\Usuario\Desktop\COMPUT" _
), Array("ACION;DriverId=25;FIL=MS
Access;MaxBufferSize=2048;PageTimeout=5;")), _
Destination:=Range("$A$1")).QueryTable
.CommandText = Array( _
"SELECT ASSAYS.HOLE, ASSAYS.`FROM`, ASSAYS.TO, ASSAYS.CUT" &
Chr(13) & "" & Chr(10) & "FROM
`C:\Users\Usuario\Desktop\COMPUTACION\BASEDATOSBUENA.accdb`.ASSAYS
ASSAYS" & Chr(13) & "" & Chr(10) & "WHERE (ASSAYS.CUT<>0)" _
)
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
15
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.ListObject.DisplayName = "Tabla_Consulta_desde_MS_Access_Database"
.Refresh BackgroundQuery:=False
End With
End Sub
'
Range("B2").Select
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"Tabla_Consulta_desde_MS_Access_Database",
Version:=xlPivotTableVersion10). _
CreatePivotTable TableDestination:="hoja1!R3C7", TableName:= _
"TablaDinmica1", DefaultVersion:=xlPivotTableVersion10
Sheets("hoja1").Select
Cells(3, 7).Select
ActiveWorkbook.ShowPivotTableFieldList = True
ActiveSheet.PivotTables("TablaDinmica1").AddDataField
ActiveSheet.PivotTables( _
"TablaDinmica1").PivotFields("CUT"), "Suma de CUT", xlSum
With ActiveSheet.PivotTables("TablaDinmica1").PivotFields("HOLE")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("TablaDinmica1").PivotFields("Suma de CUT")
16
.Caption = "Promedio de CUT"
.Function = xlAverage
End With
End Sub
'
Cells.Select
Selection.ClearContents
End Sub
'
Columns("A:F").Select
Selection.Delete Shift:=xlToLeft
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("A1").Select
With ActiveSheet.ListObjects.Add(SourceType:=0, Source:=Array(Array( _
"ODBC;DSN=MS Access
Database;DBQ=C:\Users\Usuario\Desktop\COMPUTACION\BASEDATOSBUENA.acc
db;DefaultDir=C:\Users\Usuario\Desktop\COMPUT" _
), Array("ACION;DriverId=25;FIL=MS
17
Access;MaxBufferSize=2048;PageTimeout=5;")), _
Destination:=Range("$A$1")).QueryTable
.CommandText = Array( _
"SELECT ASSAYS.HOLE, ASSAYS.`FROM`, ASSAYS.TO, ASSAYS.CUT,
HEADER.ESTE, HEADER.NORTE" & Chr(13) & "" & Chr(10) & "FROM
`C:\Users\Usuario\Desktop\COMPUTACION\BASEDATOSBUENA.accdb`.ASSAYS
ASSAYS, `C:\Users\Usuario\Desktop\COMPUTACI" _
,_
"ON\BASEDATOSBUENA.accdb`.HEADER HEADER" & Chr(13) & "" & Chr(10)
& "WHERE ASSAYS.HOLE = HEADER.HOLE AND ((ASSAYS.CUT<>0))" _
)
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.ListObject.DisplayName = "Tabla_Consulta_desde_MS_Access_Database11"
.Refresh BackgroundQuery:=False
End With
ActiveSheet.Shapes.Range(Array("Button 2")).Select
Selection.Characters.Text = "Tablas datos mezclado"
With Selection.Characters(Start:=1, Length:=21).Font
.Name = "Calibri"
.FontStyle = "Normal"
.Size = 11
.Strikethrough = False
18
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = 1
End With
End Sub
'
Columns("B:B").Select
Selection.TextToColumns Destination:=Range("B1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(1, 1), TrailingMinusNumbers:=True
Columns("C:C").Select
Selection.TextToColumns Destination:=Range("C1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(1, 1), TrailingMinusNumbers:=True
Columns("D:D").Select
Selection.TextToColumns Destination:=Range("D1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(1, 1), TrailingMinusNumbers:=True
19
Range("L14").Select
End Sub
'
Range("H2").Select
ActiveCell.FormulaR1C1 = "DDH-1"
Range("H2").Select
Selection.AutoFill Destination:=Range("H2:H55"), Type:=xlFillDefault
Range("H2:H55").Select
Range("I56").Select
ActiveCell.FormulaR1C1 = "=AVERAGE(R[-54]C:R[-1]C)"
Range("I57").Select
ActiveWindow.ScrollRow = 32
ActiveWindow.ScrollRow = 26
ActiveWindow.ScrollRow = 1
Range("I2").Select
ActiveCell.FormulaR1C1 = "=SUMIF(C[-8],RC[-1],C[-6])-SUMIF(C[-8],RC[-1],C[-7])"
Range("I2").Select
Selection.AutoFill Destination:=Range("I2:I55")
Range("I2:I55").Select
Range("K2").Select
ActiveCell.FormulaR1C1 = "=+R[54]C[-2]"
Range("K3").Select
ActiveWindow.ScrollRow = 1
Range("K1").Select
ActiveCell.FormulaR1C1 = "Z"
20
Range("K2").Select
End Sub
'
Range("L1").Select
ActiveCell.FormulaR1C1 = "X"
Range("L2").Select
ActiveCell.FormulaR1C1 = "=MAX(C[-6])-MIN(C[-6])"
Range("L3").Select
End Sub
'
Range("M1").Select
ActiveCell.FormulaR1C1 = "Y"
Range("M2").Select
ActiveCell.FormulaR1C1 = "=MAX(C[-8])-MIN(RC[-8]:R[2711]C[-8])"
Range("M3").Select
End Sub
21
2.5.9 Calcular volumen total
Sub VolumenTT()
'
' VolumenTT Macro
'
'
Range("K4").Select
ActiveCell.FormulaR1C1 = "Volumen Total (Z*X*Y)"
Range("L4").Select
ActiveCell.FormulaR1C1 = "=R[-2]C[-1]*R[-2]C*R[-2]C[1]"
Range("K5").Select
ActiveCell.FormulaR1C1 = "Tonelaje TT"
Range("K5").Select
Selection.ClearContents
End Sub
'
Range("K5").Select
ActiveCell.FormulaR1C1 = "Ton Total (dens 2.7 ton/m3)"
Range("K5").Select
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlBottom
.WrapText = True
.Orientation = 0
22
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Range("L5").Select
ActiveCell.FormulaR1C1 = "=R[-1]C*2.7"
Range("L5").Select
End Sub
'
Cells.Select
Selection.ClearContents
End Sub
23
3. Conclusiones
Las herramientas con las cuales se han desarrolla este trabajo nos permiten minimizar
los tiempos de anlisis y obtencin de datos, adems de garantizar que cada vez que
podamos tener alguna actualizacin de los datos fuentes, estos sern cargados y
podrn ser utilizados, sin que se tenga que volver a configurar de nuevo.
Con esto podremos trabajar con archivos de datos de gran tamao y en menor tiempo,
pudiendo dedicar ms recursos al anlisis y toma de decisiones, los cuales hoy por hoy,
son claves en el mundo laboral actual.
24