财务分析主要是三大报表资产负债表、利润表现金流量表除了这三大报表之外要有一些能力需要分析盈利能力、偿债能力、营运能力、发展能力杜邦分析。一个完整的财务分析需要这些东西。一般做的最多的是三大报表的分析后面的那些能力可以在三大报表里面体现出来最后再单开一页做杜邦分析就可以了。源数据获取如何获取财务数据很多上市公司每一年每个季度会把自己的财务情况进行公开。这个从网上可以找的到。推荐一些网站。首先是两个公司代码获取的网址。公司代码网址 1上海证券交易所股票与存托凭证 | 上海证券交易所https://link.wtturl.cn/?targethttps%3A%2F%2Fwww.sse.com.cn%2Fassortment%2Fstock%2Flist%2Fshare%2Fsceneimaid497858langzh公司代码网址 2深圳证券交易所https://link.wtturl.cn/?targethttps%3A%2F%2Fwww.szse.cn%2Fmarket%2Fproduct%2Fstock%2Flist%2Findex.htmlsceneimaid497858langzh深交所官网https://link.wtturl.cn/?targethttps%3A%2F%2Fwww.szse.cn%2Fmarket%2Fproduct%2Fstock%2Flist%2Findex.htmlsceneimaid497858langzh这两个网站都可以帮助获取公司对应 ID。数据来源网站新浪财经 新浪财经_金融信息服务商新浪财经是国内领先的金融信息服务提供平台以“打破信息不对称”为使命专注于交易、资讯、数据、服务四大领域。为用户提供7×24小时全球股票、基金、期货、外汇、债券等实时行情与权威资讯。提供全面的金融数据、智能分析工具、资金流向监测、模拟交易及ESG资讯和评级服务。https://link.wtturl.cn/?targethttps%3A%2F%2Ffinance.sina.com.cn%2Fsceneimaid497858langzh新浪财经是获取数据最多的。如果在新浪财经里面搜索公司要有简称或者代码或者拼音。要搜代码的话就可以借助前面的两个网站。上海证券交易所和深圳证券交易所这俩。1、复制需要获取的公司代码打开新浪财经先进入上海证券交易所想查哪个公司就复制哪个公司的代码。找一个上市时间早一点儿的数据量多。这个浦发银行看着不错代码是 600000。把这个代码复制之后打开新浪财经。2、搜索对应的公司代码点击财务数据可以看到对应的财务内容把刚刚复制好的代码粘贴到新浪财经搜索框里然后会看到一栏选项为 sh600000、类型是 A 股代码 600000中文名称是浦发银行的东西点击。点击之后就进入到了这个页面。然后往下啦一直往下下面有个叫做财务数据的选项。这里有好几个选项关键指标、资产负债表、业绩预告、利润表、现金流量表、杜邦分析。我们只要利润表、资产负债表、现金流量表这三个就可以了。这里的关键指标可以通过后面三张表计算出来。先来点开利润表。可以看到这里也是包含项目大类和细分项目。这里的营业收入和营业支出都是汇总值。正常来说拉到最后这张表应该可以下载的。结果发现没有。所以我们换一家公司来研究。换三一重工。三一重工的代码是 600031。复制下来粘贴到新浪财经搜索框里。直接点击即可。找到三一重工的利润表。往下拉发现也不能下载。如果我们想下载不能直接通过财务数据先点击公司公告。3、点击公司公告在公告界面找到财务内容点击对应的报表拉到最下面然后下载往下拉这里有个公司公告点击进去。进入到公司公告界面之后再往下滑。在公司公告这里有个财务数据在这里点进去就可以了。点击资产负债表。进入之后再往下拉拉到最后有一个 “下载全部历史数据到excel中”点击就可以直接下载。下载成功之后打开看一看。第一列是报表日期单位各种项目名称。然后从第二列一直到最后一列都是财务数据。这是个资产负债表的数据。很明显这个数据需要处理一下。4、下载之后无法直接上传到 PowerbiPowerbi 仅支持 xlsx 的格式需要进行格式转换这份数据下载之后无法直接上传到 powerbi因为 powerbi 仅支持 xlsx 格式的数据。而这份数据的后缀名是 “.xls”。直接上传会报错。另外注意直接修改后缀名也是不行的。这个表可以给它另存一下。文件类型选择 xlsx 格式点击保存。这个时候我的目标地址就会有一个文件。格式转换之后的三一重工资产负债表。现在把这份文件给它导入一下。点击 Excel 工作簿选择文件最后打开。打开之后可以在 power query 当中进行数据清洗的操作。现在先不打开先把三个报表全下载并且格式转换好。5、将三大报表下载下来之后统一放到一个文件夹中正常来讲三大报表都是要下载下来的。将三大报表下载下来之后统一放入一个文件夹当中。这里演示一下如果在 powerbi 当中导入文件夹的话应该怎么去做。现在把另外两个报表下载一下。找一下利润表然后拉到最后点击下载。再找到现金流量表拉到最后然后点击下载。把这三张表下载完成之后同时都进行另存。在刚刚的地址新建一个文件夹命名为“财务分析三张表”。然后把资产负债表放进去。之后另外下载的那两张表全部用刚刚的方式另存到这个文件夹当中文件类型选择 xlsx 格式点击保存。最后这三张表转换格式成功后都存入在了同一个文件夹当中。在 powerbi 导入文件夹现在要到 powerbi 里面上传文件夹选择获取数据。1、选择获取数据找到文件夹找到文件夹然后点击连接。然后要制定当前文件夹路径点击浏览然后找到文件夹所在位置选中文件夹然后点击确定。2、连接要上传的文件夹点击转换数据跳转到 powerquery点击确定之后可以看到这里有三张表。这里注意读取的内容不一定是 Excel 内容而是文件夹当中包含了哪些东西。这里不要组合也不要加载点击转换数据。直接跳转到 power query 界面。这里的列非常多但是唯一要用到的只有 content 列。其余的列都是对 content 的说明。3、只保留 Content 列删除除了 Content 列以外的其他列。列中的每一行就是一个 Excel 表格可以点击任意 Binary 对应的空白的地方会发现每一个 Binary 对应的就是一个表格。所以这里只保留一个 content 列列中的每一行就是一个 Excel 表格。选中 content鼠标右键点击删除其他列。之后就得到了唯一的 content 列。4、选择自定义列输入公式 Excel.Workbook ([Content])之后要让这一列当中的每一行都打开 excel。找到添加列里面的自定义列。点击之后列名不用起直接输入公式。这个公式是帮我们打开 excel 的。Excel.Workbook把 Content 插入到小括号当中。然后点击确定。Excel.Workbook([Content])5、删除 Content 列展开自定义列保留 Name 及 Data 列删除其他列当点击确定之后多了自定义列同时每一行都有了一个叫做 Table 的东西。点一下 Table 所在的空白处看一看。发现 Table 对应的是每个列表。此时content 没有用了就可以把它也删除掉。就只保留当前的自定义列。它是列表就可以展开。点击右上角的展开图标。取消勾选使用原始列名作为前缀然后点击确定。6、展开 Data 列此时三大报表的内容就在一张表里面了展开之后重点注意这个 Data 列。Data 下方全部都是 Table点击 Table 对应单元格的空白区域看一看。发现它其实就是每一个 sheet 表对应的数据。下方这里是可以进行预览的。第一个是利润表、第二个是现金流量表第三个是资产负债表。之后保留 Name 列和 Data 列删除其他列。这会儿继续展开 Data 列取消勾选使用原始列名作为前缀点击确定。7、简单数据清洗只保留 2021 年到 2026 年的数据提升标题作用把表格第一行数据提取出来替换掉默认的 Column1/Column2 ...变成每一列的字段名列标题是导入 CSV、无表头 Excel、复制粘贴数据后最常用的数据清洗步骤。点击主页当中的将第一行用作标题。发现除了第一列和第二列后面的所有其他列都是日期。这里面 “20260331” “20251231” “20250930” 这些东西是季度的财报每个季度报一次。删除列删除掉一些年份的数据然后后面针对剩余的数据做逆透视列操作。它是从 2001 年开始一直到 2025 年实际在去分析的时候不会有这么多年度的。把 2020 年以及之前的年份全部删掉保留 2021 年到 2026 年的。找到 2020 年 12 月份的给它选中然后按住 SHIFTEND 键它会把当前列到最后一列全部选中。选中之后鼠标右键点击删除列。点击之后2021 年之后的所有列都被删除掉了。2021 年 3 月份到 2026 年 3 月份的数据全部被保留了下来。这一步是删除多余内容实际进行分析的时候只需要拿几个年度进行分析就可以了。逆透视列现在除了第一列和第二列其他的所有列都要进行逆透视。现在选中 20260331 这列继续按住 SHIFTEND 键然后鼠标右键点击逆透视列把它们从列维度变为行维度就可以了。这个就是明细表当然还没有完事儿这个还需要处理。除了这种方法还可以从 Web 获取财务数据。从 Web 获取财务数据建立连接并获取数据首先确保所在界面的财务数据是能够直接下载的。打开这个网址https://vip.stock.finance.sina.com.cn/corp/go.php/vFD_BalanceSheet/stockid/600027/ctrl/part/displaytype/4.phtml这是华电国际的资产负债表这个网址的财务数据可以直接下载下来把它的 url 直接复制一份。https://vip.stock.finance.sina.com.cn/corp/go.php/vFD_BalanceSheet/stockid/600027/ctrl/part/displaytype/4.phtml然后直接打开 powerbi。打开 powerbi 之后选择从 Web 获取数据。​把刚才复制的 url 粘贴进来然后点击确定。​连接之后它会出来很多表格。下方有建议的表格一共是 4 个。​现在看一下建议的表格看一下表 17。发现这个表 17 里面有我们想要的内容。有报表日期、货币资金之类的。​表 18 的内容比较少了。​表 19 和表 20 里面也有我们想要的内容。​​也就是表 17、表 18以及表 19 里面都有我们想要的东西。现在先用表 17勾选表 17点击转换数据。​可以看一下和网站里面内容进行一下对比。第一个是报表日期最后一个是负债和所有者权益。​​到 网页 里面去看看。发现都对的上第一个也是报表日期最后一个也是负债和所有者权益。​​所以这个内容能够通过这种方式获取得到。然后这里注意看一下财报年度获取的是哪些年度的。发现是 2025 年 3 月 31 日到 2026 年 3 月 31 日。​也就是说它只获取了今年这个年度。只获取了这一页。现在有个需求想获取制定年度的财务数据。指定年度报表获取首先在 网站 中选择一年的数据。不要用它默认打开的这个界面。这里不要选择 26 年的因为 26 年只有一个季度的。我们选择去年2025。​选择 2025 之后现在所展示的界面就是 2025 年的财报数据了。从 2025 年3 月 31 日到 2025 年 12 月 31 日。​现在将它的 url 复制一份。然后可以进行一下对比。我们再复制一个 2024 年的 url。# 2025 年数据的 url http://money.finance.sina.com.cn/corp/go.php/vFD_BalanceSheet/stockid/600027/ctrl/2025/displaytype/4.phtml # 2024 年数据的 url https://money.finance.sina.com.cn/corp/go.php/vFD_BalanceSheet/stockid/600027/ctrl/2024/displaytype/4.phtml可以明显看出这俩 url 之间不同的地方就在于 ctrl/ 后面并且在的 /displaytype 前的这个部分。这两个 url 的其他位置均一模一样。现在想获取指定年度的数据的话和之前番组计划那篇原理是一样的。现在回到 powerbi将刚刚的东西都删掉重新建立连接。点击获取数据选择 Web。​然后把 2024 年的 url 放进来。点击确定然后点击连接。​建立连接完成之后还是选择表 17然后点击转换数据。​初步清洗数据这个数据获取到之后先把它处理一下。将第一行用作标题。这样上面的 Colums 就去掉了。然后选择报表日期后面的所有列报表日期不要选中然后鼠标右键点击逆透视列。这样所有的年份都放在一列了。完成之后点击高级编辑器来进行指定年度报表的获取。指定年度报表获取来到 power query 里面的高级编辑器。​通过观察如果想要获取指定年份的数据直接在url当中替换掉对应的数字为指定的年份即可。​首先在前面定义一个变量然后去替换这个地方的数字。这是powerbi 案例一那篇的方法。具体内容可以跳转到这篇文章查看下。在高级编辑器中更改后的代码如下。但是且慢先不要改。(y as number) as table let 源 Web.BrowserContents(https://money.finance.sina.com.cn/corp/go.php/vFD_BalanceSheet/stockid/600027/ctrl/Number.ToText(y)/displaytype/4.phtml), #从 Html 中提取的表 Html.Table(源, {{Column1, TBODY .head}, {Column2, .head *}, {Column3, .centerImgBlk TD:nth-child(3)}, {Column4, TD:nth-child(4)}, {Column5, TD:nth-child(5)}}, [RowSelectorTBODY .head]), 更改的类型 Table.TransformColumnTypes(#从 Html 中提取的表,{{Column1, type text}, {Column2, type text}, {Column3, type text}, {Column4, type text}, {Column5, type text}}) in 更改的类型本次用一下不一样的东西。刚才只是获取年份现在有这样的需求想一次性把不同的报表不同年份的数据都给下载下来。现在介绍多报表多年度的数据获取。指定年度指定报表获取还是一样的找规律。刚刚拿的是华电国际 2024 年的资产负债表它的网址长这个样子。https://money.finance.sina.com.cn/corp/go.php/vFD_BalanceSheet/stockid/600027/ctrl/2024/displaytype/4.phtml再看一下华电国际 2024 年的利润表它的网址长这个样子。https://money.finance.sina.com.cn/corp/go.php/vFD_ProfitStatement/stockid/600027/ctrl/2024/displaytype/4.phtml再把华电国际 2024 年的现金流量表对应的网址拿过来看一下。https://money.finance.sina.com.cn/corp/go.php/vFD_CashFlow/stockid/600027/ctrl/2024/displaytype/4.phtml这些是同一个年份不同类型的报表对应的网址。通过观察可以发现只有红色位置的地方不一样。https://money.finance.sina.com.cn/corp/go.php/vFD_BalanceSheet/stockid/600027/ctrl/2024/displaytype/4.phtmlhttps://money.finance.sina.com.cn/corp/go.php/vFD_ProfitStatement/stockid/600027/ctrl/2024/displaytype/4.phtmlhttps://money.finance.sina.com.cn/corp/go.php/vFD_CashFlow/stockid/600027/ctrl/2024/displaytype/4.phtml可以出一个结论不同类型的报表它们只有英文的这个地方不一样。资产负债表BalanceSheet利润表ProfitStatement现金流量表CashFlow你们这个结论之后还要进行一下验证刚才获取到的是华电国际公司的财务数据。我们来看一下三一重工 2024 年的现金流量表。三一重工 2024 年的现金流量表的网址长这个样子。https://vip.stock.finance.sina.com.cn/corp/go.php/vFD_CashFlow/stockid/600031/ctrl/part/displaytype/4.phtml可以看到它们当中的CashFlow都是一样的。唯一和华电国际不一样的就是他们的编码。华电国际https://money.finance.sina.com.cn/corp/go.php/vFD_CashFlow/stockid/600027/ctrl/2024/displaytype/4.phtml三一重工https://vip.stock.finance.sina.com.cn/corp/go.php/vFD_CashFlow/stockid/600031/ctrl/part/displaytype/4.phtml本次仅介绍获取公司多年份多报表的数据也可以自行尝试获取多公司不同年份不同报表的数据。通过验证之后可以得出结论url 当中不同的报表对应的单词是不一样的不同的年度数字不一样。现在我们要实现多报表多年度数据的获取只要把报表的类型以及对应的年度都通过之前参数的方式都给它进行替代所以在这里一共需要两个参数一个表示报表类型一个表示对应的年度。首先选取任意一个报表确保能直接获取到数据然后在 Power query 中创建参数。这次不在高级编辑器里的 let 上方添加了在 Power query 当中的主页上方有一个管理参数点击一下然后选择新建参数。一共需要两个参数。先给第一个参数取个名字叫“年度”说明可以不写类型可以是任意的建议的值是任何值但是当前值是一定要确定。目前获取的是2024年的数据所以当前值是 2024这里要注意一下当前值根据的是获取的是哪一年的数据如果获取的是 2025 年的数据当前值就应该是 2025然后点击确定。现在已经创建完成了第一个参数用于获取不同年度的报表。当前值是 2024。接下来要创建第二个参数用于获取任意不同类型的报表这个参数叫做报表类型。不同类型的报表它们英文的这个地方不同资产负债表BalanceSheet利润表ProfitStatement现金流量表CashFlow新建第二个参数。命名为“报表类型”。因为当前获取的数据是资产负债表它对应的英文是 BalanceSheet。直接复制粘贴过来然后点击确定。然后再回到我们刚开始获取的数据。点一下表17。然后点击高级编辑器。年份和类型是在这里获取的然后把这两个地方分别进行替换就可以了。首先年份选中这个数字先敲两个双引号双引号中间再敲两个 号再在这两个 号中间写上 Text.From(年度)括号内的这个年度就是刚才创建的参数的名字。也就是数字部分替换成Text.From(年度)。注意双引号不要忘记敲。然后是报表类型把 BalanceSheet 那个位置选中改为Text.From(报表类型)。然后不要点完成不要不要不要点完成还有操作要做。刚才两个地方改好了之后选中这个Text.From(年度)然后点击复制。因为在之前已经进行了提升标题操作所以需要把下方的年份也替换成变量。完成之后再选中当前的表17鼠标右键选择创建函数。函数命名为“多报表多年度获取”然后点击确定。现在就有两个参数啦。用一下看看好不好用。现在想获取 2025 年的现金流量表。这里第一个参数就是 2025第二个参数是 CashFlow。把这两个参数输入进去然后点击调用。可以看到我们成功获取到了华电国际 2025 年的现金流量表数据。说明刚刚的操作没有问题。本专栏的案例1那篇是在高级编辑器里搞了个参数进去。这次采用的是直接单独建立参数的方法。多年度多报表获取先准备一张各年度各报表的表。解释一下比如想放入 2021 年的资产负债表但是有一个问题它是英文的它不是中文的。就是对于我们自己来说最后要看到的一定是一个中本的表。所以这个地方要单独准备出来两张表。就是首先我们先准备一张报表类型的表然后再准备一张年度表最后这两张表进行合并。点一下表 17找到主页这里有一个输入数据。我们点一下。点击之后会出现创建表窗口原本有一个列1点右边加号会出现列2。因为最终要传入一个英文作为报表类型所以这个表给它命名为“报表名称表”。列1命名为“英文名”列2命名为“中文名”。然后下一步就是把它们仨对应的字段放进去。第一列的从第一个到最后一个分别是 BalanceSheetProfitStatement 和 CashFlow。然后从第二列的第一个到最后一个分别是资产负债表利润表和现金流量表。点击确定。把这个先创建一下。现在就已经创建出来了。这个表创建出来之后再将它复制一份。之后我们要将这个内容变成多年度的。复制之后的那个表的基础上后面再新增一列。新增的那列年份输入进去是 2021然后再复制一份后面新增的那列变成 2022一直到 2026这样就形成了多年度多报表的报表。整个流程就是将报表类型表复制多份分别新建自定义列这些列的值都是固定的年度。回到 power query 当中搞一下右键选中这个表然后点击第二个复制。给它改个名字叫 2021。然后点击添加列选择自定义列取个名字叫年度。它的值是固定的2021然后点击确定。等一会我们可以拿这张表去调用刚才写的自定义函数。把这个英文名传给第一个参数然后把年度传到年度的那个参数就 OK 了。这是 2021 的。将报表名称表多复制几份点击第二个复制分别改名为 2022202320242025。然后重复前面的步骤 5 次点击添加列选择自定义列取个名字叫年度。值是固定的分别为 2022202320242025。这样每一张表都添加了列并且对应好了年份。。。。重复上述步骤一直到 2025 处理好结束。。。现在我们已经有了各个年度的名称表现在我们需要将这些表合并为一张表。选中 2021 这张表然后点击主页中的追加查询选择将查询追加为新查询。选择三个或更多的表。点击 2022 然后点击添加后面的 2023 2024 2025 这几个年份也是一样的选中之后点击中间的添加就到右边去了。然后点击确定。现在这张表可以当做我们的汇总表。接下来要去调用自定义函数。先将这张表的三个列全部选中然后点击添加列当中的调用自定义函数。功能查询直接选择多报表多年度获取。这个函数是刚刚自己创建的。年度栏选择年度报表类型选择传英文名因为我们是根据年度和英文名这两列来确定报表的。选择好了之后点击确定。现在它要开始帮我们获取多年度度报表的数据了。获取完成后多了一列 Table。点击右上角的符号可以给它展开。然后点击加载更多之后取消勾选“使用原始列名作为前缀”最后点击确定。全部展开就可以了。这就是多年度多报表的数据。展开这个属性来查看它会包含 2021 到 2025 的全部数据。接下来在这个汇总表中可以进行一下数据清洗。数据清洗首先英文名这列可以不要。它是帮助我们获取数据现在可以删掉了。选中英文名这列右键选择删除。这个中文名列名应该改一下叫报表类型。双击改成报表类型。这里的年度可以不改。报表日期要改它是对应的项目。双击改为报表项目。然后属性改为日期值改为金额。注意金额这里 -- 号的表示空值。需要选中这列然后鼠标右键把它替换一下点击替换值。把两个减号替换为 0点击确定这样两个减号的地方就全都处理好啦。再整体转换类型为小数。鼠标右键这列点击更改类型选择小数。然后再重命名一下表的名字双击追加1改为汇总表。这个汇总表也是最终的明细表。接下来还有个操作因为这里包含了三种不同类型的表所以后面在去分析的时候也需要有对应的结构。点击报表类型旁边倒三角可以查看类型。比如资产负债表流动资产包含了哪些项目非流动资产包含了哪些项目还有流动负债、非流动负债、所有者权益等等都包含了哪些项目。得有这种层级结构。如何实现这种层级结构这就涉及到了结构表的创建。每一张报表都应该有对应的结构才可以。结构表创建这里建议将汇总表单独复制 3 份。鼠标右键点击第二个复制。复制完成之后按照报表类型来筛选。利润表结构表第一张表要做的是利润表的结构表这里选择利润表点击确定。删除报表类型、年度、日期和金额。理论上只保留报表项目其实就可以了。选中报表项目右键点击然后选择删除其他列这样就只会保留报表项目这一列。双击汇总表2改个名字叫利润表结构表。选中这列鼠标右键然后点击删除重复项。它是作为维度和结构的所以我们要确保里面的内容是唯一且非空的。然后双击更改列名改为项目名称。接下来的步骤和鸡蛋费用用工分析那篇一样。项目小类利润表有个项目小类代码直接照着下面的抄就行了。 利润表结构表项目小类这列的公式如下。先全部选中复制。if [项目名称]营业收入 then 一、营业总收入 else if [项目名称]营业成本 or [项目名称]营业税金及附加 or [项目名称]销售费用 or [项目名称]管理费用 or [项目名称]财务费用 or [项目名称]研发费用 or [项目名称]资产减值损失 or [项目名称]公允价值变动收益 or [项目名称]投资收益 or [项目名称]汇兑收益 then 二、营业总成本 else if [项目名称]加:营业外收入 or [项目名称]减营业外支出 then 三、营业利润 else if [项目名称]四、利润总额 then 四、利润总额 else if [项目名称]减所得税费用 then 减所得税费用 else if [项目名称]归属于母公司所有者的净利润 or [项目名称]少数股东损益 then 五、净利润 else if [项目名称]基本每股收益(元/股) or [项目名称]稀释每股收益(元/股) then 六、每股收益 else if [项目名称]七、其他综合收益 then 七、其他综合收益 else if [项目名称]归属于母公司所有者的综合收益总额 or [项目名称]归属于少数股东的综合收益总额 then 八、综合收益总额 else if [项目名称]减所得税费用 then 减所得税费用 else 复制之后点击添加列当中的自定义列起个名字叫做项目小类然后把刚才复制好的公式粘贴进去点击确定。点击确定之后项目小类就出来了。这是利润表的项目小类。这个完成以后我们可以给它添加一个索引列。点击添加列当中的索引列从 1 开始。添加好之后按住这列挪到最前面。方便后续排序操作。资产负债表结构表资产负债表也是一样的操作把汇总表复制一份。双击复制好的这个汇总表改个名字叫资产负债表结构表。展开报表类型选中资产负债表。然后点击确定这样就把报表类型为资产负债表的数据全部筛选出来了。和之前的步骤一样我们只保留报表项目。选中报表项目鼠标右键删除其他列。接下来需要去个重。鼠标右键点选中报表项目点击删除重复项。双击报表项目把列名改为项目名称。这里要创建项目小类和项目大类先创建项目小类。项目小类代码仍然是直接照着抄就行了。 资产负债表结构表项目小类这列的公式如下。先全部选中复制。if [项目名称]货币资金 or [项目名称]交易性金融资产 or [项目名称]衍生金融资产 or [项目名称]应收票据及应收账款 or [项目名称]应收票据 or [项目名称]应收账款 or [项目名称]应收款项融资 or [项目名称]预付款项 or [项目名称]其他应收款(合计) or [项目名称]应收利息 or [项目名称]应收股利 or [项目名称]其他应收款 or [项目名称]买入返售金融资产 or [项目名称]存货 or [项目名称]划分为持有待售的资产 or [项目名称]一年内到期的非流动资产 or [项目名称]待摊费用 or [项目名称]待处理流动资产损益 or [项目名称]其他流动资产 or [项目名称]流动资产合计 then 流动资产 else if [项目名称]发放贷款及垫款 or [项目名称]可供出售金融资产 or [项目名称]持有至到期投资 or [项目名称]长期应收款 or [项目名称]长期股权投资 or [项目名称]投资性房地产 or [项目名称]在建工程(合计) or [项目名称]在建工程 or [项目名称]工程物资 or [项目名称]固定资产及清理(合计) or [项目名称]固定资产净额 or [项目名称]固定资产清理 or [项目名称]生产性生物资产 or [项目名称]公益性生物资产 or [项目名称]油气资产 or [项目名称]使用权资产 or [项目名称]无形资产 or [项目名称]开发支出 or [项目名称]商誉 or [项目名称]长期待摊费用 or [项目名称]递延所得税资产 or [项目名称]其他非流动资产 or [项目名称]非流动资产合计 or [项目名称]资产总计 then 非流动资产 else if [项目名称]短期借款 or [项目名称]交易性金融负债 or [项目名称]应付票据及应付账款 or [项目名称]应付票据 or [项目名称]应付账款 or [项目名称]预收款项 or [项目名称]应付手续费及佣金 or [项目名称]应付职工薪酬 or [项目名称]应交税费 or [项目名称]其他应付款(合计) or [项目名称]应付利息 or [项目名称]应付股利 or [项目名称]其他应付款 or [项目名称]预提费用 or [项目名称]一年内的递延收益 or [项目名称]应付短期债券 or [项目名称]一年内到期的非流动负债 or [项目名称]其他流动负债 or [项目名称]流动负债合计 then 流动负债 else if [项目名称]长期借款 or [项目名称]应付债券 or [项目名称]租赁负债 or [项目名称]长期应付职工薪酬 or [项目名称]长期应付款(合计) or [项目名称]长期应付款 or [项目名称]专项应付款 or [项目名称]预计非流动负债 or [项目名称]递延所得税负债 or [项目名称]长期递延收益 or [项目名称]其他非流动负债 or [项目名称]非流动负债合计 or [项目名称]负债合计 then 非流动负债 else if [项目名称]实收资本(或股本) or [项目名称]资本公积 or [项目名称]减库存股 or [项目名称]其他综合收益 or [项目名称]专项储备 or [项目名称]盈余公积 or [项目名称]一般风险准备 or [项目名称]未分配利润 or [项目名称]归属于母公司股东权益合计 or [项目名称]少数股东权益 or [项目名称]所有者权益(或股东权益)合计 or [项目名称]负债和所有者权益(或股东权益)总计 then 所有者权益 else 复制之后点击添加列当中的自定义列起个名字叫做项目小类然后把刚才复制好的公式粘贴进去点击确定。这样项目小类就添加完成了。接下来添加项目大类。项目大类还是一样的步骤先将下面的代码复制一份。资产负债表项目大类的公式如下。一共两大类一个是资产一个是负债和所有者权益。if [项目小类]流动资产 or [项目小类]非流动资产 then 资产 else if [项目小类]流动负债 or [项目小类]非流动负债 or [项目小类]所有者权益 then 负债和所有者权益 else 点击添加列当中的自定义列。起个名字叫做项目大类把复制好的公式粘贴进去点击确定。项目大类添加完成。给它添加一个索引列。点击添加列当中的索引列从 1 开始。添加好之后按住这列挪到最前面。最后是现金流量表结构表。现金流量表结构表相同的操作复制汇总表并且改名为现金流量表结构表。展开报表类型选中现金流量表。筛选号之后只保留报表项目。选中报表项目鼠标右键删除其他列。双击报表项目把列名改为项目名称。改好名之后右键这列点击删除重复项进行去重。去重完毕后的效果如下。接下来就可以添加项目小类和项目大类了。先添加项目小类。项目小类先将下面的代码复制一份。现金流量表项目小类的公式如下。if [项目名称]销售商品、提供劳务收到的现金 or [项目名称]收到的税费返还 or [项目名称]收到的其他与经营活动有关的现金 then 经营活动现金流入 else if [项目名称]购买商品、接受劳务支付的现金 or [项目名称]支付给职工以及为职工支付的现金 or [项目名称]支付的各项税费 or [项目名称]支付的其他与经营活动有关的现金 then 经营活动现金流出 else if [项目名称]经营活动产生的现金流量净额 then 经营活动产生的现金流量净额 else if [项目名称]收回投资所收到的现金 or [项目名称]取得投资收益所收到的现金 or [项目名称]处置固定资产、无形资产和其他长期资产所收回的现金净额 or [项目名称]处置子公司及其他营业单位收到的现金净额 or [项目名称]收到的其他与投资活动有关的现金 then 投资活动现金流入 else if [项目名称]购建固定资产、无形资产和其他长期资产所支付的现金 or [项目名称]投资所支付的现金or [项目名称]取得子公司及其他营业单位支付的现金净额 or [项目名称]支付的其他与投资活动有关的现金 then 投资活动现金流出 else if [项目名称]投资活动产生的现金流量净额 then 投资活动产生的现金流量净额 else if [项目名称]吸收投资收到的现金 or [项目名称]其中子公司吸收少数股东投资收到的现金 or [项目名称]取得借款收到的现金 or [项目名称]发行债券收到的现金 or [项目名称]收到其他与筹资活动有关的现金 then 筹资活动现金流入 else if [项目名称]偿还债务支付的现金 or [项目名称]分配股利、利润或偿付利息所支付的现金 or [项目名称]其中子公司支付给少数股东的股利、利润 or [项目名称]支付其他与筹资活动有关的现金 then 筹资活动现金流出 else if [项目名称]筹资活动产生的现金流量净额 then 筹资活动产生的现金流量净额 else if [项目名称]四、汇率变动对现金及现金等价物的影响 then 四、汇率变动对现金及现金等价物的影响 else if [项目名称]加:期初现金及现金等价物余额 then 加:期初现金及现金等价物余额 else if [项目名称]五、现金及现金等价物净增加额 then 五、现金及现金等价物净增加额 else if [项目名称]六、期末现金及现金等价物余额 then 六、期末现金及现金等价物余额 else 点击添加列当中的自定义列。起个名字叫做项目小类把复制好的公式粘贴进去点击确定。这样项目小类就添加完成啦。然后我们去添加项目大类。项目大类还是一模一样的步骤。先将下面的代码复制一份。现金流量表项目大类的公式如下。if [项目小类]经营活动现金流入 or [项目小类]经营活动现金流出 or [项目小类]经营活动产生的现金流量净额 then 一、经营活动产生的现金流量 else if [项目小类]投资活动现金流入 or [项目小类]投资活动现金流出 or [项目小类]投资活动产生的现金流量净额 then 二、投资活动产生的现金流量 else if [项目小类]筹资活动现金流入 or [项目小类]筹资活动现金流出 or [项目小类]筹资活动产生的现金流量净额 then 三、筹资活动产生的现金流量 else if [项目小类]四、汇率变动对现金及现金等价物的影响 then 四、汇率变动对现金及现金等价物的影响 else if [项目小类]五、现金及现金等价物净增加额 then 五、现金及现金等价物净增加额 else if [项目小类]加:期初现金及现金等价物余额 then 加:期初现金及现金等价物余额 else if [项目小类]六、期末现金及现金等价物余额 then 六、期末现金及现金等价物余额 else 然后点击添加列当中的自定义列。起名叫项目大类把复制好的公式粘贴进去点击确定。项目大类添加完成。对于这部分内容实在理解不了的初学者宝宝可以返回鸡蛋费用那篇认真学习一下结构表。往下划拉划拉发现后面有一些项目可以删掉。这些净利润少数股东权益等等这些内容在利润表是可以看到的。在这里可以不用要。选中项目名称找到主页的删除行选择删除最后几行。因为最后一行是 71 行净利润所在行是 39 行并且删除的时候要包含净利润所以一共要删除 71 - 39 1 33 行。也就是我们要删除最后的 33 行。我们可以看到操作完成之后最后一行就是期末现金及现金等价物那行了。最后添加一个索引列。点击添加列当中的索引列从 1 开始。添加好后按住这列挪到最前面。还可以把大类放前面小类放后面。这样看着更顺一些。像这样。前面的两个结构表也是同样操作这里不演示啦。调整好顺序之后的现金流量表结构表如下。现金流量表结构表完成啦。现在所有的结构表都创建完成啦接下来可以去建模分析了。调整以及建模在去分析之前不是所有的表我们都需要。现在这么多表能用的上的只有汇总表和三个结构表。其他表不想显示。需要调整一下表的显示减少干扰。调整显示可以这样做鼠标右键不需要的表比如表17可以看到启动加载这个选项被勾选上了。再点一次取消勾选就可以了。取消之后等会就不会在表格视图中显示了。报表名称表也不要了。还有 2021 到 2025 这 5 张表。全部都取消启动加载。取消之后会变成斜体并且一会儿在表格视图中这些表不会显示出来。后面还有个调用的函数也不显示了。注意不要把这些表删掉。如果删掉的话后面一些操作它会出问题。然后点击主页的关闭并应用。现在我们创建好了之后可以发现就剩这四张表了。一张汇总表和三张结构表。其他表没有显示建模关于 bi 建模的基本概念以及一些术语零基础的宝宝可以返回看一下这两篇Power BI 使用、finebi 案例3 健身房数据分析建模一篇是基于 powerbi 的一篇是基于 finebi 的建模。这两篇的目录里有“建模”直接点击可以跳转到对应部分。点一下模型视图看一下有没有建立模型关系。点击之后发现自动建上了。但是这个自动建模出来的关系不是我们想要的。它给三张结构表之间创建了模型。三张结构表之间有毛线关系全部删掉。右键关系点击删除。这个自动建模出来的关系全部删除后就是这个样子。重新给它们建模。汇总表里面有一列需要改一下名字之前没有改。点击表格视图选择汇总表双击报表项目把它改名为项目名称。然后回到模型视图通过项目名称将三张结构表分别与汇总表建立关系。选中现金流量表的项目名称拖入到汇总表里面的项目名称上面。可以看到这个模型关系从现金流量表到汇总表是一对多的关系。然后点击保存。用同样的方法将利润表结构表与汇总表建立模型关系资产负债表结构表和汇总表也建立模型关系。所有的模型关系建好之后是这个样子。现在有了三大报表的结构以及汇总的数据。现在我们要进行数据分析还需要什么注意看这里的所有项目都是按季度来的所以我们还需要一张日期表。现在需要单独创建一张日期表然后与汇总表的日期建立模型。日期表回到 power bi 的表格视图然后点击汇总表找到表工具当中的新建表。把下面这个公式复制一下。日期表 VAR min_dateMINX(ALL(汇总表),汇总表[日期]) VAR max_dateMAXX(ALL(汇总表),汇总表[日期]) RETURN ADDCOLUMNS( CALENDAR(min_date,max_date), 年度,YEAR([Date]), 月份,MONTH([Date]), 月份中文,MONTH([Date])月, 月份名称,FORMAT([Date],MMMM), 年度月份,FORMAT([Date],YYYYMM), 季度,QUARTER([Date]), 报表期间,SWITCH(QUARTER([Date]), 1,第一季度, 2,第二季度, 3,第三季度, 4,第四季度, 未知季度 ), 年季编号,(YEAR([Date])-YEAR(min_date))*4QUARTER([Date]), 年度季度,YEAR([Date])QQUARTER([Date]) )粘贴到新建表这里然后按回车新表就已经创建完成了。双击前面第一个列的列名 Date将其改为日期。现在回到模型视图发现这个日期表和汇总表并没有自动建立模型关系。我们手动建立一下。选中日期表道中的日期拖入到汇总表的日期上方。检查一下关系是从日期表到汇总表一对多的关系。没有任何问题然后点击保存。这样日期表和汇总表的模型关系就建立好了。这里有个细节日期表的日期字段它的旁边有个日历的图标。但是汇总表的日期就没有这个图标这个地方不用太紧张。因为日历图标真正影响的是【DAX 时间智能函数】TOTALYTD、SAMEPERIODLASTYEAR、DATEADD 等。不过为了确保字段类型没有问题还是要确认一下。现在来到表格视图看一下汇总表。选中日期这列可以看到它的类型是文本类型。需要手动改为日期类型改为日期之后就变成了年月日的形式。为了统一一下找到日期表把日期表里面的日期格式也改为日期都变成了年月日。都处理好之后现在回到模型视图给它刷新一下。最后发现这个汇总表仍然没有日历的图标。不过不用担心只要数据类型设置为【日期】普通筛选、切片器筛选完全正常不会出现筛选不到数据的情况。数据和表都处理成这个样子就可以了。以上就是本篇的全部内容下一篇正式开始进行财务数据的分析操作了。