Adds max and min fact column types.
This commit is contained in:
parent
089ce59f20
commit
4a7682320b
@ -59,6 +59,8 @@ instance FromJSON FactColumn where
|
||||
"factsum" -> FactSum <$> o .: "sourcecolumn" <*> o .: "column"
|
||||
"factaverage" -> FactAverage <$> o .: "sourcecolumn" <*> o .: "column"
|
||||
"factcountdistinct" -> FactCountDistinct <$> o .:? "sourcecolumn" <*> o .: "column"
|
||||
"factmax" -> FactMax <$> o .: "sourcecolumn" <*> o .: "column"
|
||||
"factmin" -> FactMin <$> o .: "sourcecolumn" <*> o .: "column"
|
||||
_ -> fail $ "Invalid fact column type: " ++ cType
|
||||
parseJSON o = fail $ "Cannot parse fact column: " ++ show o
|
||||
|
||||
|
@ -37,6 +37,8 @@ extractFactTable fact = do
|
||||
TenantId cName -> [ notNullSourceColumnCopy cName ]
|
||||
FactCount _ cName -> [ Column cName countColType NotNull ]
|
||||
FactSum scName cName -> [ notNullSourceColumnRename scName cName ]
|
||||
FactMax scName cName -> [ notNullSourceColumnRename scName cName ]
|
||||
FactMin scName cName -> [ notNullSourceColumnRename scName cName ]
|
||||
FactAverage scName cName ->
|
||||
[ Column (cName <> settingAvgCountColumSuffix) countColType NotNull
|
||||
, notNullSourceColumnRename scName (cName <> settingAvgSumColumnSuffix)
|
||||
|
@ -141,6 +141,10 @@ factTablePopulateSQL popMode fact = do
|
||||
[ (cName, "count(" <> maybe "*" (fullColumnName fTableName) scName <> ")", False) ]
|
||||
FactSum scName cName ->
|
||||
[ (cName, "sum(" <> fullColumnName fTableName scName <> ")", False) ]
|
||||
FactMax scName cName ->
|
||||
[ (cName, "max(" <> fullColumnName fTableName scName <> ")", False) ]
|
||||
FactMin scName cName ->
|
||||
[ (cName, "min(" <> fullColumnName fTableName scName <> ")", False) ]
|
||||
FactAverage scName cName ->
|
||||
[ ( cName <> settingAvgCountColumSuffix
|
||||
, "count(" <> fullColumnName fTableName scName <> ")"
|
||||
|
@ -57,6 +57,8 @@ data FactColumn = DimTime !ColumnName
|
||||
| FactSum !ColumnName !ColumnName
|
||||
| FactAverage !ColumnName !ColumnName
|
||||
| FactCountDistinct !(Maybe ColumnName) !ColumnName
|
||||
| FactMax !ColumnName !ColumnName
|
||||
| FactMin !ColumnName !ColumnName
|
||||
deriving (Eq, Show)
|
||||
|
||||
factSourceColumnName :: FactColumn -> Maybe ColumnName
|
||||
@ -69,6 +71,8 @@ factSourceColumnName (FactCount cName _) = cName
|
||||
factSourceColumnName (FactSum cName _) = Just cName
|
||||
factSourceColumnName (FactAverage cName _) = Just cName
|
||||
factSourceColumnName (FactCountDistinct cName _) = cName
|
||||
factSourceColumnName (FactMax cName _) = Just cName
|
||||
factSourceColumnName (FactMin cName _) = Just cName
|
||||
|
||||
data Settings = Settings
|
||||
{ settingDimPrefix :: !Text
|
||||
|
Loading…
Reference in New Issue
Block a user