Class: Twb::Analysis::CalculatedFields::CSVEmitter
- Inherits:
-
Object
- Object
- Twb::Analysis::CalculatedFields::CSVEmitter
- Defined in:
- lib/twb/analysis/calculatedfields/csvemitter.rb
Instance Attribute Summary collapse
-
#calcFieldsCount ⇒ Object
readonly
Returns the value of attribute calcFieldsCount.
-
#calcFieldsFile ⇒ Object
readonly
Returns the value of attribute calcFieldsFile.
-
#calcFieldsHeader ⇒ Object
readonly
Returns the value of attribute calcFieldsHeader.
-
#calcFieldsRecords ⇒ Object
readonly
Returns the value of attribute calcFieldsRecords.
-
#calcFieldsType ⇒ Object
readonly
Returns the value of attribute calcFieldsType.
-
#csvFiles ⇒ Object
readonly
Returns the value of attribute csvFiles.
-
#dictionary ⇒ Object
readonly
Returns the value of attribute dictionary.
-
#refFieldsCount ⇒ Object
readonly
Returns the value of attribute refFieldsCount.
-
#refFieldsFile ⇒ Object
readonly
Returns the value of attribute refFieldsFile.
-
#refFieldsHeader ⇒ Object
readonly
Returns the value of attribute refFieldsHeader.
-
#refFieldsRecords ⇒ Object
readonly
Returns the value of attribute refFieldsRecords.
-
#refFieldsType ⇒ Object
readonly
Returns the value of attribute refFieldsType.
Instance Method Summary collapse
-
#initialize ⇒ CSVEmitter
constructor
A new instance of CSVEmitter.
-
#processTwb(twbFileName) ⇒ Object
def calcFieldsHeader @refFieldsHeader end.
Constructor Details
#initialize ⇒ CSVEmitter
Returns a new instance of CSVEmitter.
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/twb/analysis/calculatedfields/csvemitter.rb', line 28 def initialize @calcFieldsContents = 'Calculated Fields with Formulas' @calcFieldsType = 'CalculatedFieldsWithFormulas' @calcFieldsHeader = ['Record #', 'Workbook', 'Workbook Dir', 'Data Source Name (tech)', 'Data Source Caption', 'Data Source Name', 'Field Name (tech)', 'Field Caption', 'Field Name', 'Data Source + Field Name (tech)', 'Formula (flat)', 'Formula Length', 'Formula Table Calc?', 'Formula LOD?', 'Formula LOD Code Position' ] @refFieldsContents = 'Fields referenced in Calculated Fields Formulae' @refFieldsType = 'CalculatedFieldsReferencedFields' @refFieldsHeader = ['Record #', 'Workbook', 'Workbook Dir', 'Data Source Name (tech)', 'Data Source Caption', 'Data Source Name', 'Field Name (tech)', 'Field Caption', 'Field Name', 'Referenced Field', 'Referenced DataSource', 'Referenced DataSource Location' ] @dictionary = [ { :contents => @calcFieldsContents, :fileType => @calcFieldsType, :fileHeader => @calcFieldsHeader }, { :contents => @refFieldsContents, :fileType => @calcFieldsType, :fileHeader => @calcFieldsHeader } ] end |
Instance Attribute Details
#calcFieldsCount ⇒ Object (readonly)
Returns the value of attribute calcFieldsCount.
24 25 26 |
# File 'lib/twb/analysis/calculatedfields/csvemitter.rb', line 24 def calcFieldsCount @calcFieldsCount end |
#calcFieldsFile ⇒ Object (readonly)
Returns the value of attribute calcFieldsFile.
24 25 26 |
# File 'lib/twb/analysis/calculatedfields/csvemitter.rb', line 24 def calcFieldsFile @calcFieldsFile end |
#calcFieldsHeader ⇒ Object (readonly)
Returns the value of attribute calcFieldsHeader.
24 25 26 |
# File 'lib/twb/analysis/calculatedfields/csvemitter.rb', line 24 def calcFieldsHeader @calcFieldsHeader end |
#calcFieldsRecords ⇒ Object (readonly)
Returns the value of attribute calcFieldsRecords.
24 25 26 |
# File 'lib/twb/analysis/calculatedfields/csvemitter.rb', line 24 def calcFieldsRecords @calcFieldsRecords end |
#calcFieldsType ⇒ Object (readonly)
Returns the value of attribute calcFieldsType.
24 25 26 |
# File 'lib/twb/analysis/calculatedfields/csvemitter.rb', line 24 def calcFieldsType @calcFieldsType end |
#csvFiles ⇒ Object (readonly)
Returns the value of attribute csvFiles.
26 27 28 |
# File 'lib/twb/analysis/calculatedfields/csvemitter.rb', line 26 def csvFiles @csvFiles end |
#dictionary ⇒ Object (readonly)
Returns the value of attribute dictionary.
26 27 28 |
# File 'lib/twb/analysis/calculatedfields/csvemitter.rb', line 26 def dictionary @dictionary end |
#refFieldsCount ⇒ Object (readonly)
Returns the value of attribute refFieldsCount.
25 26 27 |
# File 'lib/twb/analysis/calculatedfields/csvemitter.rb', line 25 def refFieldsCount @refFieldsCount end |
#refFieldsFile ⇒ Object (readonly)
Returns the value of attribute refFieldsFile.
25 26 27 |
# File 'lib/twb/analysis/calculatedfields/csvemitter.rb', line 25 def refFieldsFile @refFieldsFile end |
#refFieldsHeader ⇒ Object (readonly)
Returns the value of attribute refFieldsHeader.
25 26 27 |
# File 'lib/twb/analysis/calculatedfields/csvemitter.rb', line 25 def refFieldsHeader @refFieldsHeader end |
#refFieldsRecords ⇒ Object (readonly)
Returns the value of attribute refFieldsRecords.
25 26 27 |
# File 'lib/twb/analysis/calculatedfields/csvemitter.rb', line 25 def refFieldsRecords @refFieldsRecords end |
#refFieldsType ⇒ Object (readonly)
Returns the value of attribute refFieldsType.
25 26 27 |
# File 'lib/twb/analysis/calculatedfields/csvemitter.rb', line 25 def refFieldsType @refFieldsType end |
Instance Method Details
#processTwb(twbFileName) ⇒ Object
def calcFieldsHeader
@refFieldsHeader
end
87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 |
# File 'lib/twb/analysis/calculatedfields/csvemitter.rb', line 87 def processTwb twbFileName twb = File.basename(twbFileName) @twb = Twb::Workbook.new twb # -- @calcFieldsFile = "#{twb}.#{@calcFieldsType}.csv" @csvCalcFile = CSV.open(@calcFieldsFile,'w') @csvCalcFile << @calcFieldsHeader @calcFieldsCount = 0 @calcFieldsRecords = [] # -- @refFieldsFile = "#{twb}.#{@refFieldsType}.csv" # twb + '.CalcReferenceFields.csv' @csvRefFile = CSV.open(@refFieldsFile,'w') @csvRefFile << @refFieldsHeader @refFieldsCount = 0 @refFieldsRecords = [] # -- @csvFiles = [ { :contents => @calcFieldsContents, :name => @calcFieldsFile, :records => @calcFieldsRecords }, { :contents => @refFieldsContents, :name => @refFieldsFile, :records => @refFieldsRecords } ] # -- dss = @twb.datasources dss.each do |ds| calcFields = ds.calculatedFieldsMap.sort_by { |fldName,calc| fldName } calcFields.each do |fldname, field| formRecord = [ @calcFieldsCount += 1, @twb.name, @twb.dir, ds.name, ds., ds.uiname, field.name, field., field.uiname, "#{ds.name}.#{field.name}", field.calculation.formulaFlatResolved, field.calculation.formula.length, field.calculation.is_tableCalc, field.calculation.is_lod, field.calculation.lodCodePos ] @calcFieldsRecords.push formRecord @csvCalcFile << formRecord #-- field.calculation.calcFields.each do |cf| refRecord = [ @refFieldsCount += 1, @twb.name, @twb.dir, ds.name, ds., ds.uiname, field.name, field., field.uiname, cf.uiName, cf.dataSource, cf.dataSourceRef, ] @refFieldsRecords.push refRecord @csvRefFile << refRecord end end end @csvCalcFile.close unless @csvCalcFile.nil? @csvRefFile.close unless @csvRefFile.nil? end |