|          用 Smartbi 时是不是总被数据格式 “绕晕”?默认浮点型只显两位小数,可偏偏在数据连接查询时看到一种格式,数据准备环节又变了样,到报表开发时还得根据不同场景调整 : 一会儿要精准的多位数展示,一会儿又需简化格式适配业务需求。更让人头疼的是,不同应用范围、不同业务场景下,格式设置入口还藏在不同地方!别慌,想快速搞懂怎么选入口、怎么轻松设置?本文带你一步到位,助你玩转 Smartbi 数据格式,告别格式适配烦恼~ 
   
 一、有什么用
 数据格式是指用于设置数据字段显示的格式类型,方便我们在新建业务查询、计算字段、不用报表展示等各种资源时引用多种数据格式,例如“折扣”字段本来源数据是浮点小数,报表展示需设为百分比格式更易于展示: 
 
 
   
 二、怎么使用
          先给大家揭秘 Smartbi 的 “默认操作”:为了贴合日常使用习惯,系统早早就给整型、浮点型、字符串这些常见数据类型,配好了 “专属默认格式”!比如咱们最常碰到的浮点型,默认就是清爽的两位小数,既不带多余前后缀,也不用折腾系数转换,省心又直接。 
          可一到实际对接业务、开发报表时,情况就变复杂啦 —— 财务报表可能需要保留四位小数算准分毫,销售大屏又得简化成整数更直观,不同业务场景的展示需求简直 “各有各的讲究”。 
 这时候问题来了:怎么根据自己需要的应用范围、业务需求,快速找到对应的格式设置入口呢?别着急,接下来咱们就逐个拆解,把这个难题轻松搞定! 
 
 根据影响范围不同,我们可以全局设置或局部设置,其中不同设置优缺点不同,可按照所需场景需求选择使用:
 
 
 
 
 
 影响范围 
 | 
 
 入口 
 | 
 
 优点 
 | 
 
 缺点 
 | 
 
 常用推荐场景 
 | 
 
 
 
 全局设置 
 | 
 
 运维设置 — 数据格式 — 对应数据类型 
 注:可以新增或修改 
 | 
 
 统一设置,不需重复设置 
 | 
 
 影响范围大 
 权限要求高 
 | 
 
 数据格式常规且固定,数据源表直接设置选择一次格式可影响后续引用到的数据集和报表 
 | 
 
 
 
 局部设置 
 | 
 
 数据集、报表的字段属性 
 | 
 
 不同的数据集、报表灵活个性化设置 
 | 
 
 复用程度低 
 | 
 
 个别数据集或个别报表有特殊数据格式展示需求 
 | 
 
 
 
   
 1、全局设置
 运维设置——全局资源定义——数据格式,双击打开设置,我们可以修改已有内置默认的格式,也可以添加自定义的全局应用格式以供使用时去快速选择: 
 
 
   
 
 不同类型的数据,其数据格式设置窗口不同。系统支持的各数据格式的设置项说明如下:
 
 
 
 
 
 数据类型 
 | 
 
 设置项 
 | 
 
 说明 
 | 
 
 
 
 整型 
 | 
 
 名称 
 | 
 
 数据格式的名称,用于后续选择判断。 
 | 
 
 
 
 前缀 
 | 
 
 例如添加 ¥、$ 等。 
 | 
 
 
 
 后缀 
 | 
 
 例如 元、% 等。 
 | 
 
 
 
 数据格式 
 | 
 
 可以选择显示千分位或者科学计数法,默认是否。 
 | 
 
 
 
 变换系数 
 | 
 
 选择数据格式的变换系数,选择项有:万元、千元、百分比。默认值是“1”。 
 | 
 
 
 
 浮点型 
 | 
 
 名称 
 | 
 
 据格式的名称,用于后续选择判断。 
 | 
 
 
 
 前缀 
 | 
 
 例如添加 ¥、$ 等。 
 | 
 
 
 
 后缀 
 | 
 
 例如 元、% 等。 
 | 
 
 
 
 小数点位数 
 | 
 
 设置小数点后的位数,允许选择的范围是“0-9”,默认值是“0”。 
 | 
 
 
 
 数据格式 
 | 
 
 可以选择显示千分位或者科学计数法,默认是否。 
 | 
 
 
 
 变换系数 
 | 
 
 选择数据格式的变换系数,选择项有:万元、千元、百分比。默认值是“1”。 
 | 
 
 
 
 字符串 
 | 
 
 名称 
 | 
 
 数据格式的真名。 
 | 
 
 
 
 前缀 
 | 
 
 按需添加字符串的前缀。 
 | 
 
 
 
 后缀 
 | 
 
 按需添加字符串的后缀。 
 | 
 
 
 
 日期 
 | 
 
 名称 
 | 
 
 数据格式的真名。 
 | 
 
 
 
 日期格式 
 | 
 
 设置日期显示样式,如“yyyy-mm-dd”、“yyyy/mm/dd”等。 
 | 
 
 
 
 时间 
 | 
 
 名称 
 | 
 
 数据格式的真名。 
 | 
 
 
 
 时间格式 
 | 
 
 设置时间显示样式,如“hh:mm:ss”、h:m:s”等。 
 | 
 
 
 
 日期时间 
 | 
 
 名称 
 | 
 
 数据格式的真名。 
 | 
 
 
 
 日期格式 
 | 
 
 设置日期显示样式,如“yyyy-mm-dd”、“yyyy/mm/dd”等。 
 | 
 
 
 
 时间格式 
 | 
 
 设置时间显示样式,如“hh:mm:ss”、h:m:s”等。 
 | 
 
 
 
 时间层次 
 | 
 
 显示格式 
 | 
 
 设置数据模型中时间层次数据格式的层次格式,如:yyyy、yyyy年、Hh、hh半年、Q、yyyy年Q季、MM、yyyy年M月等;注:1)已内置涉及常用的年、季、月、周、日等三十多种数据格式和示例,不可修改,可另外添加使用;
 2)查看时可根据具体年、半年、年季、年月、年周,年月日等选择类型过滤查看。
 
 | 
 
 
 
   
 举个栗子: 
 数据源表存储的是浮点型两位小数的业务数据,单位为元,但是仪表盘报表最终展示希望显示为:“¥**万元”,代表人民币**万元的格式显示; 
 我们就可以到运维设置——数据格式——找到浮点型类型目录——添加万元显示的格式使用:除了需设置系数乘以0.0001以外,数据格式还需设置前缀、后缀显示。 
 
 
   
 报表展示效果如下: 
 
 
   
 2、局部设置
 
 分数据连接、数据准备、报表开发界面,不同类型入口操作不同:
 
 (1)数据连接
 前提:只支持选公共预设定义好的数据格式。 
 设置好数据连接获取数据库业务数据时,加载表时会根据表字段的数据类型默认识别出对应的数据类型,根据数据类型,系统会默认自动设置对应默认的数据格式,但我们可以选数据格式资源维护好的其他数据格式,范围影响是后续引用到这个数据源表的数据准备、报表等: 
 
 
   
   
 例如,初步查看对接业务数据没问题后,新建数据模型,选这个数据库表,可看到默认已经变成表自定义选择的数据格式-整型: 
 
 
   
 (2)数据准备:只支持选公共预设定义好的数据格式
 为实现不同业务需求,我们可能会提前定义好不同主题的数据集供创建报表选择使用,在定义数据集时,我们也能自定义设置使用不同数据格式以满足不同业务主题需求,影响范围是后续应用到这个数据集的资源。 
 1)数据模型:
 在表字段属性区修改的,会同步影响到维度区的数据格式: 
 
 
   
 
 
   
 当然,右键字段——属性,你也能设置自定义更换数据格式,也即子查询下方的表字段属性和维度区的字段属性修改数据格式是同步的: 
 
 
   
 特别的是,度量涉及不同计算和新建自定义表达式内容,是另外自动生成识别的,与原设置不一定相同,像这里自动识别是长整型了;并且,修改属性的格式,也不影响到原子查询表属性或维度区隐藏对应的字段: 
 
 
   
 
 
   
 2)其他旧数据集入口列表如下:
 
 
 
 
 原生SQL数据集/SQL数据集
 
 | 
 
 
 
 | 
 
 
 
 可视化数据集 
 | 
  | 
 
 
 
 自助数据集 
 | 
 
 
 
 | 
 
 
 
 存储过程数据集 
 | 
 
 
 
 | 
 
 
 
 JAVA数据集 
 | 
 
 
 
 | 
 
 
 
 多维数据集 
 | 
 
 
 
 | 
 
 
 
   
 (3)分析报表:
 注:除了可选系统公共设置的已有数据格式,还支持自定义设置,且自定义设置仅当前报表有效。 
 1)仪表盘:
 选字段后,鼠标悬浮上去点击三个点,选数据格式点击进入设置: 
 
 
   
 
 
   
 2)即席查询:
 ①新即席查询,也是选字段后,鼠标悬浮上去点击三个点,选数据格式点击进入设置: 
 
 
   
 ②旧即席查询,工具栏点“字段”按钮进去,字段设置可自定义数据格式: 
 
 
   
 3)透视分析:
 ①新透视分析报表,选字段后,鼠标悬浮上去点击三个点,选数据格式点击进入设置: 
 
 
   
 ②旧透视分析:度量区字段右键或点击箭头——高级设置——数据格式设置: 
 
 
   
 
 
   
 4)电子表格:
 ①报表数据集可以直接设置: 
 
 
   
 ②元格Excel自身格式可以自定义: 
 
 
   
 ③单元格属性可以设置是否应用数据层格式设置,取消勾选可获取真实值显示: 
 
 
   
 ④单元格可以辅助列公式设置格式: 
 
 
   
 5)WEB电子表格
 注:与电子表格类似,入口略有不同。 
 ①报表数据集可以直接设置: 
 
 
   
 ②单元格-工具栏-格式设置: 
 
 
   
 ③单元格-属性可以设置是否应用数据层格式设置,选否的话可获取真实值显示: 
 
 
   
 ④类似电子表格报表使用Excel公式辅助列设置格式: 
 
 
   
 三、特殊使用场景
 1、单元格设置万元设置无效果
 问题描述: 
 web电子表格里新建模型汇总查询里设置了格式,但是拖拽到web电子表格里就不是万元格式了,这是什么原因呢? 
  
            
 处理方案: 
 对于数值类型的,只是设置了数据格式,对于有变化系数的,目前除了百分千分这两个即变换系数为100或者是0.001,其他的目前都无法使用通用excel单元格格式去适配,因此不支持;在这种情况下,若对应字段在电子表格中是非汇总,也即设置是分组或列表的话则会变成对应格式的字符串可以保留格式,而web电子表格里对应字段的数据设置若是汇总,汇总值是显示真实值的,汇总情况下如果WEB电子表格里面要显示万元需要配合辅助单元格实现。 
 
 
   
 
 
         
 2、单元格设置过滤条件返回结果不正常
 问题描述: 
 字段A的数据类型是长浮点型,SQL查询字段A=1或=1.00都有结果返回的,在电子表格里面单元格属性过滤的用字段A等于1或者字段A等于1.00做条件都查不出来数据,请问是什么问题呢? 
 
 
   
 处理方案: 
 单元格属性过滤是通过后端java做的结果集过滤的,不是直接执行SQL,长浮点型的数据有的情况下在展示时调用的第三方插件在转换判断渲染时小数位不止两位会判断不准确;建议改成字符串类型或整型类型使用即可: 
 
 
   
 3、 数据格式影响条件格式判断无效问题
 问题描述: 
 WEB电子表格用到的报表数据集,模型汇总查询里面设置了数据格式,之后设置条件格式判断发现不生效,单元格属性已经应用格式,并且不管表内字段数据设置是合计还是列表,条件格式判断都不准确,是什么原因? 
 
 
   
 
 
   
 
 
   
 
 
   
 处理方案: 
 当前产品针对数据格式的逻辑是:对于数值类型的,只要设置了数据格式,对于有变化系数的,目前除了百分千分这两个即变换系数为100或者是0.001,其他的目前都无法使用通用excel单元格格式去适配,因此不支持; 
 在这种情况下,若对应字段在电子表格中是非汇总,则会变成对应格式的字符串,而对应的变成了字符串后,在条件格式中使用就不准确了,非数值判断会有问题,就导致这样的效果了; 
 因此针对现在这种情况:只能建议对条件格式判断的字段单元格要么不设置数据格式,要么是设置不应用数据层的数据格式以及转换规则才能确保一定是用的真实值进行判断。 
   
 扩展示例: 
 问:希望使用单元格值判断,但是最终要显示这个负数"(-51234)" 加括号且负数判断显示红色展示效果,如何设置呢? 
 答:可以结合辅助列判断公式和条件格式, 
 (1)辅助列公式判断拼接小括号使用: 
 =IF(ISNUMBER(SEARCH("-",D4)),D4,"("&D4&")") 
 
 
   
   
 (2)条件格式也是文本字符串的搜索判断:=SEARCH("-", E4) > 0 
 
 
   
 效果如下: 
 
 
   
 4、数据集设好的数据格式在电子表格展示不生效
 问题描述: 
 修改某字段数据格式,在数据集中预览数据,数据格式切换生效;将同样的字段在电子表格中展示,数据格式不生效,展示的是原始数据。 
   
 处理方案: 
 电子表格内,选中应用了数据格式的字段对应的单元格,双击或者点击Smartbi工具栏上的【属性】按钮;选择【其他】→勾选上“应用数据层的数据格式及转换规则”使用显示值,数据格式即可生效。 
 
 
   
 注意:如果需要额外对数据进行汇总求和,则要提前在数据集中进行汇总。若只是希望设置保留小数位,如保留两位小数,则可以在电子表格对单元格右键设置单元格格式: 
 
 
   
 
 恭喜你已阅读完全文,来做做题巩固下学习内容,答题可赢取麦豆哦——>点击领取任务 |