PowerBI自带的数据显示单位有千、百万、十亿等,很明显这些数据单位有些时候是不太符合国人的使用习惯的。
在计算组出来之前,我们习惯利用配置表的方式,将这种数据单位转换为符合我们习惯的方式;在计算组出来之后,我们还可以通过计算组,来进一步将数据单位传递到可视化图表中。
案例数据:
将其导入到PowerBI中,通过以下代码,添加日期表。
Dim_Date =
GENERATE (CALENDAR ( MIN ( 'Fact_Sales'[DATE] ), MAX ( 'Fact_Sales'[DATE] ) ),VAR DA = [Date]VAR YEAR =YEAR ( DA )VAR QUARTER ="Q" & FORMAT ( DA, "Q" )VAR MONTE =FORMAT ( DA, "MM" )VAR DAY =DAY ( DA )RETURNROW ("Year", YEAR,"Quarter", QUARTER,"Month", MONTE,"DayOfMonth", DAY,"YearQuarter", YEAR & QUARTER,"YearMonth", YEAR & MONTE,"YearMonthCount",YEAR * 12 + MONTE)
)
模型关系如下:
添加基础度量值:
01 基础度量值 =
SUM ( Fact_Sales[Quantity] )
添加配置表:
添加单位度量值:
02 单位度量值 =
[01 基础度量值] / SUM ( Con_Unit[UnitValue] )
将其拖放到可视化表中呈现:
可以看到,目前已经通过配置表的方式,将数据单位进行了单位转化。
其实到这里,这个需求只是完成了一半,用户希望看到的不只是这些。
那么还有哪些点,是我们疏漏掉的呢?
可视化图表!
对于用户侧来讲,虽然有切片器提示当前的数据单位,但是用户更期望的是,每一个可视化图表,展示的数据标签也带单位。
添加如下度量值:
03 单位 =
SELECTEDVALUE ( 'Con_Unit'[UnitType] )
在外部工作区,打开Tabular。
选择创建计算组。
添加计算项。
在公式栏输入如下代码:
SELECTEDMEASURE()
将公式栏切换到格式设置页面,添加如下代码:
SUBSTITUTE ( FORMAT ( SELECTEDMEASURE (), "0" ), "0", "\0" ) & [03 单位]
选择保存,将其应用到PowerBI中,最终展示效果如下:
这里是白茶,一个PowerBI的初学者。