本文介绍如何在阿里云费用中心使用SQL语句自定义分析账单。

日志服务提供账单数据和实例数据,用于账单分析。您可以在阿里云费用中心的自助分析页面中,执行SQL语句。具体操作,请参见自助分析阿里云账单
  • 账单数据的标识为source:bill,每个云产品在每个账单周期内产生一条记录。更多信息,请参见账单数据字段说明
  • 实例数据的标识为source:instance_bill。每个实例对应一条数据,包含实例的使用量、属性(TAG、NickName、名称等)、费用。更多信息,请参见实例数据字段说明

示例

您可以使用SQL语句自定义分析账单数据和实例数据。

示例1:查询目标账单

例如:在所有的账单中,获取SLS实例账单。

  • 查询和分析语句
    source:instance_bill and ProductCode:SLS
  • 查询和分析结果成本管家-账单-002

示例2:简单聚合

例如:获取总的账单费用。

  • 查询和分析语句
    source:instance_bill and ProductCode:SLS | SELECT sum(PretaxAmount)
  • 查询和分析结果自助分析

示例3:分组聚合

例如:获取每个Project的账单总额。

  • 查询和分析语句
    source :instance_bill
    AND ProductCode :SLS |
    SELECT
      InstanceID,
      sum(PretaxAmount) AS Amount
    GROUP BY
      InstanceID
    ORDER BY
      Amount DESC
  • 查询和分析结果成本管家-账单-004

示例4:同比和环比分析

例如:计算本月费用,同比上月的增长率。
  • 查询和分析语句
    source :bill |
    SELECT
      diff [1] AS "本月费用",
      diff [2] AS "上月费用",
      diff [3] * 100 -100 as "同比增加%"
    FROM (
        SELECT
          compare(amount, 604800) as diff
        FROM (
            SELECT
              sum(PretaxAmount) AS amount
            FROM log
          )
      )
  • 查询和分析结果自助分析

例如:按照产品,与上月进行同比分析。

  • 查询和分析语句
    source :bill |
    SELECT
      ProductCode,
      diff [1] AS "本月费用",
      diff [2] AS "上月费用",
      diff [3] * 100 -100 AS "同比增加%"
    FROM (
        SELECT
          productcode,
          compare(amount, 604800) AS diff
        FROM (
            SELECT
              ProductCode,
              sum(PretaxAmount) AS amount
            FROM log
            GROUP BY
              ProductCode
          )
        GROUP BY
          productcode
      )
  • 查询和分析结果自助分析

示例5:利用Tag做分账管理

目前多种产品支持Tag,您可以通过Tag完成分账。Tag中包含多个键值对,通过解析不同的键值对,计算每个键值对的费用。
  • 查询和分析语句
    source: instance_bill
    AND ecs |
    SELECT
      k,
      v,
      round(sum(PretaxAmount), 3) "金额"
    FROM (
        SELECT
          split_to_map(Tag, ';', ' ') AS tags,
          PretaxAmount
        FROM log
        WHERE
          tag <> ''
      ),
      unnest(tags) AS t(k, v)
    GROUP BY
      k,
      v
    ORDER BY
      "金额" DESC
    LIMIT
      1000
  • 查询和分析结果成本管家-账单-005

账单数据字段说明

名称 类型 说明
OwnerID String Account ID(多账号代付场景)
Item String 账单类型。包括:
  • SubscriptionOrder:预付费订单
  • PayAsYouGoBill:后付费账单
  • Refund:退款
  • Adjustment:调账
ProductCode String 产品代码
ProductName String 产品名称(英文)
ProductType String 产品类型
ProductDetail String 产品明细(英文)
SubscriptionType String 订阅类型。包括
  • Subscription:预付费
  • PayAsYouGo:后付费
PaymentTime String 订单支付时间
UsageStartTime String 账单开始时间
UsageEndTime String 账单结束时间
RecordID String 订单号、账单号
PretaxGrossAmount Double 原始金额
DeductedByCoupons Double 优惠券抵扣
InvoiceDiscount Double 优惠金额
RoundDownDiscount Double 抹零优惠
PretaxAmount Double 应付金额
DeductedByCashCoupons Double 优惠券抵扣
DeductedByPrepaidCard Double 储值卡抵扣
PaymentAmount Double 现金支付
OutstandingAmount Double 未结清金额
Currency String 币种。
Status String 支付状态。包括:
  • PayFinish:已支付
  • PayUnclear:未结清
  • PayUnsettle:未结算
  • NoSettle:免结算

实例数据字段说明

字段 说明 样例
BillingDate 账期 2020-03-06
BillingItem 计费项 PUT及其他类型请求次数
BillingType 计费方式 其它
CostUnit 财务单元 未分配
Currency 币种 CNY
DeductedByCashCoupons 优惠券抵扣 0.0
DeductedByCoupons 代金券优惠金额 0.0
DeductedByPrepaidCard 储值卡抵扣 0.0
DeductedByResourcePackage 资源包抵扣 0
InstanceConfig 实例详细配置
InstanceID 实例ID me-east-1%3Bstandard
InstanceSpec 实例规格
InternetIP 公网IP地址
IntranetIP 内网IP地址
InvoiceDiscount 优惠金额 0.001
Item 账单类型。包括:
  • SubscriptionOrder:预付费订单
  • PayAsYouGoBill:后付费账单
  • Refund:退款
  • Adjustment:调账
PayAsYouGoBill
ListPrice 单价 1.020000
ListPriceUnit 单价单位 /万次
NickName 实例昵称 test
OutstandingAmount 未结清金额 0.0
OwnerID Account ID 123***3212
PaymentAmount 现金支付 0.0
PretaxAmount 应付金额 0.0
PretaxGrossAmount 原始金额 0.005
ProductCode 产品代码 oss
ProductDetail 产品明细 对象存储OSS
ProductName 产品名称 对象存储
ProductType 产品类型
Region 地域 上海
ResourceGroup 资源组
ServicePeriod 服务周期 10800
SubscriptionType 订阅类型。包括
  • Subscription:预付费
  • PayAsYouGo:后付费
PayAsYouGo
Tag 标签
Usage 使用量 0.005000
UsageUnit 使用量单位 万次
Zone 可用区 cn-shanghai-b