alt

PowerBI自带的数据显示单位有千、百万、十亿等,很明显这些数据单位有些时候是不太符合国人的使用习惯的。

在计算组出来之前,我们习惯利用配置表的方式,将这种数据单位转换为符合我们习惯的方式;在计算组出来之后,我们还可以通过计算组,来进一步将数据单位传递到可视化图表中。

案例数据:

alt

将其导入到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
        )
)

模型关系如下:

alt

添加基础度量值:

01 基础度量值 =
SUM ( Fact_Sales[Quantity] )

添加配置表:

alt

添加单位度量值:

02 单位度量值 =
[01 基础度量值] / SUM ( Con_Unit[UnitValue] )

将其拖放到可视化表中呈现:

alt

可以看到,目前已经通过配置表的方式,将数据单位进行了单位转化。

其实到这里,这个需求只是完成了一半,用户希望看到的不只是这些。

那么还有哪些点,是我们疏漏掉的呢?

可视化图表!

对于用户侧来讲,虽然有切片器提示当前的数据单位,但是用户更期望的是,每一个可视化图表,展示的数据标签也带单位。

添加如下度量值:

03 单位 =
SELECTEDVALUE ( 'Con_Unit'[UnitType] )

在外部工作区,打开Tabular。

alt

选择创建计算组。

alt

添加计算项。

alt

在公式栏输入如下代码:

SELECTEDMEASURE()

将公式栏切换到格式设置页面,添加如下代码:

SUBSTITUTE ( FORMAT ( SELECTEDMEASURE (), "0" ), "0", "\0" ) & [03 单位]

alt

选择保存,将其应用到PowerBI中,最终展示效果如下:

alt

alt alt

这里是白茶,一个PowerBI的初学者。 alt