Power BI 行动态变化

一、背景

Power BI 如果想实现行数动态变化,根据输入的参数决定显示多少行。

 

 

1.1 关系图

 

1.2 核心度量值:

0001_销售金额_单位_D_ = SUM ( 'T05_订单子表'[F_06_产品销售金额] )

 

二、思路

  1. 建立一个顺序列
  2. 将决定度量值变化的值映射到顺序列上
  3. 编写核心度量值

 

三、步骤

3.1 建立顺序表

 度量值:

数字 值 = SELECTEDVALUE('P02_数字'[数字], 1)

3.2 建立间隔参数表

 度量值:

间隔参数 值 = SELECTEDVALUE('p05_间隔参数'[间隔参数])

3.3  建立同比参数表

度量值:

同比间隔 值 = SELECTEDVALUE('p06_同比间隔'[同比间隔])
 

3.4 编写度量值

2101_start_year = 
var year_min = min('01_calendar'[year])
var year_max = max('01_calendar'[year])
var start_year =IF (
    HASONEVALUE ( 'P02_数字'[数字] ),
    IF (
        year_min
            + ( MAX ( 'P02_数字'[数字] ) - 1 ) * [间隔参数 值] <= year_max,
        year_min
            + ( MAX ('P02_数字'[数字] ) - 1 ) * [间隔参数 值],
        BLANK ()
    ),
    year_min
)
RETURN
start_year

 

 

2102_end_year = 
VAR year_min = min('01_calendar'[year])
var year_max = max('01_calendar'[year])

var end_year =IF (
    HASONEVALUE ( 'P02_数字'[数字] ),
    SWITCH (
        TRUE (),
        year_min + ( [数字 值] - 1 ) * [间隔参数 值] > year_max, BLANK (),
        year_min + [数字 值] * [间隔参数 值] - 1 <= year_max,
            year_min + [数字 值] * [间隔参数 值] - 1,
        year_min + [数字 值] * [间隔参数 值] - 1 > year_max, year_max
    ),
    year_max
)
return 
end_year

 

2103区间销售金额 = 
VAR start_year = [2101_start_year]
VAR end_year = [2102_end_year]
VAR year_value =
    CALCULATE (
        [0001_销售金额_单位_D_],
        AND ( '01_calendar'[year] >= start_year, '01_calendar'[year] <= end_year )
    )
RETURN
    year_value

 

2104_YOY_区间销售金额 = 
var n = [同比间隔 值]
VAR start_year = [2101_start_year]-n
VAR end_year = [2102_end_year]-n
VAR year_value =
    CALCULATE (
        [0001_销售金额_单位_D_],
        AND ( '01_calendar'[year] >= start_year, '01_calendar'[year] <= end_year )
    )
RETURN
    year_value

  

3.5 展示

 

 







 

posted @ 2025-03-10 11:00  qsl_你猜  阅读(29)  评论(0)    收藏  举报