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 )
RETURN
ROW (
"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的初学者。