You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何筛选最大Fiscal_Year对应最大Fiscal_Month的可视化展示数据

筛选最大财年对应最大财月数据的实现方案

核心逻辑

  • 先把字符串格式的Fiscal_Month映射为可比较大小的数字,避免字符串排序出现错误(比如按字符排序apr会排在jan之前)
  • 提取全量数据中最大的Fiscal_Year值
  • 筛选该最大财年下的所有数据,提取其中数字月份最大的Fiscal_Month值
  • 用得到的财年、财月组合过滤全量数据集,再基于过滤后的结果生成可视化视图

注意:如果你的财月字符串不是英文缩写(比如是中文月份、其他语言缩写),仅需对应调整月份映射逻辑即可,整体筛选逻辑无需修改。

不同工具的实现示例

1. Python Pandas 环境

# 定义英文月份缩写到数字的映射,可根据你实际的月份格式调整
month_map = {
    'jan':1, 'feb':2, 'mar':3, 'apr':4, 'may':5, 'jun':6,
    'jul':7, 'aug':8, 'sept':9, 'oct':10, 'nov':11, 'dec':12
}

# 新增数字月份列用于大小比较
df['month_num'] = df['Fiscal_Month'].str.lower().map(month_map)

# 取全量数据最大财年
max_year = df['Fiscal_Year'].max()

# 取最大财年下的最大月份
max_month_num = df[df['Fiscal_Year'] == max_year]['month_num'].max()
max_month = df[df['month_num'] == max_month_num]['Fiscal_Month'].iloc[0]

# 过滤得到目标数据,直接用于可视化即可
target_df = df[(df['Fiscal_Year'] == max_year) & (df['Fiscal_Month'] == max_month)]

2. SQL 环境

WITH max_period AS (
    SELECT 
        Fiscal_Year,
        Fiscal_Month,
        -- 转换字符串月份为可比较的数字,根据实际月份格式调整CASE逻辑
        CASE LOWER(Fiscal_Month)
            WHEN 'jan' THEN 1 WHEN 'feb' THEN 2 WHEN 'mar' THEN 3 WHEN 'apr' THEN 4
            WHEN 'may' THEN 5 WHEN 'jun' THEN 6 WHEN 'jul' THEN 7 WHEN 'aug' THEN 8
            WHEN 'sept' THEN 9 WHEN 'oct' THEN 10 WHEN 'nov' THEN 11 WHEN 'dec' THEN 12
        END AS month_num
    FROM your_table
    ORDER BY Fiscal_Year DESC, month_num DESC
    LIMIT 1
)
-- 关联原表过滤得到最新财月的所有数据
SELECT t.* 
FROM your_table t
INNER JOIN max_period m 
    ON t.Fiscal_Year = m.Fiscal_Year 
    AND t.Fiscal_Month = m.Fiscal_Month

3. Power BI 环境

创建度量值用于筛选:

IsLatestPeriod = 
VAR MaxYear = MAX('YourTable'[Fiscal_Year])
VAR MonthNum = SWITCH(
    LOWER('YourTable'[Fiscal_Month]),
    "jan",1,"feb",2,"mar",3,"apr",4,"may",5,"jun",6,
    "jul",7,"aug",8,"sept",9,"oct",10,"nov",11,"dec",12
)
VAR MaxMonthNum = CALCULATE(MAX(MonthNum), ALL('YourTable'), 'YourTable'[Fiscal_Year] = MaxYear)
RETURN IF('YourTable'[Fiscal_Year] = MaxYear && MonthNum = MaxMonthNum, 1, 0)

将该度量值加入可视化页面的筛选器,设置值等于1,即可自动仅展示最新财月的数据。

内容的提问来源于stack exchange,提问作者Rakshit Kandpal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 13:36:04