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"
|
"factsum" -> FactSum <$> o .: "sourcecolumn" <*> o .: "column"
|
||||||
"factaverage" -> FactAverage <$> o .: "sourcecolumn" <*> o .: "column"
|
"factaverage" -> FactAverage <$> o .: "sourcecolumn" <*> o .: "column"
|
||||||
"factcountdistinct" -> FactCountDistinct <$> 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
|
_ -> fail $ "Invalid fact column type: " ++ cType
|
||||||
parseJSON o = fail $ "Cannot parse fact column: " ++ show o
|
parseJSON o = fail $ "Cannot parse fact column: " ++ show o
|
||||||
|
|
||||||
|
@ -37,6 +37,8 @@ extractFactTable fact = do
|
|||||||
TenantId cName -> [ notNullSourceColumnCopy cName ]
|
TenantId cName -> [ notNullSourceColumnCopy cName ]
|
||||||
FactCount _ cName -> [ Column cName countColType NotNull ]
|
FactCount _ cName -> [ Column cName countColType NotNull ]
|
||||||
FactSum scName cName -> [ notNullSourceColumnRename scName cName ]
|
FactSum scName cName -> [ notNullSourceColumnRename scName cName ]
|
||||||
|
FactMax scName cName -> [ notNullSourceColumnRename scName cName ]
|
||||||
|
FactMin scName cName -> [ notNullSourceColumnRename scName cName ]
|
||||||
FactAverage scName cName ->
|
FactAverage scName cName ->
|
||||||
[ Column (cName <> settingAvgCountColumSuffix) countColType NotNull
|
[ Column (cName <> settingAvgCountColumSuffix) countColType NotNull
|
||||||
, notNullSourceColumnRename scName (cName <> settingAvgSumColumnSuffix)
|
, notNullSourceColumnRename scName (cName <> settingAvgSumColumnSuffix)
|
||||||
|
@ -141,6 +141,10 @@ factTablePopulateSQL popMode fact = do
|
|||||||
[ (cName, "count(" <> maybe "*" (fullColumnName fTableName) scName <> ")", False) ]
|
[ (cName, "count(" <> maybe "*" (fullColumnName fTableName) scName <> ")", False) ]
|
||||||
FactSum scName cName ->
|
FactSum scName cName ->
|
||||||
[ (cName, "sum(" <> fullColumnName fTableName scName <> ")", False) ]
|
[ (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 ->
|
FactAverage scName cName ->
|
||||||
[ ( cName <> settingAvgCountColumSuffix
|
[ ( cName <> settingAvgCountColumSuffix
|
||||||
, "count(" <> fullColumnName fTableName scName <> ")"
|
, "count(" <> fullColumnName fTableName scName <> ")"
|
||||||
|
@ -57,6 +57,8 @@ data FactColumn = DimTime !ColumnName
|
|||||||
| FactSum !ColumnName !ColumnName
|
| FactSum !ColumnName !ColumnName
|
||||||
| FactAverage !ColumnName !ColumnName
|
| FactAverage !ColumnName !ColumnName
|
||||||
| FactCountDistinct !(Maybe ColumnName) !ColumnName
|
| FactCountDistinct !(Maybe ColumnName) !ColumnName
|
||||||
|
| FactMax !ColumnName !ColumnName
|
||||||
|
| FactMin !ColumnName !ColumnName
|
||||||
deriving (Eq, Show)
|
deriving (Eq, Show)
|
||||||
|
|
||||||
factSourceColumnName :: FactColumn -> Maybe ColumnName
|
factSourceColumnName :: FactColumn -> Maybe ColumnName
|
||||||
@ -69,6 +71,8 @@ factSourceColumnName (FactCount cName _) = cName
|
|||||||
factSourceColumnName (FactSum cName _) = Just cName
|
factSourceColumnName (FactSum cName _) = Just cName
|
||||||
factSourceColumnName (FactAverage cName _) = Just cName
|
factSourceColumnName (FactAverage cName _) = Just cName
|
||||||
factSourceColumnName (FactCountDistinct cName _) = cName
|
factSourceColumnName (FactCountDistinct cName _) = cName
|
||||||
|
factSourceColumnName (FactMax cName _) = Just cName
|
||||||
|
factSourceColumnName (FactMin cName _) = Just cName
|
||||||
|
|
||||||
data Settings = Settings
|
data Settings = Settings
|
||||||
{ settingDimPrefix :: !Text
|
{ settingDimPrefix :: !Text
|
||||||
|
Loading…
Reference in New Issue
Block a user